Scalable Task Parallel Programming in the Partitioned Global Address Space

James Dinan · OhioLink ETD Center (Ohio Library and Information Network) · 2010

Applications that exhibit irregular, dynamic, and unbalanced parallelism are growing in number and importance in the computational science and engineering communities.These applications span many domains including computational chemistry, physics, biology, and data mining.In such applications, the units of computation are often irregular in size and the availability of work may be depend on the dynamic, often recursive, behavior of the program.Because of these properties, it is challenging for these programs to achieve high levels of performance and scalability on modern high performance clusters.A new family of programming models, called the Partitioned Global Address Space (PGAS) family, provides the programmer with a global view of shared data and allows for asynchronous, one-sided access to data regardless of where it is physically stored.In this model, the global address space is distributed across the memories of multiple nodes and, for any given node, is partitioned into local patches that have high affinity and low access cost and remote patches that have a high access cost due to communication.The PGAS data model relaxes conventional two-sided communication semantics and allows the programmer to access remote data without the cooperation of the remote processor.Thus, this model is attractive for supporting irregular and dynamic applications on distributed memory clusters.However, in When I started graduate school, I was like most; I didn't know what I wanted to do, but I knew for certain that I would do it here.It was my good fortune to meet Saday and join his high performance computing research group.None of the work contained within this document would have been possible without his kind and patient mentorship.Saday introduced me to the fields of high performance and parallel computing and inspired me in the pursuit of these disciplines.Throughout my scholarly journey, he has encouraged me to pursue my interests as a researcher and he was always ready as an ardent supporter and skeptical reviewer when I needed each.The many wonderful and talented members of the OSU computer science department have made a lasting impression on me and have given direction to my studies and my research.This dissertation would not have been possible without the strong support of my committee members, Paul and Nasko, who have always encouraged me to see things differently and provided a diversity of opinion that has kept me well-rounded and given me a broader outlook on the field.One of the greatest challenges during my graduate career was teaching.Bruce Weide and Kathryn Reeves were daring enough to trust me with an undergraduate core class and Bettina Bair, along with many others, taught me how to teach, for which I will always be grateful.v During my time in graduate school, I was fortunate to pursue three internships.My first was at Cray Inc where Brad Chamberlain, Steve Deitz, and Mary Beth Hribar gave me a home away from home working on Chapel, an exciting new parallel programming language.Later I spent a winter at Pacific Northwest National Laboratory, where I had the pleasure of joining Sriram Krishnamoorthy and Jarek Nieplocha who helped to greatly accelerate the pace of this work through their many insightful and valuable contributions.Finally, I visited

Read the paper · More papers on PaperTik