Apr 2026
13 Mon
14 Tue
15 Wed
16 Thu
17 Fri
18 Sat 09:00 AM – 06:00 PM IST
19 Sun 09:00 AM – 06:00 PM IST
Abhinav Tripathi
Submitted Mar 9, 2026
Talk Description:
The session will be a deep dive into the internals of how the Tokio crate implements its multi-threaded scheduler using Rust’s low level primitives, the reactor using OS syscalls and the task state machine using atomic state transitions. It will cover my learnings from writing a multi -threaded asynchronous runtime using the MIO crate (the same crate that tokio uses).
I will uncover the layers that the Async infrastructure of Rust is built upon i.e Wakers, Pinning etc.
I will also be covering how to write parallel code in Rust using atomic operations like compare_exchange, fetch_add etc and how I have used those operations in the executor instead of wrapping everything into a Mutex.
If time permits, I will also speak on memory orderings and what makes them really difficult to get right.
Takeaway:
The session will help programmers built a thorough mental model of Async Rust so that they can picture the model while writing code thereby writing better code as a consequence of it and debug in a more efficient way.
The session will also teach programmers about low level concurrency in Rust and the tools that it provides to achieve it.
Audience:
The session is targeting an audience of developers who use Rust for systems programming, want to dive into the weeds of Async Rust and want to understand the tools it provides to achieve low latency and high throughput concurrency and parallelism.
Bio:
I am a student pursuing my Bachelors in Mathematics (Hons.) from Hansraj College, University of Delhi. I picked up systems programming on my own and have since then been spending a large portion of my time every day diving into the details of memory models, concurrency and parallelism and the Rust programming language, its type system and the infrastructure around it.
Hosted by
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}