George Mason University
Statistics Colloquium Series
Special Tutorial/Seminar


Distributed Shared-memory Programming with UPC

Tarek El-Ghazawi


George Mason University


ABSTRACT

UPC, or the Unified Parallel C, is a parallel extension of ANSI C aimed at exploiting the ease of programming of the shared memory model, while enhancing performance. Therefore, UPC is developed around the distributed shared-memory programming model and among its features are constructs that can allow programmers to exploit memory locality. Such constructs facilitate the explicit control of data and work distribution among threads such that remote memory accesses are minimized. Thus, UPC maintains the original C language heritage of keeping programmers in control and close to hardware. Among the other advanced features offered by UPC are shared and private pointers into the shared and private address spaces, shared and private data, efficient synchronization mechanisms including non-blocking barriers and support for establishing different memory consistency models. Vendor's support to UPC is building up and some open source, as well as early vendor, compilers are now available. Initial benchmarking results show that UPC compares favorably to the current state of the art in parallel programming paradigms. Furthermore, a UPC research exhibit proposal was selected for display at the supercomputing conference to be held in Dallas in November of 2000. GMU along with NSA and high-end computing vendors are taking the lead into developing the specs, testing, and benchmarking for UPC. This one day tutorial will present the concepts, syntax, and application programming in UPC. Additional information can be found at http://hpc.gmu.edu/~upc.


Friday, September 15, 2000
Science and Technology Building I, Room 206
Tutorial begins at 10:45 a.m.
Refreshments at 10:30 a.m.
For the 2000 Fall Seminar Schedule, go to
www.science.gmu.edu/statseminars