A challenge posed by future computer architectures is the efficient exploitation of their many and sometimes
heterogeneous computational cores. This challenge is exacerbated by the multiple facilities for data movement
and sharing across cores resident on such platforms. To answer the question of how systems software should treat heterogeneous
resources, this dissertation describes an approach that (1) creates a common manageable pool for all the
resources present in the platform, and then (2) provides virtual machines (VMs) with multiple `personalities',
flexibly mapped to and efficiently run on the heterogeneous underlying hardware. A VM's personality is its execution
context on the different types of available processing resources usable by the VM. We provide mechanisms for
making such platforms manageable and evaluate coordinated scheduling policies for mapping different VM personalities on
heterogeneous hardware.
Towards that end, this dissertation contributes technologies that include
(1) restructuring hypervisor and system functions to create high performance environments that enable flexibility
of execution and data sharing,
(2) scheduling and other resource management infrastructure for supporting diverse application needs and
heterogeneous platform characteristics, and
(3) hypervisor level policies to permit efficient and coordinated resource usage and sharing.
Experimental evaluations on multiple heterogeneous platforms, like one comprised of x86-based cores with attached
NVIDIA accelerators and others with asymmetric elements on chip,
demonstrate the utility of the approach and its ability to efficiently host diverse applications
and resource management methods.
Identifer | oai:union.ndltd.org:GATECH/oai:smartech.gatech.edu:1853/42750 |
Date | 24 August 2011 |
Creators | Gupta, Vishakha |
Publisher | Georgia Institute of Technology |
Source Sets | Georgia Tech Electronic Thesis and Dissertation Archive |
Detected Language | English |
Type | Dissertation |
Page generated in 0.0022 seconds