RackSched: A Microsecond-Scale Scheduler for Rack-Scale Computers (Technical Report)

10/12/2020
by   Hang Zhu, et al.
0

Low-latency online services have strict Service Level Objectives (SLOs) that require datacenter systems to support high throughput at microsecond-scale tail latency. Dataplane operating systems have been designed to scale up multi-core servers with minimal overhead for such SLOs. However, as application demands continue to increase, scaling up is not enough, and serving larger demands requires these systems to scale out to multiple servers in a rack. We present RackSched, the first rack-level microsecond-scale scheduler that provides the abstraction of a rack-scale computer (i.e., a huge server with hundreds to thousands of cores) to an external service with network-system co-design. The core of RackSched is a two-layer scheduling framework that integrates inter-server scheduling in the top-of-rack (ToR) switch with intra-server scheduling in each server. We use a combination of analytical results and simulations to show that it provides near-optimal performance as centralized scheduling policies, and is robust for both low-dispersion and high-dispersion workloads. We design a custom switch data plane for the inter-server scheduler, which realizes power-of-k-choices, ensures request affinity, and tracks server loads accurately and efficiently. We implement a RackSched prototype on a cluster of commodity servers connected by a Barefoot Tofino switch. End-to-end experiments on a twelve-server testbed show that RackSched improves the throughput by up to 1.44x, and scales out the throughput near linearly, while maintaining the same tail latency as one server until the system is saturated.

READ FULL TEXT

page 5

page 7

research
07/25/2023

NetClone: Fast, Scalable, and Dynamic Request Cloning for Microsecond-Scale RPCs

Spawning duplicate requests, called cloning, is a powerful technique to ...
research
06/09/2020

Parking Packet Payload with P4

Network Function (NF) deployments suffer from poor link goodput, because...
research
10/28/2020

Rosella: A Self-Driving Distributed Scheduler for Heterogeneous Clusters

Large-scale interactive web services and advanced AI applications make s...
research
10/26/2020

LB Scalability: Achieving the Right Balance Between Being Stateful and Stateless

A high performance Layer-4 load balancer (LB) is one of the most importa...
research
02/22/2018

NetChain: Scale-Free Sub-RTT Coordination (Extended Version)

Coordination services are a fundamental building block of modern cloud s...
research
10/16/2022

QStack: Re-architecting User-space Network Stack to Optimize CPU Efficiency and Service Quality

TCP/IP network stack is irreplaceable for Web services in datacenter fro...
research
11/05/2019

uqSim: Scalable and Validated Simulation of Cloud Microservices

Current cloud services are moving away from monolithic designs and towar...

Please sign up or login with your details

Forgot password? Click here to reset