Abstract
Containers are becoming the canonical way of deploying compute tasks at the edge. Unfortunately, container startup latency and overhead remain high, limiting responsiveness and resource efficiency of edge deployments. This latency comes mostly from fetching container dependencies including system libraries, tools, configuration files, and data files. To address this, we propose that schedulers in container orchestrators take into account a task's dependencies. Hence, in dependency scheduling, the scheduler tries to place a task at a node that has the maximum number of the task's dependencies stored locally. We implement dependency scheduling within Kubernetes and evaluate it through extensive experiments and measurement-driven simulations. We show that, for typical scenarios, dependency scheduling improves task startup latency by 1.4-2.3x relative to current dependency-agnostic schedulers. Our implementation of dependency scheduling has been adopted into the mainline Kubernetes codebase.
Original language | English (US) |
---|---|
State | Published - 2020 |
Event | 3rd USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2020 - Virtual, Online Duration: Jun 25 2020 → Jun 26 2020 |
Conference
Conference | 3rd USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2020 |
---|---|
City | Virtual, Online |
Period | 6/25/20 → 6/26/20 |
ASJC Scopus subject areas
- Hardware and Architecture
- Information Systems and Management
- Computer Networks and Communications