Browsing by Author "Yang, Chaoran"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Function Shipping in a Scalable Parallel Programming Model(2012) Yang, Chaoran; Mellor-Crummey, JohnIncreasingly, a large number of scientific and technical applications exhibit dynamically generated parallelism or irregular data access patterns. These applications pose significant challenges to achieving scalable performance on large scale parallel systems. This thesis explores the advantages of using function shipping as a language level primitive to help simplify writing scalable irregular and dynamic parallel applications. Function shipping provides a mechanism to avoid exposing latency, by enabling users ship data and computation together to a remote worker for execution. In the context of the Coarray Fortran 2.0 Partitioned Global Address Space language, we implement function shipping and the finish synchronization construct, which ensures global completion of a set of shipped function instances. We demonstrate the usability and performance benefits of using function shipping with several benchmarks. Experiments on emerging supercomputers show that function shipping is useful and effective in achieving scalable performance with dynamic and irregular algorithms.Item Runtime Technologies of High Performance Parallel Computing(2016-12-02) Yang, Chaoran; Mellor-Crummey, JohnDue to power constraints, future growth in computing capability must explicitly leverage parallelism in software to effectively exploit hardware parallelism found in both distributed and shared memory systems. The past decades have seen vast improvements in the performance of key building blocks of parallel computing, including communication runtime systems, runtime schedulers, and concurrent data structures. In the pursuit of high performance, however, these building blocks compromise on other desirable properties such as applicability and interoperability. The applicability problem of a parallel algorithm restricts the range of environments to which it applies. The interoperability problem of a parallel library prohibits arbitrary inter- action between new parallel code with legacy or serial code, which poses an obstacle to incremental adoption of new parallel libraries. In this thesis, I investigate the issues of applicability and interoperability in three key building blocks of parallel computing—a communication runtime for a partitioned global address space languages, a work-stealing runtime scheduler, and a concurrent FIFO queue. I demonstrate that these high performance building blocks of parallel software can be made fully interoperable with legacy or serial code and applicable in a broader range of environments while yielding equal or better performance.