Font Size: a A A

System Design for Heterogeneous Architectures

Posted on:2017-10-19Degree:Ph.DType:Dissertation
University:The University of Wisconsin - MadisonCandidate:Panneerselvam, SankaralingamFull Text:PDF
GTID:1478390014999431Subject:Computer Science
Abstract/Summary:
Heterogeneous architectures have been embraced widely in most computing environments. These designs are provisioned with compute units of different power-performance characteristics. In addition to providing better performance, heterogeneity can also improve the power and energy efficiency of the system.;There have been works to provide better support and improve the programmability of such architectures. However, most works have overlooked dynamic heterogeneity where the amount of heterogeneity as seen by the system can vary at runtime. This can be caused by various reasons such as scaling cores through resource aggregation in dynamic processors, performance variability due to sharing, inability to use compute units at full performance due to power constrains and faults in hardware resources.;In this dissertation, we present three systems targeting the different causes of dynamic heterogeneity.;First, we present Chameleon, an operating system (OS) extension to support dynamic processors that can scale CPU cores at runtime by pooling resources from neighboring cores. The techniques designed in Chameleon enable applications to reconfigure cores quickly based on their characteristics (sequential or parallel). The system also introduces solutions to balance the conflicting requirements of multiple applications.;In the second part, we discuss Rinnegan, a system spanning OS and user-mode runtime layers to target the problem of task placement in shared heterogeneous architectures. If accelerators are used by multiple applications, few can benefit by running on alternate compute units. The system combines per-application stand-alone performance information with system state such as accelerator waiting time to make better placement decisions.;The final part talks about Firestorm, an OS extension to support power-constrained architectures where compute units are over-provisioned in processors with respect to the power limit. The system introduces the notion of power and thermal awareness in operating systems to help the right set of applications to get their desired performance.;Our dissertation presents resource management techniques such as abstractions to hide complexities, interfaces for information exchange, mechanisms that enable better use of hardware features and policies to ensure fair use of heterogeneous resources. These techniques help OS to leverage future architectures and enable applications to achieve their goals in any heterogeneous environment.
Keywords/Search Tags:Architectures, Heterogeneous, System, Compute units, Applications, Performance, Power
Related items