DARTS: a runtime based on the Codelet execution model

dc.contributor.authorSuetterlein, Joshua
dc.date.accessioned2015-03-16T14:41:06Z
dc.date.available2015-03-16T14:41:06Z
dc.date.issued2014
dc.description.abstractOver the past decade computer architectures have drastically evolved to circumnavigate prevailing physical limitations in chip technology. Energy consumption and heat expenditure have become the predominant concerns for architects and chip manufacturers. Previously anticipated trends such as frequency scaling, deep execution pipelines, and fully consistent caches in future many-core systems have been deemed unsustainable. Current architectures are exhibiting new trends including simpler pipelines, lower frequencies, and scratch pad memories. Moreover, these architectures have an ever increasing number of cores. Many predict future architectures to contain thousands of heterogeneous cores on a single die. With these radical shifts in architectures, current execution models are struggling to adequately scale in performance and newer metrics like energy consumption. The shortcomings of current models have caused some to look back to fine-grained execution models designed for parallelism like dataflow and EARTH. Using these models as inspiration, the Codelet execution model is an event-driven, fine-grained model designed to exploit parallelism while providing efficient mechanism for locality. In the following, we present the Delaware Asynchronous RunTime System (DARTS), an implementation of the Codelet model. DARTS is a faithful implementation of the Codelet model, providing a vehicle to reason and further develop codelet ideas. It provides two levels of parallelism, event-driven codelets permitting fine-grained parallelism and invoked threaded procedures which ensures locality. Furthermore, the DARTS runtime is built on a reconfigurable abstract machine allowing DARTS to provide performance portability across both architectures and applications. In addition, we provide an in depth analysis of DARTS and its underlying model running on off-the-shelf hardware. Utilizing two x86 machines (both Intel and AMD), we explore the overheads of the codelet model and its implementation using micro benchmarks. Furthermore, we demonstrate DARTS' performance for two benchmarks, matrix multiply and breadth first search. Leveraging these results, we aim to establish the Codelet model as a promising execution model for future many-core architectures via an efficient and well-designed runtime.en_US
dc.description.advisorGao, Guang R.
dc.description.degreeM.E.E.
dc.description.departmentUniversity of Delaware, Department of Electrical and Computer Engineering
dc.identifier.doihttps://doi.org/10.58088/q9k8-0677
dc.identifier.unique904960425
dc.identifier.urihttp://udspace.udel.edu/handle/19716/16695
dc.publisherUniversity of Delawareen_US
dc.relation.urihttp://search.proquest.com/docview/1617469799?accountid=10457
dc.subject.lcshComputer systems.
dc.subject.lcshComputer architecture.
dc.subject.lcshParallel processing (Electronic computers)
dc.titleDARTS: a runtime based on the Codelet execution modelen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2014_Suetterlein_Joshua_MEE.pdf
Size:
2.96 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.22 KB
Format:
Item-specific license agreed upon to submission
Description: