Virtualization Overhead of Multithreading in X86 State-of-the-Art Remaining Challenges
Document Type
Article
Publication Date
10-1-2021
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.
Identifier
85102656732 (Scopus)
Publication Title
IEEE Transactions on Parallel and Distributed Systems
External Full Text Location
https://doi.org/10.1109/TPDS.2021.3064709
e-ISSN
15582183
ISSN
10459219
First Page
2557
Last Page
2570
Issue
10
Volume
32
Grant
V433819N
Fund Ref
National Science Foundation
Recommended Citation
Schildermans, Stijn; Shan, Jianchen; Aerts, Kris; Jackrel, Jason; and Ding, Xiaoning, "Virtualization Overhead of Multithreading in X86 State-of-the-Art Remaining Challenges" (2021). Faculty Publications. 3780.
https://digitalcommons.njit.edu/fac_pubs/3780