Unixism: Of consoles and blinking cursors

  • What kind of traffic does Hacker News generate?

    Every single post on this blog you’re now reading has done well on Hacker News. This generates a lot of back-links and also results in a lively discussion on the comments section from where I’ve learned a lot. Knowing that there is an audience for the stuff you write is a great feeling. One question…

  • io_uring By Example: An Article Series

    io_uring is a clever new, high-performance interface for asynchronous I/O for Linux without the drawbacks of the aio set of APIs. In this 3-part article series, we look at how to use io_uring to get the most common programming tasks done under Linux. We write a series of programs of increasing complexity to slowly but…

  • io_uring By Example: Part 3 – A Web Server with io_uring

    This article is a part of a series on io_uring Series introduction Part 1: Introduction to io_uring. In this article we create cat_uring based on the raw io_uring interface and cat_liburing, built on the higher level liburing. Part 2: Queuing multiple operations: We develop a file copying program, cp_liburing leveraging multiple requests with io_uring. Part…

  • io_uring By Example: Part 2 – Queuing multiple requests

    This article is a part of a series on io_uring Series introduction Part 1: Introduction to io_uring. In this article we create cat_uring based on the raw io_uring interface and cat_liburing, built on the higher level liburing. Part 2: This article. Part 3: A web server written using io_uring. In part 1, we saw how…

  • io_uring by example: Part 1 – Introduction

    This article is a part of a series on io_uring Series introduction Part 1: This article. Part 2: Queuing multiple operations: We develop a file copying program, cp_liburing leveraging multiple requests with io_uring. Part 3: A web server written using io_uring. Introduction Come to think about it, I/O, along with compute are the only two…

  • Sparkler: A KVM-based Virtual Machine Manager

    [Join the discussion on Hacker News here.] Serverless computing is quite the rage these days and AWS Lambda is on the forefront of this. A while ago, they released Firecracker, the engine behind Lambda. Unsurprisingly, it was based on Linux’s KVM (Kernel-based Virtual Machine) technology, but what was surprising was how it gave up the…

  • How AWS Firecracker works: a deep dive

    Anything that powers technology like AWS Lambda needs to be really fast. And it needs to be secure. While AWS could have gone with existing technology, to satisfy both these main requirements, they went with building something new, Firecracker, that is both really fast – it can boot Linux and start executing user space processes…

  • Linux Pressure Stall Information (PSI) by Example

    [Discuss this article and read other’s comments on the subject on this thread on Hacker News.] The three fundamental building blocks of computers, CPU, I/O and RAM can come under pressure due to contention and this is not uncommon. To both accurately size workloads and to increase hardware utilization, having information on how much pressure…

  • A Manager’s Guide to Kubernetes Adoption

    Discussion on Hacker News This article and its topic were the subject of fairly detailed discussion on this thread here on Hacker News. Perusing through the comments should be well worth your time, albeit you might emerge completely confused by the experience. And no–tech guys do not hate each other, we just have a wide-ranging…

  • Linux Applications Performance: Part VII: epoll Servers

    This chapter is part of a series of articles on Linux application performance. If you came here without reading the poll()-based implementation description All the explanation of how exactly we move from a process or thread-based model to an event based model is there in the poll()-based article. Without going through it, this article might…