Syrup
- 26 October 2021
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
Suboptimal scheduling decisions in operating systems, networking stacks, and application runtimes are often responsible for poor application performance, including higher latency and lower throughput. These poor decisions stem from a lack of insight into the applications and requests the scheduler is handling and a lack of coherence and coordination between the various layers of the stack, including NICs, kernels, and applications. We propose Syrup, a framework for user-defined scheduling. Syrup enables untrusted application developers to express application-specific scheduling policies across these system layers without being burdened with the low-level system mechanisms that implement them. Application developers write a scheduling policy with Syrup as a set of matching functions between inputs (threads, network packets, network connections) and executors (cores, network sockets, NIC queues) and then deploy it across system layers without modifying their code. Syrup supports multi-tenancy as multiple co-located applications can each safely and securely specify a custom policy. We present several examples of uses of Syrup to define application and workload-specific scheduling policies in a few lines of code, deploy them across the stack, and improve performance up to 8x compared with default policies.Keywords
This publication has 22 references indexed in Scilit:
- ZygOSPublished by Association for Computing Machinery (ACM) ,2017
- ReFlexPublished by Association for Computing Machinery (ACM) ,2017
- The Linux schedulerPublished by Association for Computing Machinery (ACM) ,2016
- Reconciling high server utilization and sub-millisecond quality-of-servicePublished by Association for Computing Machinery (ACM) ,2014
- SparrowPublished by Association for Computing Machinery (ACM) ,2013
- Transforming policies into mechanisms with infokernelACM SIGOPS Operating Systems Review, 2003
- On Choosing a Task Assignment Policy for a Distributed Server SystemJournal of Parallel and Distributed Computing, 1999
- ExokernelACM SIGOPS Operating Systems Review, 1995
- Scheduler activationsACM SIGOPS Operating Systems Review, 1991
- Priority inheritance protocols: an approach to real-time synchronizationInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1990