Skip to main content
Engineering, Backend

Cinnamon: Using Century Old Tech to Build a Mean Load Shedder

November 22, 2023 / Global
Featured image for Cinnamon: Using Century Old Tech to Build a Mean Load Shedder
Image
Figure 1: Diagram of two services, where Service 1 receives online traffic from users and from a testing system. For both sources, they call Service 2 to retrieve some information.
Image
Figure 2: Diagram of how Cinnamon fits into the service mesh at Uber.
Image
Figure 3: Diagram shows how a request traverses through Cinnamon, before being sent to the business logic for actual processing.
Image
Figure 4: Goodput with no load shedder (baseline), Cinnamon and QALM at various levels of inbound RPS)
Image
Figure 5: P50 latencies for the high priority, tier 1, requests for the three setup at different inbound RPS.
Image
Figure 6: P99 latencies for the high priority, tier 1, requests for the three setup at different inbound RPS.
Image
Figure 7: The two graphs show how throughput, goodput, and latencies vary over time with both Cinnamon and QALM, when we send 4,000 RPS to the service. The first bump of traffic (to 700 RPS) is a baseline with no load shedder.
Image
Figure 8: The two graphs show how the inflight limit and the auto-tuner interact in Cinnamon, when running at 1,500 and 2,000 RPS.
Jakob Holdgaard Thomsen

Jakob Holdgaard Thomsen

Jakob Holdgaard Thomsen is a Principal Engineer at Uber, working out of the Aarhus office, helping to make Uber's systems more performant and more reliable.

Vladimir Gavrilenko

Vladimir Gavrilenko

Vladimir Gavrilenko is a Software Engineer at Uber on the Inventory and Catalog team based in Aarhus, where he focuses on reliability and scalability.

Jesper Lindstrom Nielsen

Jesper Lindstrom Nielsen

Jesper Lindstrom Nielsen is a Staff Engineer at Uber on the Inventory and Catalog team based in Aarhus, trying to make everything run a bit faster and scale a bit more.

Timothy Smyth

Timothy Smyth

Timothy Smyth is a Staff Engineer at Uber on the Delivery Backend Platform team based in New York City, helping to increase the resilience of Uber Delivery.

Posted by Jakob Holdgaard Thomsen, Vladimir Gavrilenko, Jesper Lindstrom Nielsen, Timothy Smyth