Associating energy consumption with a virtual machine
AssigneeInternational Business Machines Corporation
InventorsBishop Brock, Tilman Gloekler, Charles R. Lefurgy, Karthick Rajamani, Gregory S. Still, Malcolm S. Allen-Ware
Life of this patent
Estimating the term…
Abstract
Associating processor and processor core energy consumption with a task such as a virtual machine is disclosed. Various events cause a trace record to be written to a trace buffer for a processor. An identifier associated with a task using a processor core of the processor is read. In addition, one or more values associated with an energy consumption of the processor core are read. In response to the event, the one or more values associated with the energy consumption of the processor core and the identifier are written to the trace buffer memory.
Claims13
A computer program product for associating energy consumption with a task, the computer program product comprising:
- a computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:
- cause each of a plurality of processor cores to record, into a register of the processor core, a task identifier associated with a task to be executed on the processor core wherein a processor comprises the plurality of processor cores;
- in response to detection of a first event, cause those of the plurality of processor cores corresponding to the first event or executing a task corresponding to the first event to write energy consumption data of the processor core in association with the task identifier in the register of the processor core to a first memory shared by the plurality of process cores,
- wherein each of the plurality of processor cores has energy consumption data that indicates energy consumption by components associated with the processor core, and wherein the processor further comprises the first memory;
- periodically read the energy consumption data and associated task identifier from the first memory;
- aggregate the energy consumption data by task identifier;
- for each task identifier read from the first memory, write the aggregated energy consumption data to a second memory, wherein the second memory is external to the processor;
- detecting a signal from a hypervisor at a power state change register;
- and
- causing each of the plurality of processor cores to write additional energy consumption data of the processor core in association with the task identifier in the register associated with the processor core to the first memory shared by the plurality of processor cores.
An apparatus comprising:
- a processor comprising:
- a first memory;
- a plurality of chiplets, wherein each chiplet comprises:
- a processor core;
- a first register;
- a power proxy unit, the power proxy unit configured to:
- determine energy consumption data for the chiplet based, at least in part, on detection of a first event detected by one or more activity sense points on the processor;
- in response to detection of the first event:
- read an identifier from the first register, wherein the identifier is associated with task,
- write the energy consumption data of the processor core and the identifier to the first memory;
- and
- an energy management unit configured to:
- periodically, read the energy consumption data and associated identifiers from the first memory;
- aggregate the energy consumption data by the task identifiers;
- and
- for each identifier read from the first memory, write the aggregated energy consumption data and the identifier to a second memory to indicate energy consumption by task, wherein the second memory is external to the processor;
- and
- a hypervisor configured to transmit a signal to power state change register, the signal causing each of the plurality of processor cores to write additional energy consumption data of the processor core in association with the task identifier in the register associated with the processor core to the first memory shared by the plurality of processor cores.
An apparatus comprising:
- a processor, the processor having a plurality of processor cores and one or more memories, the one or more memories having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:
- cause each of the plurality of processor cores to record, into a register associated with the processor core, a task identifier associated with a task to be executed on the processor core;
- in response to detection of a first event, cause those of the plurality of processor cores corresponding to the first event or executing a task corresponding to the first event to write energy consumption data of the processor core in association with the task identifier in the register associated with the processor core to a first memory shared by the plurality of process cores,
- wherein each of the plurality of processor cores has energy consumption data that indicates energy consumption by components associated with the processor core, and wherein the processor further comprises the first memory;
- periodically, read the energy consumption data and associated task identifier from the first memory;
- aggregate the energy consumption data by task identifier;
- for each task identifier read from the first memory, write the aggregated energy consumption data to a second memory, wherein the second memory is external to the processor
- detect a signal from a hypervisor at a power state change register;
- and
- cause each of the plurality of processor cores to write additional energy consumption data of the processor core in association with the task identifier in the register associated with the processor core to the first memory shared by the plurality of processor cores.
Dependencies are inferred from the claim text.