GCC Newspaper
OCTOBER 6, 2026
gcc/omp — Proposed

libgomp Optimizations for Cloud VMs

Progress report on libgomp optimizations for OpenMP execution in cloud VMs, involving eBPF, IVSHMEM, and new environment variables for scheduler guidance.

Roy Fru reports progress on optimizing libgomp for cloud VMs by integrating eBPF and IVSHMEM to monitor and guide OpenMP thread scheduling. This involves cleaning up TIDs, enabling host-guest communication for vCPU states, and introducing a new GOMP_WAIT_POLICY environment variable with a ‘pvsched’ option for paravirtualized barrier synchronization. The goal is to improve OpenMP performance in virtualized environments by reacting to phantom vCPUs.

In the Thread 1 participant
  1. Roy Fru proposer

    Details progress on libgomp optimizations for cloud VMs, including eBPF cleanup, IVSHMEM driver integration, and new environment variable support.

    “I added tests to verify the interaction between the modified libgomp and Phantom Track”

In Details

This progress report details enhancements to GCC's libgomp for OpenMP execution within cloud VMs. The work involves kernel-level eBPF programs and IVSHMEM drivers for host-guest communication, allowing the host to detect phantom vCPUs running OpenMP threads. A new GOMP_WAIT_POLICY=pvsched option aims to improve barrier synchronization by utilizing this information, reducing latency in paravirtualized environments.

For Context
libgomp
GCC's implementation of OpenMP, providing runtime support for parallel execution.
OpenMP
An API for supporting shared-memory parallel programming in C, C++, and Fortran.
eBPF
Extended Berkeley Packet Filter, a technology that allows safe, efficient execution of sandboxed programs in the Linux kernel.
IVSHMEM
Inter-Virtual Machine Shared Memory, a mechanism for efficient communication between virtual machines or between a guest and host.
vCPU
Virtual Central Processing Unit, a software-based emulation of a physical CPU core provided to a virtual machine.
Phantom vCPU
A virtual CPU that is not actively running on a physical core but is being tracked by the host for scheduling or performance analysis purposes.
Paravirtualization
A virtualization technique where the guest operating system is aware it's running in a virtualized environment and makes specific calls to the hypervisor for optimized performance.
Filed Under: OpenMPlibgompvirtualizationeBPFperformance