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

This document is currently not available here.

Share

COinS