Shared prefetching to reduce execution skew in multi-threaded systems
Mechanisms are provided for optimizing code to perform prefetching of data into a shared memory of a computing device that is shared by a plurality of threads that execute on the computing device. A memory stream of a portion of code that is shared by the plurality of threads is identified. A set of prefetch instructions is distributed across the plurality of threads. Prefetch instructions are inserted into the instruction sequences of the plurality of threads such that each instruction sequence has a separate sub-portion of the set of prefetch instructions, thereby generating optimized code. Executable code is generated based on the optimized code and stored in a storage device. The executable code, when executed, performs the prefetches associated with the distributed set of prefetch instructions in a shared manner across the plurality of threads.
- Research Organization:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- B554331
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Number(s):
- 8,490,071
- Application Number:
- 12/773,454
- OSTI ID:
- 1087835
- Country of Publication:
- United States
- Language:
- English
Similar Records
The effectiveness of caches and data prefetch buffers in large-scale shared memory multiprocessors
Method and apparatus of parallel computing with simultaneously operating stream prefetching and list prefetching engines