Expressiveness, programmability and portable high performance of global address space languages

dc.contributor.advisorMellor-Crummey, John
dc.creatorDotsenko, Yuri
dc.date.accessioned2018-12-03T18:32:24Z
dc.date.available2018-12-03T18:32:24Z
dc.date.issued2007
dc.description.abstractThe Message Passing Interface (MPI) is the library-based programming model employed by most scalable parallel applications today; however, it is not easy to use. To simplify program development, Partitioned Global Address Space (PGAS) languages have emerged as promising alternatives to MPI. Co-array Fortran (CAF), Titanium, and Unified Parallel C are explicitly parallel single-program multiple-data languages that provide the abstraction of a global shared memory and enable programmers to use one-sided communication to access remote data. This thesis focuses on evaluating PGAS languages and explores new language features to simplify the development of high performance programs in CAF. To simplify program development, we explore extending CAF with abstractions for group, Cartesian, and graph communication topologies that we call co-spaces. The combination of co-spaces, textual barriers, and single values enables effective analysis and optimization of CAF programs. We present an algorithm for synchronization strength reduction (SSR), which replaces textual barriers with faster point-to-point synchronization. This optimization is both difficult and error-prone for developers to perform manually. SSR-optimized versions of Jacobi iteration and the NAS MG and CG benchmarks yield performance similar to that of our best hand-optimized variants and demonstrate significant improvement over their barrier-based counterparts. To simplify the development of codes that rely on producer-consumer communication, we explore extending CAF with multi-version variables (MVVs). MVVs increase programmer productivity by insulating application developers from the details of buffer management, communication, and synchronization. Sweep3D, NAS BT, and NAS SP codes expressed using MVVs are much simpler than the fastest hand-coded variants, and experiments show that they yield similar performance. To avoid exposing latency in distributed memory systems, we explore extending CAF with distributed multithreading (DMT) based on the concept of function shipping. Function shipping facilitates co-locating computation with data as well as executing several asynchronous activities in the remote and local memory. DMT uses co-subroutines/cofunctions to ship computation with either blocking or non-blocking semantics. A prototype implementation and experiments show that DMT simplifies development of parallel search algorithms and the performance of DMT-based RandomAccess exceeds that of the reference MPI implementation.
dc.format.extent342 pp
dc.identifier.callnoTHESIS COMP.SCI. 2007 DOTSENKO V.1
dc.identifier.citationDotsenko, Yuri. "Expressiveness, programmability and portable high performance of global address space languages." (2007) Diss., Rice University. <a href="https://hdl.handle.net/1911/103666">https://hdl.handle.net/1911/103666</a>.
dc.identifier.digital304817579
dc.identifier.urihttps://hdl.handle.net/1911/103666
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subjectComputer science
dc.subjectApplied sciences
dc.subjectDistributed multithreading
dc.subjectGlobal address space languages
dc.subjectParallel programming
dc.subjectProgrammability
dc.titleExpressiveness, programmability and portable high performance of global address space languages
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
304817579.pdf
Size:
8.45 MB
Format:
Adobe Portable Document Format