The Backend Engineering Show with Hussein Nasser

Hussein Nasser

Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own. Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering Buy me a coffee https://www.buymeacoffee.com/hnasr 🧑‍🏫 Courses I Teach https://husseinnasser.com/courses

  • 46 minutes 39 seconds
    Page Tables


    Page tables provide the mapping between virtual memory and physical memory for each process. This means it needs to be as efficient and as fast as possible. I explore the inner workings of page tables in this episode.


    • 0:00 Intro
    • 2:00 Virtual Memory

    ⁃ ⁃ 8:00 MMU

    • 10:00 Page Tables

    ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ 11:30 Single Table Byte Addressability  

    ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ 16:00 Single Table Page addressability 

    ⁃ ⁃ ⁃ ⁃ ⁃ 19:00 Multi-level Paging (Radix tree)

    ⁃ ⁃ 31:00 Huge Tables

    ⁃ ⁃ 33:00 TLB

    ⁃ ⁃ Summary


    15 December 2025, 3:10 pm
  • 48 minutes 37 seconds
    CPU and Kernel Page Faults

    Page faults occurs when the process tries to access a memory that isn’t backed by a physical page kernel raises a fault which loads a page. It happens on first access, stack expansion, COW, swap and much more. However it comes with a cost. 


    In this episode of the backend engineering show I dissect the need and the cost page faults in the kernel. 


    • 0:00 Intro 
    • 4:00 Virtual memory
      • Abstraction of physical memory
      • Memory sharing
      • Allow more processes to run , unused go to disk
      • Numa, kernel can place memory near the cpu
    • 12:00 VMA areas
      • Text/code 
      • Data 
      • BSS
      • Heap
      • Stack
    • 19:50 Kernel mode
    • 25:30 What is a Page fault?
    • 30:30 First access page fault
    • 33:00 Stack Expansion page fault
    • 34:30 CoW page fault
    • 38:00 Swap page fault
    • 39:39 File backed page fault
    • 40:29 Permission page fault 
    • 45:30 Summary



    24 November 2025, 3:05 pm
  • 24 minutes 26 seconds
    Amazon US-EAST-1 Outage in Details

    On October 19 2025 AWS experienced an outage that lasted over a day, 10 days later we finally got the root cause analysis and we know exactly what caused the DNS to fail0:00 Summary 5:30 How did Dynamo lost its DNS?13:41 EC2 Errors 16:16 Network Load Balancer ErrorsRCA here https://aws.amazon.com/message/101925/

    31 October 2025, 9:45 pm
  • 25 minutes 49 seconds
    Graceful shutdown in HTTP


    There are cases where the backend may need to close the connection to prevent unexpected situations, prevent bad actors or simply just free up resources. Closing a connection gracefully allows clients and backends to clean up and finish any pending requests. 


    In this episode of the backend engineering show I discuss graceful connections in both HTTP/1.1 via the connection header and HTTP/2 via the GOAWAY frame. 


    • 0:00 Intro
    • 4:58 Why shutdown connection? 
    • 6:46 HTTP/1.1 Graceful shutdown
    • 12:26 Cost of HTTP/2 
    • 17:40 HTTP/2 GoAWAY frame
    • 23:40 Summary


    Links

    https://www.youtube.com/watch?v=fVKPrDrEwTI&t=1s 

    https://chromium.googlesource.com/chromium/src/net/%2B/master/socket/client_socket_pool_manager.cc#76

    https://issues.chromium.org/issues/40555364

    https://issues.chromium.org/issues/40501721


    17 October 2025, 2:00 pm
  • 41 minutes 12 seconds
    Postgres 18 gets Async IO

    Postgres 18 has been released with many exciting features such as UUIDv7, Over explain module, composite index skip scans, and the most anticipated asynchronous IO with worker and io_uring mode which I uncover in this show. Hope you enjoy it



    0:00 Intro

    1:30 Synchronous vs Asynchronous calls

    3:00 Synchronous IO

    6:30 Asynchronous IO

    10:00 Postgres 17 synchronous io

    17:20 The challenge of Async IO in Postgres 18

    20:00 io_method worker23:00

    io_method io_uring

    29:30 io_method sync

    31:08 Async IO isn’t done! 3

    1:30 Support for backend writers

    32:36 Improve worker io_method

    33:00 direct io support

    37:00 Summary

    3 October 2025, 2:00 pm
  • 22 minutes 55 seconds
    Kernel level TLS

    Fundamentals of Operating Systems Course https://oscourse.winktls is brilliant.TLS encryption/decryption often happens in userland. While TCP lives in the kernel. With ktls, userland can hand the keys to the kernel and the kernel does crypto. When calling write, the kernel encrypts the packet and send it to the NIC.When calling read, the kernel decrypts the packet and handed it to the userspace. This mode still taxes the host’s CPU of course, so there is another mode where the kernel offloads the crypto to the NIC device! Host CPU becomes free. Incoming packets to the NIC are decrypted in device before they are DMAed to the kernel. outgoing packets are encrypted before they leave the NIC to the network.ktls still need handshake to happen in userspace. There is also enabling zerocopy in some cases (now that kernel has context) Deserves a video. So much good stuff.0:00 Intro2:00 Userspace SSL Libraries 3:00 ktls 6:00 Kernel Encrypts/Decrypts (TLS_SW)8:20 NIC offload mode (TLS_HW)10:15 NIC does it all (TLS_HW_RECORD)12:00 Write TX Example13:50 Read RX Example17:00 Zero copy (sendfile)https://docs.kernel.org/networking/tls-offload.html

    13 June 2025, 2:26 pm
  • 9 minutes 38 seconds
    The beauty of the CPU

    If you are bored of contemporary topics of AI and need a breather, I invite you to join me to explore a mundane, fundamental and earthy topic.


    The CPU.

    A reading of my substack article https://hnasr.substack.com/p/the-beauty-of-the-cpu

    9 May 2025, 5:28 pm
  • 27 minutes 36 seconds
    Sequential Scans in Postgres just got faster

    This new PostgreSQL 17 feature is game changer. They know can combine IOs when performing sequential scan.

    Grab my database course

    https://courses.husseinnasser.com


    18 April 2025, 2:30 pm
  • 10 minutes 6 seconds
    Does discipline work?

    No technical video today, just talking about the idea of discipline and consistency.

    11 April 2025, 2:29 pm
  • 31 minutes 26 seconds
    Socket management and Kernel Data structures

    Fundamentals of Operating Systems Course

    This video is an overview of how the operating system kernel does socket management and the different data structures it utilizes to achieve that.

    timestamps

    0:00 Intro

    1:38 Socket vs Connections

    7:50 SYN and Accept Queue

    18:56 Socket Sharding

    23:14 Receive and Send buffers

    27:00 Summary

    4 April 2025, 2:30 pm
  • 28 minutes 57 seconds
    The genius of long polling

    Polling is the ability to interrogate a backend to see if a piece of information is ready. It can introduce a chatty system and as a result long polling was born. In this video I explain the beauty of this design pattern and how we can push it to its limit. 0:00 Intro 0:45 Polling 2:30 Problem with Polling 3:50 Long Polling 8:18 Timeouts 10:00 Long Polling Benefits 12:00 Make requests into Long Polling 17:36 Request Resumption 21:40 Summary

    6 December 2024, 2:01 pm
  • More Episodes? Get the App