The re-emergence of virtualization into mainstream computing in the current decade is necessitated to address concerns of server sprawl with low utilization and increasing TCO. The basic approach used for recent virtualization solutions has predominantly been software centric; trap and emulate or para-virtualize. Most of these technologies evolved on x86 platforms that were not designed for supporting virtualization. As adoption of virtualized platforms is increasing many platform enhancements have emerged to give some additional support to virtualization. Understandably these are predominantly post-facto or piece-meal approaches.
This work explores the virtualization stack, right from hardware to hypervisor or VMM design, GuestOS features and runtime environments to support end-to-end application guarantees. These efforts are directed at design space exploration for building systems that have inherent support for virtualization. Some efforts in this direction are: