Virtualization Overhead of Multithreading in X86 State-of-the-Art Remaining Challenges

Stijn Schildermans, Jianchen Shan, Kris Aerts, Jason Jackrel, Xiaoning Ding

Research output: Contribution to journalArticlepeer-review

Abstract

Despite great advancements in hardware-assisted virtualization of the x86 architecture, certain workloads still suffer significant overhead. This article dissects said overhead in the context of multi-threading. We describe the state-of-the-art, pinpoint challenges, and suggest improvements, aiming to provide a valuable reference to developers and users of virtualization systems alike. We study the virtualization overhead of the PARSEC and SPLASH2X multithreaded benchmarks in a variety of scenarios using a state-of-the-art system. Through controlled experiments, source code analysis and literature review, we quantify the virtualization overhead multithreading still induces and link it to its root causes, after which we suggest possible mitigation strategies. Multithreading still induces high virtualization overhead, mainly caused by synchronization, spinning at user level and NUMA management. The overhead is diverse in nature and embodiment as it is a function of many system and workload properties. System-level solutions are feasible, but often imply difficult trade-offs. Systematic workload optimization is a promising alternative.

Original languageEnglish (US)
Article number9373922
Pages (from-to)2557-2570
Number of pages14
JournalIEEE Transactions on Parallel and Distributed Systems
Volume32
Issue number10
DOIs
StatePublished - Oct 1 2021

All Science Journal Classification (ASJC) codes

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Keywords

  • Multi-threading
  • classification
  • guidelines
  • overhead
  • performance
  • virtualization

Fingerprint

Dive into the research topics of 'Virtualization Overhead of Multithreading in X86 State-of-the-Art Remaining Challenges'. Together they form a unique fingerprint.

Cite this