Computer Science Colloquia
Thursday, May 1, 2014
Muhammad Nur Yanhaona
Advisor: Andrew Grimshaw
Attending Faculty: Kevin Skadron, Chair; Wes Weimer, Jack Davidson, and Mircea R. Stan (minor representative)
10:00 AM, Rice Hall, Rm. 242
Ph.D. Qualifying Exam Presentation
PCubeS Type Architecture and IT Programming Language
With the end of single-processor performance improvement; as the
development of parallel hardware is steadily growing, so is the need for
efficient ways of expressing and exploiting parallelisms in programs.
Unfortunately, after several decades of continuous research and
development of hundreds of parallel programming languages; the dominant
mechanism of parallelism remains to be low level threading or message
passing libraries attached to sequential language cores.
We are investigating an alternative parallel programming paradigm that strives to strike a balance between low-level, platform-specific programming such as in MPI, Pthreads, or CUDA; and high-level, hardware-agnostic language based approach such as in X10 or Chapel. The result is the IT programming language and PCubeS type architecture. IT is a language for high performance scientific computing where expression of parallelism in a program is inseparable from reasoning about the capabilities of its execution platform. PCubeS hardware facility description standard (or type architecture) lies at the heart of this reasoning process. PCubeS provides the ability to deal with different execution environments in a uniform way and, thereby, paves the way for portable, high performance without losing programmer's productivity.
This research attempts to establish PCubeS + IT combination as an interesting parallel programming paradigm that retains the readability, portability, learnability, etc. charms of high level while approximates the efficiency of low level programming techniques.