Skip to main content
Uber logo

Go anywhere with Uber

Request a rideRequest a ride

Go anywhere with Uber

Request a rideRequest a ride
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.