Dynamic Adaptive Virtual Core Mapping to Improve Power, Energy, and Performance in Multi-Socket Multicores
Consider a multithreaded parallel application running inside a multicore virtual machine context that is itself hosted on a multi-socket multicore physical machine. How should the VMM map virtual cores to physical cores? The authors compare a local mapping, which compacts virtual cores to processor sockets, and an interleaved mapping, which spreads them over the sockets. Simply choosing between these two mappings exposes clear tradeoffs between performance, energy, and power. They then describe the design, implementation, and evaluation of a system that automatically and dynamically chooses between the two mappings.