Abstract:
Methods, systems, and apparatus for dynamic service level objective power control in a datacenter. In one aspect, a method includes determining a current service level value that measures a current performance of the service by a set of processing devices performing the service, the service having an associated service level objective value; and for each processing device: when the current service level value does not meet the service level objective value of the service, generating a first control signal that causes a processing device performing the service to operate at a first power consumption level; and when the current service level value does meet the service level objective value of the service, generating a control signal that cause the processing device to operate at a reduced power consumption level that is less than the first power consumption level.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for pre-fetching content. One of the systems includes a pre-fetcher configured to perform operations including determining, for a virtual machine executing on a device and using a first virtual machine physical address associated with the virtual machine, a second virtual machine physical address for data to pre-fetch for the execution of the virtual machine on the device, determining, using the second virtual machine physical address and an address mapping that associates virtual machine physical addresses for the virtual machine with device physical addresses for the device, a device physical address for the data, and requesting the data from a memory using the device physical address.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for pre-fetching data. The methods, systems, and apparatus include actions of providing a request for data to an input-output device and receiving a set of memory addresses for the requested data. Additional actions include determining a subset of the memory addresses, providing a request for a processor to pre-fetch or inject data corresponding to the subset of the memory addresses, and receiving the requested data and the set of memory addresses. Additional actions include determining that the received data includes data for the subset of memory addresses that has been requested to be pre-fetched or injected, storing the data for the subset of memory addresses in a cache of the processor, and storing remaining data of the received data for the memory addresses in a main memory.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching data not frequently accessed. One of the methods includes receiving a request for data from a component of a device, determining that the data satisfies an infrequency condition, in response to determining that the data satisfies the infrequency condition: determining a target cache level which defines a cache level within a cache level hierarchy of a particular cache at which to store infrequently accessed data, the target cache level being lower than a highest cache level in the cache level hierarchy, requesting and receiving the data from a memory that is not a cache of the device, and storing the data in a level of the particular cache that is at or below the target cache level in the cache level hierarchy, and providing the data to the component.
Abstract:
An example method includes during execution of a software application by a processor, receiving, by a copy processor separate from the processor, a request for an asynchronous data copy operation to copy data within a memory accessible by the copy processor, wherein the request is received from a copy manager accessible by the software application in a user space of an operating system managing execution of the software application; in response to the request, initiating, by the copy processor, the asynchronous data copy operation; continuing execution of the software application by the processor; determining, by the copy processor, that the asynchronous data copy operation has completed; and in response to determining that the asynchronous copy operation has completed, selectively notifying, by the copy processor, the software application that the asynchronous copy operation has completed.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching data not frequently accessed. One of the methods includes receiving a request for data from a component of a device, determining that the data satisfies an infrequency condition, in response to determining that the data satisfies the infrequency condition: determining a target cache level which defines a cache level within a cache level hierarchy of a particular cache at which to store infrequently accessed data, the target cache level being lower than a highest cache level in the cache level hierarchy, requesting and receiving the data from a memory that is not a cache of the device, and storing the data in a level of the particular cache that is at or below the target cache level in the cache level hierarchy, and providing the data to the component.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching data not frequently accessed. One of the methods includes receiving a request for data from a component of a device, determining that the data satisfies an infrequency condition, in response to determining that the data satisfies the infrequency condition: determining a target cache level which defines a cache level within a cache level hierarchy of a particular cache at which to store infrequently accessed data, the target cache level being lower than a highest cache level in the cache level hierarchy, requesting and receiving the data from a memory that is not a cache of the device, and storing the data in a level of the particular cache that is at or below the target cache level in the cache level hierarchy, and providing the data to the component.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for pre-fetching content. One of the systems includes a pre-fetcher configured to perform operations including determining, for a virtual machine executing on a device and using a first virtual machine physical address associated with the virtual machine, a second virtual machine physical address for data to pre-fetch for the execution of the virtual machine on the device, determining, using the second virtual machine physical address and an address mapping that associates virtual machine physical addresses for the virtual machine with device physical addresses for the device, a device physical address for the data, and requesting the data from a memory using the device physical address.