Engineering Blog

                            

Platform Aware Scheduling: Making Smarter Kubernetes Decisions

Platform Aware Scheduling (PAS) is a powerful tool for optimizing workload placement in Kubernetes clusters. It empowers the Kubernetes scheduler to make intelligent decisions by incorporating platform-specific attributes.

What is Platform Aware Scheduling?

PAS is a collection of projects designed to expose platform data to the Kubernetes scheduler. This data can then be used to filter and prioritize workloads for optimal placement. PAS utilizes a modular, policy-driven approach, allowing for flexible customization.

The core of PAS is a library that provides the foundation for building custom scheduler extensions. Additionally, PAS offers pre-built implementations that you can leverage directly:

  • Telemetry Aware Scheduling (TAS): The first implementation of PAS, TAS exposes any platform-level metric to the scheduler. This enables policy-based workload management based on various data points.
  • GPU Aware Scheduling: This extension specifically focuses on scheduling workloads that require GPU resources.

How PAS Works

PAS leverages Kubernetes Scheduler Extenders. These extenders act as external services that the scheduler communicates with via HTTP calls. The extenders can then analyze workload placement based on attributes beyond the scheduler’s normal scope.

Here’s a breakdown of the process:

  1. Enabling Extenders: A configuration file is provided to the Kubernetes scheduler, specifying the extender service and its functionalities (filtering and prioritizing workloads).
  2. Extender Communication: The scheduler makes HTTP requests to the extender service, passing workload information.
  3. Extender Analysis: The extender analyzes the workload data and platform attributes based on configured policies.
  4. Scheduling Decisions: The extender returns recommendations to the scheduler, influencing workload placement decisions.

Adding Custom Extenders

PAS is designed to be extensible. You can create new scheduler extenders to address specific platform features or workload requirements. The project repository provides a clear structure and guidance for creating and contributing custom extenders.

Getting Started with PAS

The blog post provides resources to get you started with Platform Aware Scheduling:

PAS empowers you to optimize your Kubernetes cluster by making informed workload placement decisions. It offers a modular and extensible approach, allowing you to leverage platform-specific data for smarter scheduling.

Reference to the article- GitHub

Follow us for more Updates

Previous Post