G06F2212/6042

DECREASING THE DATA HANDOFF INTERVAL IN A MULTIPROCESSOR DATA PROCESSING SYSTEM BASED ON AN EARLY INDICATION OF A SYSTEMWIDE COHERENCE RESPONSE

A multiprocessor data processing system includes multiple vertical cache hierarchies supporting a plurality of processor cores, a system memory, and a system interconnect coupled to the system memory and the multiple vertical cache hierarchies. A first cache memory in a first vertical cache hierarchy issues on the system interconnect a request for a target cache line. Responsive to the request and prior to receiving a systemwide coherence response for the request, the first cache memory receives from a second cache memory in a second vertical cache hierarchy by cache-to-cache intervention the target cache line and an early indication of the systemwide coherence response for the request. In response to the early indication of the systemwide coherence response and prior to receiving the systemwide coherence response, the first cache memory initiates processing to install the target cache line in the first cache memory.

DECREASING THE DATA HANDOFF INTERVAL FOR A RESERVED CACHE LINE BASED ON AN EARLY INDICATION OF A SYSTEMWIDE COHERENCE RESPONSE

A multiprocessor data processing system includes multiple vertical cache hierarchies supporting a plurality of processor cores, a system memory, and a system interconnect. In response to a load-and-reserve request from a first processor core, a first cache memory supporting the first processor core issues on the system interconnect a memory access request for a target cache line of the load-and-reserve request. Responsive to the memory access request and prior to receiving a systemwide coherence response for the memory access request, the first cache memory receives from a second cache memory in a second vertical cache hierarchy by cache-to-cache intervention the target cache line and an early indication of the systemwide coherence response for the memory access request. In response to the early indication and prior to receiving the systemwide coherence response, the first cache memory initiating processing to update the target cache line in the first cache memory.

Countering attacks on a cache
09785769 · 2017-10-10 · ·

In some examples of a virtual computing environment, multiple virtual machines may execute on a physical computing device while sharing the hardware components corresponding to the physical computing device. A hypervisor corresponding to the physical computing device may be configured to designate a portion of a cache to one of the virtual machines for storing data. The hypervisor may be further configured to identify hostile activities executed in the designated portion of cache and, further still, to implement security measures on those virtual machines on which the identified hostile activities are executed.

Translation entry invalidation in a multithreaded data processing system

In a multithreaded data processing system including a plurality of processor cores, storage-modifying requests, including a translation invalidation request of an initiating hardware thread, are received in a shared queue. The translation invalidation request is broadcast so that it is received and processed by the plurality of processor cores. In response to confirmation of the broadcast, the address translated by the translation entry is stored in a queue. Once the address is stored, the initiating processor core resumes dispatch of instructions within the initiating hardware thread. In response to a request from one of the plurality of processor cores, an effective address translated by a translation entry being invalidated is accessed in the queue. A synchronization request for the address is broadcast to ensure completion of processing of any translation invalidation request for the address.

Method for Managing Memory of Virtual Machine, Physical Host, PCIE Device and Configuration Method Thereof, and Migration Management Device
20170286149 · 2017-10-05 ·

A method for managing a memory of a virtual machine, a physical host, a PCIE device and a configuration method thereof are provided. The method executed by a virtual machine includes: allocating a memory to a service carried on a PCIE device, where the memory includes multiple memory blocks, the multiple memory blocks is used to save working information of the service; generating a base address table BAT and a chip logic address table CLAT, where the BAT includes a CLAT entry base address corresponding to the service, and the CLAT includes a first address of each memory block; and sending an address of the BAT and a function number corresponding to the virtual machine to the PCIE device. Therefore, the PCIE device can obtain, according to the address of the BAT and the function number, working information of a service from the virtual machine.

Hybrid replacement policy in a multilevel cache memory hierarchy

A data processing system includes an upper level cache memory and a lower level cache memory employing different replacement policies. The lower level cache memory provides a respective one of a plurality of counters for each of a plurality of cache lines in a particular congruence class. The lower level cache memory initializes a counter value for a cache line in the particular congruence class that was castout from the upper level cache memory based on an indication of whether the cache line was accessed in the upper level cache memory following installation in the upper level cache memory. The lower level cache memory selects a victim cache line from among the plurality of cache lines in the particular congruence class for eviction from the lower level cache memory by reference to counter values of the plurality of counters.

Partitioning TLB or cache allocation
11243892 · 2022-02-08 · ·

A request for data from a cache (TLB or data/instruction cache) specifies a partition identifier allocated to a software execution environment associated with the request. Allocation of data to the cache is controlled based on a set of configuration information selected based on the partition identifier specified by the request. For a TLB, this allows different allocation policies to be used for requests associated with different software execution environments. In one example, the cache allocation is controlled based on an allocation threshold specified by the selected set of configuration information, which limits the maximum number of cache entries allowed to be allocated with data associated with the corresponding partition identifier.

Methods and apparatus to use an access triggered computer architecture

A method for using an access triggered architecture for a computer implemented application is provided. The method receives a set of data at a designated functional block associated with a system memory location; performs an operation at the designated functional block, using the set of data, to generate a result, wherein the operation is performed each time information is received at the designated functional block; and returns the generated result to the system memory location.

Migrating workloads across host computing systems based on remote cache content usage characteristics

Techniques for migrating workloads across host computing systems in a virtual computing environment are described. In one embodiment, a workload executing on a first host computing system that accesses contents cached in a cache of a second host computing system via a remote memory channel for a predetermined number of times is identified. Further, migration of the identified workload to the second host computing system is recommended, thereby allowing the identified workload to access the contents from the second host computing system after migration in accordance with the recommendation.

Secure support for I/O in software cryptoprocessor

Methods and systems for securing sensitive data from security risks associated with direct memory access (“DMA”) by input/output (“I/O”) devices are provided. An enhanced software cryptoprocessor system secures sensitive data using various techniques, including (1) protecting sensitive data by preventing DMA by an I/O device to the portion of the cache that stores the sensitive data, (2) protecting device data by preventing cross-device access to device data using DMA isolation, and (3) protecting the cache by preventing the pessimistic eviction of cache lines on DMA writes to main memory.