Datacenter RPCs Can Be General and Fast
Offered By: USENIX via YouTube
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 CourseMoscow 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