A UPC Runtime System Based on MPI and POSIX Threads

  • Authors:
  • Zhang Zhang;Jeevan Savant;Steven Seidel

  • Affiliations:
  • Michigan Technological University, Houghton, MI;Michigan Technological University, Houghton, MI;Michigan Technological University, Houghton, MI

  • Venue:
  • PDP '06 Proceedings of the 14th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

MuPC is a portable runtime system for Unified Parallel C (UPC). A modified version of the EDG C/C++ front end translates the user's UPC program into C and turns UPC-specific language features into calls to MuPC runtime functions. MuPC implements each UPC thread (process) as two Pthreads, one for the user program and private memory accesses, and the other for remote memory accesses. Remote memory is accessed by two-sided MPI message passing. MuPC performance features include a runtime software cache for remote accesses and low latency access to shared memory with affinity to the issuing thread. MuPC is a useful platform for experimenting with current and future UPC language features and investigating UPC performance. This paper describes the internal design of MuPC and compares its performance to several other available platforms.