Towards Optimized UPC Implementations


Prof. Tarek El-Ghazawi
The George Washington University, Washington D.C., USA

Tuesday, February 22, 2005
1:00PM-2:00PM California Time
4:00PM-5:00PM New York Time
9:00PM-10:00PM UK Time
10:00PM-11:00PM Central Europe Time
11:00PM-12:00AM Eastern Europe Time
6:00AM-7:00AM Tokyo Time, February 23
7:30AM-8:30AM Adelaide/Australia Time, February 23
8:00AM-9:00AM Melbourne/Australia Time, February 23

UPC, or Unified Parallel C, is a parallel extension of ISO C. UPC follows the Partitioned Global Address Space (PGAS) programming model, which is aimed at leveraging the ease of programming of the shared memory paradigm, while enabling the exploitation of data locality. To this end, UPC incorporates constructs that allow placing data near the threads that manipulate them to minimize remote accesses. UPC, therefore, combines the strengths of the shared memory and the message passing models. Through our experimental studies we have shown that UPC is quite productive in terms of code size and code complexity, when it is compared with other paradigms. We have also shown that optimized UPC codes can have comparable performance to other paradigms in the general case, and can exhibit superior performance in applications that require short random accesses. In this talk, I will outline the major optimizations that can be incorporated into UPC compilers, and assess their impact on performance.

I close the talk by briefly discussing other research initiatives at the high-performance computing laboratory in The George Washington University. In particular, I overview some of our initiatives in the area of reconfigurable high-performance computing systems, where our research has been enabled by some of the unique machines from SRC, SGI, Starbrige and others.

Slides (Powerpoint, 1.26MB)