Font Size: a A A

Virtual Private Machines: A resource abstraction for multicore computer systems

Posted on:2010-10-17Degree:Ph.DType:Dissertation
University:The University of Wisconsin - MadisonCandidate:Nesbit, Kyle JFull Text:PDF
GTID:1448390002476824Subject:Engineering
Abstract/Summary:
Resource sharing is a common technique to improve the resource utilization of a computer system. If poorly managed, however, resource sharing can lead to unpredictable performance, which can violate applications' Quality of Service requirements. Traditionally, computer applications share resources at coarse granularities (e.g., complete processor(s) and physical memory pages), and conventional instruction set architecture features allow OS policies to manage sharing in order to ensure applications' performance requirements are satisfied. However, with the evolution toward single chip multicore hardware, threads can share fine-grained, microarchitecture hardware resources.;To efficiently satisfy the demands of future platforms, multicore systems should employ coordinated hardware/software microarchitecture resource management. Coordinated microarchitecture resource management requires a well-structured framework for building solutions that can be tailored to applications' specific requirements. Such a framework should be consistent with established system abstractions and provide a distinct separation between mechanisms and policies. A system's mechanisms should provide a universal set of workload independent resource management primitives, and a system's policies should provide workload dependent resource management solutions.;To this end, I introduce Virtual Private Machines (VPMs). The VPM abstraction acts as the interface between policies and mechanisms. A VPM consists of a complete set of virtual microarchitecture resources, where a virtual resource has both a microarchitectural component and a temporal component (time slices). By design, a VPM has the same performance characteristics as a real machine with an equivalent set of resources. VPM policies, implemented primarily in software, translate application performance objectives into VPM resource assignments, thereby managing system resources. Then, VPM mechanisms securely multiplex and arbitrate hardware resources to satisfy the VPM assignments.
Keywords/Search Tags:Resource, System, VPM, Computer, Virtual, Multicore, Mechanisms
Related items