RSSAmplifier

Blog

Alex Saveau

https://alexsaveau.dev

alexsaveau.devRSS feed ↗3 posts

Latest posts

The need for new instructions: atomic bit fill and drain

In the previous article, I proposed a new lockless channel architecture based on two bit vectors. One is used to reserve access to a memory region, the other to commit changes. I showed promising theoretical performance improvements: whereas existing architectures pay the cost of linearizability without clients being able to take advantage of such consistency, lockless bags allow each element in…

Your MPSC/SPMC/MPMC queue is not a queue

Lockless queues let multiple cores communicate with each other without mutexes, typically to move work around for parallel processing. They come in four variants: {single,multi}-producer {single,multi}-consumer. A producer gives data to a consumer, each of which can be limited to a single thread (i.e. a single-{producer,consumer}) or shared across multiple threads. But only the single-producer…

Generalizing over mutability in Rust

You’ve seen us generalize over buffer types, now let’s generalize over buffer mutability!