GCC Newspaper
OCTOBER 6, 2026
gcc — Proposed

Libgomp optimizations for scheduler-guided OpenMP execution

Roy Fru reports progress on optimizing libgomp for cloud VMs by replacing read operations with mmap, adopting USDT probes, and testing with NPB benchmarks.

Roy Fru provides a progress report on optimizing libgomp for OpenMP execution in cloud VMs. Key advancements include replacing read operations with mmap for IVSHMEM pages to avoid system calls, and transitioning from uprobe-based to USDT probes for more stable tracing. The integration has been tested with NPB benchmarks, and future work may involve a shared metadata section for VMs.

In Details

This report details progress on optimizing libgomp, the OpenMP runtime library within GCC. The work focuses on improving performance for OpenMP applications running in virtualized cloud environments, specifically leveraging IVSHMEM for inter-VM communication and USDT for stable tracing. The goal is to reduce overhead and enhance scalability for parallel workloads.

For Context
libgomp
The OpenMP runtime library for GCC. It manages thread creation, work-sharing constructs, and synchronization for OpenMP parallel regions.
IVSHMEM
Interrupt-vectoring shared memory, a mechanism for efficient inter-Virtual Machine (VM) communication. It allows VMs to share memory regions directly, bypassing hypervisor mediation for faster data exchange.
mmap
A system call that maps files or devices into memory. It allows a program to treat memory-mapped regions as if they were directly in its address space, enabling efficient I/O operations.
USDT probes
Userspace Statically Defined Tracing probes. These are markers embedded in user-space applications by developers to enable dynamic tracing by tools like eBPF, offering a stable interface for observing internal program behavior.
eBPF
Extended Berkeley Packet Filter. A technology that allows running sandboxed programs in the Linux kernel without changing kernel source code or loading modules. It's often used for networking, security, and tracing.
NPB
NAS Parallel Benchmarks. A suite of benchmark programs designed to evaluate the performance of parallel supercomputers, often used to test parallel programming libraries like OpenMP.
Filed Under: optimizationOpenMPlibgompvirtualizationtracing