DocumentCode :
3331160
Title :
Multi-threaded UPC runtime with network endpoints: Design alternatives and evaluation on multi-core architectures
Author :
Luo, Miao ; Jose, Jithin ; Sur, Sayantan ; Panda, Dhabaleswar K.
Author_Institution :
Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH, USA
fYear :
2011
fDate :
18-21 Dec. 2011
Firstpage :
1
Lastpage :
10
Abstract :
Multi-core architectures are becoming more and more popular in HEC (High End Computing) era. Recent trends of high-productivity computing in conjunction with advanced multi-core and network architectures have increased the interest in Global Address Space (PGAS) languages, due to its high-productivity feature and better applicability. Unified Parallel C (UPC) is an emerging PGAS language. In this paper, we compare different design alternatives for a high-performance and scalable UPC runtime on multi-core nodes, from several aspects: performance, portability, interoperability and support for irregular parallelism. Based on our analysis, we present a novel design of a multi-threaded UPC runtime that supports multi-endpoints. Our runtime is able to dramatically decrease network access contention resulting in 80% lower latency for fine-grained memget/memput operations and almost doubling the bandwidth for medium size messages, compared to multi-threaded Berkeley UPC Runtime. Furthermore, the multi-endpoint design opens up new doors for runtime optimizations - such as support for irregular parallelism. We utilize true network helper threads and load-balancing via work stealing in the runtime. Our evaluation with novel benchmarks shows that our runtime can achieve 90% of the peak efficiency, which is a factor of 1.3 times better than existing Berkeley UPC Runtime. To the best of our knowledge, this is the first work in which multi-network endpoint capable UPC runtime design is proposed for modern multi-core systems.
Keywords :
C language; multi-threading; multiprocessing systems; optimisation; parallel architectures; parallel languages; resource allocation; Berkeley UPC runtime; HEC; PGAS language; high end computing; load balancing; multi-network endpoint; multi-threading; multicore architectures; partitioned global address space; runtime optimization; unified parallel C; Electronics packaging; Instruction sets; Load management; Message systems; Optimization; Parallel processing; Runtime;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
High Performance Computing (HiPC), 2011 18th International Conference on
Conference_Location :
Bangalore
Print_ISBN :
978-1-4577-1951-6
Electronic_ISBN :
978-1-4577-1949-3
Type :
conf
DOI :
10.1109/HiPC.2011.6152734
Filename :
6152734
Link To Document :
بازگشت