Abstract:
PROBLEM TO BE SOLVED: To provide a method for efficiently check memory properties in a microprocessor system. SOLUTION: Attribute bits indicating that a program has recently checked that a block of memory is appropriate for the current portion of the program to access, indicating that the program has analyzed this block of memory by a performance monitoring tool, or having properties such as access right are included in a cache memory line, and correspond to only one software thread of the program having multisoftware threads. The attribute bits are used to check the memory state of an address used by the program. COPYRIGHT: (C)2007,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and apparatus for executing lock instructions speculatively in an out-of-order processor. SOLUTION: In one embodiment, a prediction is made whether a given lock instruction will actually be contended. If not, then the lock instruction may be treated as having a normal load micro-operation which may be speculatively executed. Monitor logic may look for indications that the lock instruction is actually contended. If no such indications are found, the speculative load micro-operation and other micro-operations corresponding to the lock instruction may retire. However, if such indications are in fact found, the lock instruction may be restarted, and the prediction mechanism may be updated. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method, device and system for performing comparison and exchange operation by using one sleep-wakeup mechanism. SOLUTION: According to one embodiment, one instruction in one process is executed to help acquire a lock on behalf of the processor. When the lock is unavailable to be acquired by the processor, the instruction is put to sleep until one event occurs. While the instruction is put to sleep, the memory system of the processor monitors the change of the lock value. When the lock value is tired to be changed, or the value is changed, the wakeup of the instruction put to sleep is triggered. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To improve bottlenecking of resources, waste of memory bandwidth, compute bandwidth, microarchitectural resources and power which are generated when waiting for lock of a share resource between processors (or threads) to become available. SOLUTION: A method, apparatus and system are provided for performing compare and exchange operations using a sleep-wakeup mechanism. According to one embodiment, an instruction at a processor is executed to help acquire a lock on behalf of the processor. If the lock is unavailable to be acquired by the processor, the instruction is put to sleep until an event has occurred. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
An apparatus and method is described herein for adaptive thread scheduling in a transactional memory environment. A number of conflicts in a thread over time are tracked. And if the conflicts exceed a threshold, the thread may be delayed (adaptively scheduled) to avoid conflicts between competing threads. Moreover, a more complex version may track a number of transaction aborts within a first thread that are caused by a second thread over a period, as well as a total number of transactions executed by the first thread over the period. From the tracking, a conflict ratio is determined for the first thread with regard to the second thread. And when the first thread is to be scheduled, it may be delayed if the second thread is running and the conflict ratio is over a conflict ratio threshold.
Abstract:
In one embodiment, the present invention includes a method for selecting a first transaction execution mode to begin a first transaction in a unbounded transactional memory (UTM) system having a plurality of transaction execution modes. These transaction execution modes include hardware modes to execute within a cache memory of a processor, a hardware assisted mode to execute using transactional hardware of the processor and a software buffer, and a software transactional memory (STM) mode to execute without the transactional hardware. The first transaction execution mode can be selected to be a highest performant of the hardware modes if no pending transaction is executing in the STM mode, otherwise a lower performant mode can be selected. Other embodiments are described and claimed.
Abstract:
A method and apparatus for accelerating transactional execution. Barriers associated with shared memory lines referenced by memory accesses within a transaction are only invoked/executed the first time the shared memory lines are accessed within a transaction. Hardware support, such as a transaction field/transaction bits, are provided to determine if an access is the first access to a shared memory line during a pendancy of a transaction. Additionally, in an aggressive operational mode version numbers representing versions of elements stored in shared memory lines are not stored and validated upon commitment to save on validation costs. Moreover, even in a cautious mode, that stores version numbers to enable validation, validation costs may not be incurred, if eviction of accessed shared memory lines do not occur during execution of the transaction.