• 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