> For the complete documentation index, see [llms.txt](https://paper.lingyunyang.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://paper.lingyunyang.com/reading-notes/conference/socc-2022/escher.md).

# ESCHER: Expressive scheduling with ephemeral resources

## Meta Info

Presented in [SoCC 2022](https://doi.org/10.1145/3542929.3563498).

Authors: Romil Bhardwaj (*UC Berkeley*), Alexey Tumanov (*Georgia Tech*), Stephanie Wang (*UC Berkeley*), Richard Liaw, Philipp Moritz, Robert Nishihara (*Anyscale*), Ion Stoica (*UC Berkeley*).

## Understanding the paper

* Goal: support custom scheduling constraints
* Evolvability
  * Monolithic schedulers (Kubernetes, YARN)
    * Applications state resource requirements
    * Scheduler provides a fixed set of supported policies (e.g., affinity)
    * Simple, but hard to evolve
  * Two-level schedulers (Mesos, Omega)
    * Applications implement end-to-end scheduling
    * Highly evolvable, but complex (application must implement a custom scheduler)
* ESCHER
  * Two key abstractions
    * **Resource matching scheduler**
    * **Applications create ephemeral resources and get cluster state at runtime through an API**
  * Application -> ESCHER Scheduling Library (ESL) -> Framework Scheduler
  * Add latency (because of RPC call), reduce the implementation burden
  * Implemented in Ray and Kubernetes
