

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
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
Episodes
Mentioned books

May 20, 2024 • 17min
io uring gets even faster
Linux I/O expert Jens Axboe discusses IO_uring updates for Linux 6.10, focusing on zerocopy. Topics include how normal copying works, zero copy benefits in data transfer, and challenges of SSL/TLS encryption. Explore advancements in kernel technology for efficient data handling.

May 7, 2024 • 29min
They made Python faster with this compiler option
Fundamentals of Operating Systems Course
https://oscourse.win
Looks like fedora is compiling cpython with the -o3 flag, which does aggressive function inlining among other optimizations.
This seems to improve python benchmarks performance by at most 1.16x at a cost of an extra 3MB in binary size (text segment). Although it does seem to slow down some benchmarks as well though not significantly.
O1 - local register allocation, subexpression elimination
O2 - Function inlining only small functions
O3 - Agressive inlining, SMID
0:00 Intro
1:00 Fedora Linux gets Fast Python
5:40 What is Compiling?
9:00 Compiling with No Optimization
12:10 Compiling with -O1
15:30 Compiling with -O2
20:00 Compiling with -O3
23:20 Showing Numbers
Backend Troubleshooting Course
https://performance.husseinnasser.com

Apr 29, 2024 • 34min
How Apache Kafka got faster by switching ext4 to XFS
Allegro improved Kafka latency by 80% switching from ext4 to XFS. They traced Kafka protocol and kernel system calls, optimized ext4 before switching. Show explores file system complexities, journaling impact, and challenges of workload increase.

Mar 5, 2024 • 14min
Google Patches Linux kernel with 40% TCP performance
Get my backend course https://backend.win
Google submitted a patch to Linux Kernel 6.8 to improve TCP performance by 40%, this is done via rearranging the tcp structures for better cpu cache lines, I explore this here.
0:00 Intro
0:30 Google improves Linux Kernel TCP by 40%
1:40 How CPU Cache Line Works
6:45 Reviewing the Google Patch
https://www.phoronix.com/news/Linux-6.8-Networking
https://lore.kernel.org/netdev/20231129072756.3684495-1-lixiaoyan@google.com/
Discovering Backend Bottlenecks: Unlocking Peak Performance
https://performance.husseinnasser.com

Feb 29, 2024 • 16min
Database Torn pages
Exploring torn pages in databases, including Oracle and MySQL solutions. Comparison of file system block and database pages. Postgres full page writes.

7 snips
Feb 28, 2024 • 31min
Cloudflare Open sources Pingora (NGINX replacement)
Cloudflare's release of Pingora, a networking framework, is a game-changer in the industry. Discussion revolves around its security features, multi-threading capabilities, and the balance between customization and configuration. The move towards Rust for network services marks a significant shift for Cloudflare.

Feb 19, 2024 • 45min
The Internals of MongoDB
Explore the evolution of MongoDB's internal architecture, from document storage to index representation. Learn about page sizes in MongoDB, MySQL, and PostgreSQL. Delve into the importance of efficient disk I/O and backend engineering fundamentals. Discover the transition to document-oriented storage and cluster B-tree indexing in MongoDB, comparing it with other DBMS.

Feb 19, 2024 • 18min
The Beauty of Programming Languages
In this video I explore the type of languages, compiled, garbage collected, interpreted, JIT and more.

Feb 18, 2024 • 12min
The Danger of Defaults - A PostgreSQL Story
Exploring the impact of default values in PostgreSQL 14, discussing performance regression caused by default parameter changes. Insights into tuple representation, vacuum process, and index cleanup improvements in Postgres 14. Importance of understanding default values to avoid unexpected consequences in backend engineering.

Feb 16, 2024 • 9min
Database Background writing
Background writing is a process that writes dirty pages in shared buffer to the disk (well goes to the OS file cache then get flushed to disk by the OS) I go into this process in this video


