Google Working On Open-Sourcing Their Fibers User-Space Scheduling Framework

Written by Michael Larabel in Google on 9 June 2021 at 06:45 PM EDT. 22 Comments
GOOGLE
For a number of years Google has developed Fibers (not to be confused with Google Fiber, their fiber Internet service) as a user-space scheduling framework. While it hasn't been open-source, the few public papers and talks on Google Fibers has been quite interesting for great performance and a novel design. Finally though Google is working towards open-sourcing Fibers and hoping to get the necessary Linux kernel modifications upstreamed.

Of the limited public information on Google Fibers, one of the main resources has been this Linux Plumbers Conference from all the way back in 2013:


Google has been developing and using this user-space scheduling framework now for nearly a decade and they are finally working on open-sourcing the framework. As part of that, they are initially working on their User-Managed Concurrency Groups (UMCG) kernel patches that are the kernel-side primitives for this work.

Google actually sent out the RFC patch series for UMCG back at the end of May but happened to not notice that series until today in some follow-up discussions.

The UMCG kernel code is summed up as "User Managed Concurrency Groups is a fast context switching and in-process userspace scheduling framework. Two main use cases are security sandboxes and userspace scheduling. Security sandboxes: fast X-process context switching will open up a bunch of light-weight security tools, e.g. gVisor, or Tor Project's Shadow simulator, to more use cases. In-process userspace scheduling is used extensively at Google to provide latency control and isolation guarantees for diverse workloads while maintaining high CPU utilization."

The UMCG build switch adds, "Enable UMCG core wait/wake/swap operations as well as UMCG group/server/worker API. The core API is useful for fast IPC and context switching, while the group/server/worker API, together with the core API, form the basis for an in-process M:N userspace scheduling framework implemented in lib/umcg."

It will be interesting to see how this UMCG / Google Fibers open-source effort plays out over the months ahead... Stay tuned.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week