DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Shared prefetching to reduce execution skew in multi-threaded systems

Abstract

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.

Inventors:
;
Issue Date:
Research Org.:
International Business Machines Corp., Armonk, NY (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1087835
Patent Number(s):
8490071
Application Number:
12/773,454
Assignee:
International Business Machines Corporation (Armonk, NY)
Patent Classifications (CPCs):
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
DOE Contract Number:  
B554331
Resource Type:
Patent
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Eichenberger, Alexandre E, and Gunnels, John A. Shared prefetching to reduce execution skew in multi-threaded systems. United States: N. p., 2013. Web.
Eichenberger, Alexandre E, & Gunnels, John A. Shared prefetching to reduce execution skew in multi-threaded systems. United States.
Eichenberger, Alexandre E, and Gunnels, John A. Tue . "Shared prefetching to reduce execution skew in multi-threaded systems". United States. https://www.osti.gov/servlets/purl/1087835.
@article{osti_1087835,
title = {Shared prefetching to reduce execution skew in multi-threaded systems},
author = {Eichenberger, Alexandre E and Gunnels, John A},
abstractNote = {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.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Tue Jul 16 00:00:00 EDT 2013},
month = {Tue Jul 16 00:00:00 EDT 2013}
}