YuniKorn Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 41: Line 41:


=Queue=
=Queue=
A namespace can have a "queue" if annotated with "yunikorn.apache.org/queue".


A namespace can have a "parent queue" is annotated with "yunikorn.apache.org/parentqueue".
A namespace can have a "parent queue" is annotated with "yunikorn.apache.org/parentqueue".

Revision as of 23:56, 12 December 2023

Internal

Plugin Mode

Resource Manager (RM)

YuniKorn communicates with various implementation of resource management systems (Kubernetes, YARN) via a standard interface defined in the yunikorn-scheduler-interface package.

Allocation

A core scheduler-level concept. An allocation can be in one of two states ("Pending" and "In-Progress"). A pending allocation is one which has been decided upon by YuniKorn but has not yet been communicated to the default scheduler via PreFilter()/Filter(). Once PreFilter()/Filter() pass, the allocation transitions to "In-Progress" to signify that the default scheduler is responsible for fulfilling the allocation. Once PostBind() is called in the plugin to signify completion of the allocation, it is removed.

Application

Application Metadata

Application ID

Looks in this order:

  • Annotation "yunikorn.apache.org/app-id"
  • Label "applicationId"
  • ...

Queue Name

User

Tags

Groups

TaskGroups

OwnerReference

Usually a pod, designated by its UID.

Scheduling Policy Parameters

Application Task

Node

Configuration

Context

yunikorn-k8shim cache.Context

Resource

Quantity

Queue

A namespace can have a "queue" if annotated with "yunikorn.apache.org/queue".

A namespace can have a "parent queue" is annotated with "yunikorn.apache.org/parentqueue".