User-level threads....... with threads.

This proposal has been accepted as a session.

Accepted Session
Microconference Session

One Line Summary

New Scheduler support allowing cooperative scheduling on top of a a 1:1 threading model.


Multi-threaded programming is hard. Synchronous interfaces can help,
but typically require lighter-weight representation of concurrency
than a thread to implement efficiently. Frustratingly, this leads to
a proliferation of both asynchronous and synchronous interfaces,
depending on the language used.

Over the past year we’ve been looking at how a uniform, performant,
synchronous programming model can be implemented across all of
Google’s core languages (C++, Java, Go, Python), while maintaining
compatibility with existing code.

In this talk I will discuss new kernel interfaces which allow the use
of regular threads in a co-operative fashion, with <200ns
context-switch times, and how new user-level primitives built on top of
this support.


performance, scalability, threading

Presentation Materials



Leave a private comment to organizers about this proposal