Building a database buffer pool in Zig using io_uring's new fixed-buffer mode
In this post, we will explore how to build a high-performance database buffer pool in Zig using io_uring's new fixed-buffer mode.
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
In this post, we will explore how to build a high-performance database buffer pool in Zig using io_uring's new fixed-buffer mode.
Trying to figure out how KVM-based virtual machine hosts work by implementing one from scratch.
opensnoop in pure C using eBPF
Over lunch last week Mikhail Naganov (creator of the DevTools Heap Profiler ) and I were discussing how invaluable it has been to have the ...
Running processes in isolated network namespaces
Asynchronous IO (also known as "non-blocking IO") is a technique applications use to allow performing of many IO operations without blocking the calling OS thread, and without needing to spawn many threads (i.e. one thread per operation). In the late 1990s/early 2000s, an increasing amount of people using the internet…
My talk should be on in about an hour and a half from when I post this. A possible next evolutionary step for computers is persistent memory: large capacity non-volatile main memory. With a few terabytes of nonvolatile RAM, who needs an SSD any more? I will sketch out a proposal for how to…
Philosophy - Sciences - Geekery - Art - Life - Coaching - Fun < Simplify Everything
In this article, we provide a holistic view of the Portable Operating System Interface (POSIX) abstractions by a systematic review of their historical evolution. We discuss some of the key factors that drove the evolution and identify the pitfalls that make them infeasible when building modern applications.
Minimodem can play and capture audio modem tones in real-time via the system audio device, or in batched mode via audio files.
How to make 768 distinct Postgres servers look like 1 to your applications.
This essay explores the connection between Erlang's process supervision, state management and durable execution.
Still not really about LAPACK. It's a second part of the “outperforming” series explaining how the C++ metaprogramming can appear useful for efficient code generation.
Achieving 100 Gbps intrusion prevention on a single server, Zhao et al., OSDI’20 Papers-we-love is hosting a mini-event this Wednesday (18th) where I’ll be leading a panel discussion including one …
Did you think that OpenBSD is suitable only for firewalls and high-security servers? Think again. Here are my steps to transform a modern m...
SupportBee's support ticket system enables teams to organize, prioritize and collaborate on customer support emails.
Making programs slower can be useful to find...
Now that we can launch cloud-based compute and storage resources with a couple of clicks, the challenge is to use these resources to go from raw data to actionable results as quickly and efficiently as possible. Amazon Redshift allows AWS customers to build petabyte-scale data warehouses that unify data from a variety…
This is the fastest Arm desktop in the world, yes, even faster than the M2 Ultra Mac Pro. And today, I made it even faster. I upgraded everything: Faster RAM, 128 core CPU, 40 series GPU, I did it all, and we'll see how much we can obliterate the M2 Mac Pro. 128 cores—that's five times more cores, I'm also going to…
Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray I’ve been adding more integration tests for Fray recently. To ensure Fray can handle different scenarios, I wrote many creative test cases. Many of them passed as expected, while some failures led to epic fixes in Fray. Then something…
Recently, I had an opportunity to build a WireGuard jail on a FreeBSD 12.1 host. As it was really quick and easy to setup and it has been working completely fine for a month, I’d like to share my experience with anyone interested in this topic. I would like to use WireGuard app on my Android phone to access my home…
Text-to-speech systems across the industry typically rely on GPUs or specialized hardware to generate state-of-the-art speech in real-time production. We solved core efficiency challenges to process one second of audio in 500 milliseconds — using only CPUs.
… and seL4 and RISC-V Foundations form an alliance In June 2020 we announced that the seL4 microkernel, the world’s first operating system (OS) kernel with a machine-checked proof of implemen…
The default timer resolution on Windows is 15.6 ms – a timer interrupt 64 times a second. When programs increase the timer frequency they increase power consumption and harm battery life. They also…
Elixir was built on Erlang. Erlang was built to provide "consistently low latency" and a few other audacious goals. Note, this is not a hard realtime constraint. It is soft, squishy and yet, important and real. It makes Erlang unusually suitable to systems where latency matters and where a near-realtime experience is…
A lightweight in-process SQL OLAP engine, powered by ClickHouse.
If you like the series, check out my book on Database Internals!