DocumentCode :
2484981
Title :
Multi-threaded library for many-core systems
Author :
Porterfield, Allan ; Nassar, Nassib ; Fowler, Rob
Author_Institution :
Renaissance Comput. Inst. (RENCI), Chapel Hill, NC, USA
fYear :
2009
fDate :
23-29 May 2009
Firstpage :
1
Lastpage :
8
Abstract :
MAESTRO is a prototype runtime designed to provide simple, very light threads and synchronization between those threads on modern commodity (times86) hardware. The MAESTRO threading library is designed to be a target for a high-level language compiler or source-to-source translator, not for user-level programming. It provides parallel programming environments with a straight forward hardware model which can be mapped to available hardware dynamically. MAESTRO separates the size of the hardware system being used from the amount of parallelism available in an application. By separating the problem of locating parallelism from the problem of effectively using parallelism, both problems can be made easier. To the extent possible, the programming environment should be responsible for finding parallelism and the runtime should manage resource allocation and assignment. Parallel regions and parallel loops are implemented. Several simple benchmarks have been ported from OpenMP to use the MAESTRO threading interface. Two synchronization mechanisms have been implemented, one for general synchronization and one for producer-consumer relationships. We have started building a level of ´virtualization´ between the programming environment and the actual hardware, which will allow better hardware utilization and support new parallel programming languages.
Keywords :
multi-threading; multiprocessing systems; resource allocation; MAESTRO threading interface; MAESTRO threading library; hardware model; hardware system; hardware utilization; high level language compiler; many-core systems; modern commodity hardware; multi-threaded library; parallel programming environment; parallel programming languages; parallelism; producer-consumer relationships; resource allocation; source-to-source translator; synchronization mechanism; virtualization; Hardware; High level languages; Libraries; Parallel programming; Program processors; Programming environments; Prototypes; Resource management; Runtime; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on
Conference_Location :
Rome
ISSN :
1530-2075
Print_ISBN :
978-1-4244-3751-1
Electronic_ISBN :
1530-2075
Type :
conf
DOI :
10.1109/IPDPS.2009.5161104
Filename :
5161104
Link To Document :
بازگشت