YoVDO

Datacenter RPCs Can Be General and Fast

Offered By: USENIX via YouTube

Tags

USENIX Symposium on Networked Systems Design and Implementation (NSDI) Courses Software Development Courses Distributed Systems Courses Congestion Control Courses

Course Description

Overview

Explore a groundbreaking approach to datacenter networking that challenges the belief that high performance requires sacrificing generality. Dive into the innovative eRPC library, which offers performance comparable to specialized systems while running on commodity CPUs in traditional datacenter networks. Learn how eRPC excels in message rate for small messages, bandwidth for large messages, and scalability to numerous nodes and CPU cores. Discover its ability to handle packet loss, congestion, and background request execution. Examine impressive microbenchmark results, including one CPU core handling up to 10 million small RPCs per second and sending large messages at 75 Gbps. Investigate the successful port of a production-grade Raft state machine replication implementation to eRPC, achieving 5.5 microseconds of replication latency on lossy Ethernet. Gain insights into modern datacenter networks, low-overhead transport layers, efficient congestion control, and the importance of common case optimizations in fast networking software.

Syllabus

Intro
Modern datacenter networks are fast
Existing networking options sacrifice performance or generality
Specialization for fast networking
eRPC provides both speed and generality
Managing packet loss
In low-latency networks, switch buffers prevent most loss
All modern switches have buffers BDP
Low-overhead transport layer
Example: Optimized DMA buffer management for rare packet loss
Example: Efficient congestion control in software
Datacenter networks are usually uncongested
Congestion control, fast and slow
Easy integration with existing applications
Takeaway: Given fast packet 10, we can provide fast networking in software
Together, common case optimizations matter


Taught by

USENIX

Related Courses

1C:Enterprise Junior Developer Course
Moscow Institute of Physics and Technology via Coursera
A Beginner’s Guide to Docker
Packt via FutureLearn
A Beginner’s Guide to Scrum Project Management
Packt via FutureLearn
Google Professional Cloud DevOps Engineer Certification Path Introduction (GCP DevOps Engineer Track Part 1)
A Cloud Guru
Introduction to Amazon CodeGuru
A Cloud Guru