- Motivations
Edge computing is a distributed computing system that brings dataset computation to a location closer to the data source.
Edge computing resources are decentralized, and they can be unstable compared to centralized cloud computing resources.
Kubernetes is a container orchestration platform that provides a highly available container execution environment while providing the fault-tolerance and auto-scaling feature.
Thus, managing relatively unstable edge computing resources using Kubernetes is widely adopted.
However, the current Kubernetes supports only limited hardware information, and it can limit the scheduling efficiency in an edge-computing environment.
To enrich detailed hardware information provided by Kubernetes, we implemented edge accelerator device monitoring module for Kubernetes.
- Implementation
Accelerator Information Extraction Module (as a container image)
Covers devices from NVIDIA Jetson TX1, TX2, Nano, Xavier, and Google Coral TPU with ARM64 architecture.
DaemonSet (Kubernetes feature)
Automatic accelerator detection container image distribution upon a node join a cluster.
Service Account (Kubernetes feature)
Grant permissions for automatic labelling from a node
An example of automatically extracted accelerator information.
- Applications of re:Actor to Enhance Kubernetes Scheduler
The current Kubernetes scheduler supports limited matchmaking requirements. Using detailed accelerator information extracted from re:Actor, Kubernetes scheduler can make insightful decision by considering workload characteristics together.