arXiv Open Access 2025

VLCs: Managing Parallelism with Virtualized Libraries

Yineng Yan William Ruys Hochan Lee Ian Henriksen Arthur Peters +9 lainnya
Lihat Sumber

Abstrak

As the complexity and scale of modern parallel machines continue to grow, programmers increasingly rely on composition of software libraries to encapsulate and exploit parallelism. However, many libraries are not designed with composition in mind and assume they have exclusive access to all resources. Using such libraries concurrently can result in contention and degraded performance. Prior solutions involve modifying the libraries or the OS, which is often infeasible. We propose Virtual Library Contexts (VLCs), which are process subunits that encapsulate sets of libraries and associated resource allocations. VLCs control the resource utilization of these libraries without modifying library code. This enables the user to partition resources between libraries to prevent contention, or load multiple copies of the same library to allow parallel execution of otherwise thread-unsafe code within the same process. In this paper, we describe and evaluate C++ and Python prototypes of VLCs. Experiments show VLCs enable a speedup up to 2.85x on benchmarks including applications using OpenMP, OpenBLAS, and LibTorch.

Topik & Kata Kunci

Penulis (14)

Y

Yineng Yan

W

William Ruys

H

Hochan Lee

I

Ian Henriksen

A

Arthur Peters

S

Sean Stephens

B

Bozhi You

H

Henrique Fingler

M

Martin Burtscher

M

Milos Gligoric

K

Keshav Pingali

M

Mattan Erez

G

George Biros

C

Christopher J. Rossbach

Format Sitasi

Yan, Y., Ruys, W., Lee, H., Henriksen, I., Peters, A., Stephens, S. et al. (2025). VLCs: Managing Parallelism with Virtualized Libraries. https://arxiv.org/abs/2512.04320

Akses Cepat

Lihat di Sumber
Informasi Jurnal
Tahun Terbit
2025
Bahasa
en
Sumber Database
arXiv
Akses
Open Access ✓