A Programming Paradigm for Building Disaggregated Applications for the Heterogeneous Computing Environment
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
Abstract
With the rise of cloud computing, many applications have transitioned to the cloud. However, various domain-specific tasks require specialized hardware to expedite computation, rather than relying solely on CPUs. This has transformed the cloud into a heterogeneous computing environment, composed of a variety of domain-specific specialized accelerators. Examples include GPUs for image classification and video processing, TPUs for artificial intelligence and machine learning tasks, and ASICs for blockchain mining. There are also specialized hardware pieces, such as smartNICs and smartSSDs, which can unlock more of the underlying hardware’s potential.Nonetheless, the existing programming paradigm for applications is CPU-centric, meaning that specialized hardware is bound to a CPU host rather than being a first- class programmable abstraction. This can cause issues such as restricted scalability of accelerators on a single host, increased system complexity when managing multiple nodes, among other problems. In this dissertation, we propose a programming paradigm that consists of actors and shared logs to provide a resource-egalitarian abstraction, simplifying the development of applications within a heterogeneous computing environment. We present two frame- works following this programming paradigm to assist application developers in build- ing applications in both a partitioned network IoT context and a resource-disaggregated cloud context.
Journal / Series
Volume & Issue
Description
Sponsorship
Date Issued
Publisher
Keywords
Location
Effective Date
Expiration Date
Sector
Employer
Union
Union Local
NAICS
Number of Workers
Committee Chair
Committee Co-Chair
Committee Member
Weatherspoon, Hakim