AuthorLowenthal, David K., 1968-
AdvisorAndrews, Gregory R.
MetadataShow full item record
PublisherThe University of Arizona.
RightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
AbstractWhile parallel programming is needed to solve large-scale scientific applications, it is more difficult than sequential programming. Programming parallel machines requires specifying what can execute concurrently, when and how processes communicate, and how data is placed in the memories of the processors. The challenge is to address these issues simply, portably, and efficiently. This dissertation presents the Filaments package, which provides fine-grain parallelism and a shared-memory programming model and makes extensive use of run-time decisions. Fine-grain parallelism and a shared-memory programming model simplify parallel programs by allowing the programmer or compiler to concentrate on the application and not the architecture of the target machine. This dissertation shows that this simpler programming model can be implemented with low overhead. Determining the best data placement at run time frees the programmer or compiler from this task and allows the placement to adapt to the particular application. The dissertation discusses the implementation of Adapt, a run-time data placement system, and compare its performance to static placements on three classes of applications. The performance of programs using Adapt is better than those using static data placements on adaptive applications such as particle simulation.
Degree ProgramGraduate College