Sarkar, Vivek2019-05-162019-05-162017-082017-08-10August 201Vrvilo, Nick. "Enhanced Data and Task Abstractions for Extreme-scale Runtime Systems." (2017) Diss., Rice University. <a href="https://hdl.handle.net/1911/105497">https://hdl.handle.net/1911/105497</a>.https://hdl.handle.net/1911/105497Recently, we’ve seen a variety of emerging programming models targeting the next generation of HPC hardware, known as extreme-scale computing systems. Extreme-scale runtime systems need to address not only the problems presented by supporting new hardware, but also issues of scalability—whether in small-scale embedded environments or large-scale supercomputing clusters. While a runtime may present all of the necessary functionality to write software for an extreme-scale system, the runtime APIs are rarely a productive interface for application programmers. In this thesis, we present a set of abstractions, which are designed to be implemented on top of an extreme-scale runtime, that will increase programmability and productivity for software developers. These ab-stractions include support for blocking calls in a fine-grained task-based runtime, a data structure representation for relocatable data chunks, and a hierarchical model for design and analysis of macro-dataflow applications. We discuss and demonstrate the tradeoffs among implementation choices for these abstractions, since the specific hardware and soft- ware details of an application deployment may dictate the ideal method of implementing a given abstraction.application/pdfengCopyright 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.exascale computingextreme-scale computingopen community runtimeconcurrent collectionsEnhanced Data and Task Abstractions for Extreme-scale Runtime SystemsThesis2019-05-16