The Backend Engineering Show with Hussein Nasser

The Backend Engineering Show with Hussein Nasser

By Hussein NasserTechnology
Download on the App Store

The Backend Engineering Show with Hussein Nasser episodes

  • Memcached Architecture | The Backend Engineering Show
    Memcached is an in memory cache with one major feature be a transient cache. Memcached has a very simple design. It was originally designed to help with database load by storing the query result in memory to avoid further querying the database. By default it has no authentication, a simple text protocols, servers don’t talk to each other. This video discuss the architecture of the cache, design choices and have some critics of the design choices. I go through a demo at the end using docker, telnet and nodes. Enjoy
    0:00 Intro
    4:40 What is Memcached?
    7:45 Memory management
    16:00 LRU
    25:17 Threading and Connections
    30:40 Read Example
    34:30 Write Example
    36:17 Write and Read collisions
    39:40 Locking
    40:30 Distributed Cache
    43:30 Memcached with Docker/Telnet/NodeJS
    45:00 Spin up a Memcached Docker container and telnet
    52:17 Memcached and NodeJS
    56:15 Four Memached Servers with NodeJS
    01:01:00 Summary
    Resources
    https://www.cloudflare.com/learning/ddos/memcached-ddos-attack/
    https://holmeshe.me/understanding-memcached-source-code-IV/
    https://github.com/memcached/memcached/blob/master/doc/protocol.txt
    https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-threads.html
    https://holmeshe.me/understanding-memcached-source-code-I/
    https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-memory.html
    https://support-acquia.force.com/s/article/360005256114-Memcached-in-detail
    https://www.alibabacloud.com/blog/redis-vs-memcached-in-memory-data-storage-systems_592091
    https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final197.pdf
    https://memcached.org/blog/persistent-memory-2/
    https://memcached.org/blog/modern-lru/ Buy me a coffee https://www.buymeacoffee.com/hnasr
    51 min
  • Is SmartNIC a game changer for network performance? | The Backend Engineering Show

    In this episode of the backend engineering show I go through the main job of the network interface controller (NIC for short) and how the datacenter is pushing it to the limit by allowing it to do more TCP/IP processing, creating what is being popularized as smartNIC.

    0:00 Intro

    1:20 What is a NIC?

    3:40 NIC job

    8:00 When does the OS get involved

    12:40 Promiscuous mode

    14:00 SmartNIC

    18:30 Disadvantages

    Resources

    https://developer.nvidia.com/networking/ethernet-adapters

    https://www.theregister.com/2022/08/11/smartnics_network_market/

    https://arxiv.org/abs/1803.09615

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    22 min
  • Consistent Hashing | The Backend Engineering Show
    In this episode of the backend engineering show I discuss consistent hashing a very important algorithm in distributed computing specially in database systems such as Apache Cassandra and DynamoDB.
    0:00 Intro
    2:00 Problem of Distributed Systems
    5:00 When to Distribute
    7:00 Simple Hashing
    9:30 Where Simple Hashing Breaks
    11:40 Consistent Hashing
    18:00 Adding a Server
    21:15 Removing a Server
    22:30 Limitations Buy me a coffee https://www.buymeacoffee.com/hnasr
    25 min
  • Replacing TCP for the Datacenter - Discussing the Homa paper

    In this episode of the backend engineering show I go through and discuss the Homa Protocol paper which attempts to replace TCP as a protocol in the data centers. I learned a lot from this paper, I have my criticisms of certain aspects, timestamps for topics discussed below.

    It appears there is a path to replace TCP in the datacenter and professor John tries to explain this path.


    Referenced materials mentioned in the episode

    Overview paper

    https://web.stanford.edu/~ouster/cgi-bin/papers/replaceTcp.pdf

    Homa 2018 paper (Details)

    https://people.csail.mit.edu/alizadeh/papers/homa-sigcomm18.pdf

    NIC Offloading in Linux

    https://en.wikipedia.org/wiki/TCP_offload_engine#Support_in_Linux

    Curl disabling Nigel Algo

    https://github.com/curl/curl/commit/4732ca5724072f132876f520c8f02c7c5b654d9

    0:00 Intro

    3:00 The nature of networking data center

    5:30 TCP Segments

    7:30 There is no “Request” in TCP

    12:00 What so unique about Data centers?

    14:00 Message Throughput vs Data throughput

    18:25 Congestion Control

    22:38 Homa’s Congestion Control

    25:00 Server Core Load Balancing

    28:30 NIC offloading

    30:00 Everything Wrong about TCP

    37:00 Why not QUIC?

    40:00 Limitation of Streaming

    44:10 Load Balancing Stream Reading

    47:15 Can we treat Segments as Messages?

    51:00 Dispatching Messages is Easier

    53:00 Connection Orientation

    1:00:00 Sender Driven Congestion Control

    1:03:00 In Order Packet Delivery

    1:07:00 DCTCP

    1:08:30 Homa is Message Based

    1:11:00 Home is Connection Less

    1:12:00 Receiver Driven Congestion Control

    1:15:19 Out of Order Packets

    1:16:20 Homa API is not Compatible with TCP

    1:17:40 Will Homa come to HTTP?

    1:18:45 Conclusion

    1 hr 24 min
  • ByteDance makes Linux kernel reboots faster

    ByteDance, the company behind TikTok is proposing few patches to the linux kernel to make kernel reboots via kexec go from 500ms down to 15 ms saving huge time in updating kernel on thousands of machines. Let us discuss this

    0:00 Intro

    1:30 Linux Kernel Reboot Options

    2:30 how kexec works

    4:00 The optimization

    5:00 Going through the patch

    6:00 Updating Servers at TikTok scale

    9:00 Summary

    https://www.phoronix.com/news/Bytedance-Faster-Kexec-Reboot

    https://lore.kernel.org/lkml/[email protected]/

    12 min
  • This dangerous OpenSSL vulnerability can easily be triggered | CVE-2022-2274 Explained

    We discuss the CVE-2022-2274 OpenSSL Vulnerability.

    The OpenSSL 3.0.4 release introduced a serious bug in the RSA

    implementation for X86_64 CPUs supporting the AVX512IFMA instructions.

    This issue makes the RSA implementation with 2048 bit private keys

    incorrect on such machines and memory corruption will happen during

    the computation. As a consequence of the memory corruption an attacker

    may be able to trigger a remote code execution on the machine performing

    the computation.

    0:00 Intro

    1:00 CVE-2022-2274

    3:00 AVX512IFMA CISC

    5:00 How the bug works

    7:10 How can it be triggered

    Resources

    https://www.openssl.org/news/secadv/20220705.txt

    https://github.com/openssl/openssl/issues/18625

    https://guidovranken.com/2022/06/27/notes-on-openssl-remote-memory-corruption/

    https://eprint.iacr.org/2018/335

    https://github.com/openssl/openssl/commit/4d8a88c134df634ba610ff8db1eb8478ac5fd345

    https://linux.die.net/man/3/bn_internal

    https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-E3960B1E-C42E-4748-A5EB-6E12507C9CD7.html

    https://www.microcontrollertips.com/risc-vs-cisc-architectures-one-better/

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    10 min
  • NULLs are weird, PG15 makes them less weird

    Postgres 15 introduces a new syntax to treat nulls as not distinct. This will allow developers to create a unique constraint on nullable fields and have inserts with nulls fail instead of having it allowed based on today's standard.

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)

    https://database.husseinnasser.com


    https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null

    https://www.postgresql.org/message-id/flat/84e5ee1b-387e-9a54-c326-9082674bde78%40enterprisedb.com


    7 min
  • This decades old function in Linux is now 4 times faster

    memchr() is a function that searches in a memory block for a character, this has been recently improved in the latest linux patch and we can learn something from this improvement I think, lets discuss.

    https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kernel-Faster-memchr

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    8 min
  • Amazon Aurora Supports Postgres 14

    Amazon Aurora PostgreSQL-Compatible Edition now supports PostgreSQL major version 14 (14.3). Let us discuss this news.

    https://aws.amazon.com/about-aws/whats-new/2022/06/amazon-aurora-supports-postgresql-14/

    0:00 Intro

    1:00 Database on the Cloud options

    3:45 Amazon Aurora supports Postgres 14

    6:00 Postgres 14 vs Postgres 13

    13 min
  • Canada Rogers ISP Internet Outage - Early report and speculation

    Rogers Communications, the Canadian ISP is down. One of its ASNs (they have many) is AS812 with over 5 million IP addresses. Tried a few and none of them can be pinged from the US (not sure if ICMP is disabled or not)

    This is a huge deal for all Canadians and businesses affected. So sorry for every one who is affected by this, and kudus to all the engineers at Rogers working to fix this for the past what? 11 hours now?

    If an ASN goes dark like a Facebook or a Cloudflare that isn't a big deal you can go without using Facebook for a day. But if this is your ISP's ASN that connects you to the rest of the World goes down, actual users won't be able to connect.

    We still don't know the cause but my guess it might be a bad BGP entry? that's what happened to Cloudflare or FB, could be something different. again so sorry for all my Canadian followers affected. Will make a video when I get a chance

    Resources

    https://www.bigdatacloud.com/asn-lookup/AS812

    https://www.bigdatacloud.com/asn-lookup/AS7018

    15 min

About The Backend Engineering Show with Hussein Nasser

From the publisher's feed

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.

More shows like The Backend Engineering Show with Hussein Nasser

Freakonomics Radio by Freakonomics Radio + Stitcher

Freakonomics Radio

31,929 Listeners

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

274 Listeners

Risky Business by Risky Business Media

Risky Business

373 Listeners

Science Vs by Spotify Studios

Science Vs

12,159 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,070 Listeners

Practical AI by Daniel Whitenack and Chris Benson

Practical AI

210 Listeners

Within Reason by Alex J O'Connor

Within Reason

1,626 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

10,106 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

550 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

513 Listeners

Hard Fork by The New York Times

Hard Fork

5,565 Listeners

The AI Daily Brief: Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief: Artificial Intelligence News and Analysis

671 Listeners

Prof G Markets by Vox Media Podcast Network

Prof G Markets

1,439 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

74 Listeners