Towards Heterogeneous Systems: A Full-Stack Approach
- Wang, Zixuan
- Advisor(s): Zhao, Jishen
Abstract
Heterogeneous systems emerge to enhance application performance by distributing tasks across various domain-specific accelerators and memory devices. However, adopting such systems often results in unanticipated performance characteristics in modern workloads, unforeseen vulnerabilities introduced by new architecture designs, and programming challenges utilizing novel architectures.
This dissertation explores a cross-stack approach to building heterogeneous systems. We start from the architecture level, studying the performance characteristics of emerging heterogeneous memory architectures. This led to our system-level study integrating diverse types of memory devices at a large scale, which facilitates efficient training of large machine learning models. These explorations revealed vulnerabilities in emerging memory architectures and led to our development of architectural side-channel attacks and cross-stack defenses to secure heterogeneous systems. Finally, to facilitate the adoption of heterogeneous systems, we proposed a novel programming model that provides a unified interface for heterogeneous computing.