Scheduler拡張事例最前線
Shingo Omura, Preferred Networks, Inc.
2021/11/25(Thu) Kubernetes Meetup Tokyo #47
KubeCon + CloudNativeCon NA 2021 Recap
自己紹介 - 大村伸吾 (Shingo Omura)
● エンジニア, Preferred Networks, Inc.
○ 社内向けGPUクラスタの開発運用
○ 社内クラスタ向けにkube-schedulerを拡張
○ 主にkubernetes sig-scheduling で活動中
● @everpeace (twitter)
● shingo.omura (facebook)
2
PFNにおけるkube-scheduler拡張事例
3
Cloud Native Days Tokyo 2020
SlideShare, Video
本日の流れ
● KubeCon NA 2021でのScheduler拡張関連のセッション
○ Capacity Scheduling for Elastic Resource Sharing in Kubernetes
Qingcan Wang, Alibaba & Yuan Chen, Apple
○ Trimaran: Real Load Aware Scheduling in Kubernetes
Abdul Qadeer, PayPal & Chen Wang, IBM
○ A K8s-Based Workload Allocation Optimizer for Minimizing Power
Consumption Ying-Feng Hsu, Osaka University
● まとめ
4
5
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
課題: リソース容量が共有しづらくて全体の利用率が低くなる
6
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
ElasticQuota による Capacity Scheduling
7
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
Namespace 1:
利用量がMaxに到達⇒Scheduleされない
8
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
Namespace 2:
利用量がMin未満で空きがない⇒Preemption
9
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
ElasticQuotaを階層化してクラスタ全体を管理
10
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
Scheduling Frameworkでの実装
11
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
このProjectの現状
● Open source projects
○ Elastic quota and capacity scheduling
■ https://github.com/kubernetes-sigs/scheduler-plugins/tree/maste
r/pkg/capacityscheduling
■ Hierarchical quota は未実装
○ Job queue
■ https://github.com/kube-queue/kube-queue
● Early adoptions
○ Alibaba Cloud: AI/ML, Spark on Kubernetes
○ Apple: Spark on Kubernetes (ongoing)
○ Baidu: Self-driving simulation (ongoing)
12
今回は時間の都合
で割愛🙇
Capacity Scheduling for Elastic Resource Sharing in Kubernetes Qingcan Wang, Alibaba & Yuan Chen, Apple
13
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
14
課題: リソース要求は多めに設定されるので無駄が多い
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
Trimaran: 実際のノードの利用状況を見てスケジュール
15
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
注意: LoadというとCPUぽく聞こえ
るがTrimaranではcpuに限定され
ず、一般のリソース負荷という意味
で使われています
TargetLoadPacking Plugin
16
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
utilizationがX(目標Load)でNodeスコアが100
になるようにする
TargetLoadPacking Pluginの効果
17
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
ResourceUsage
が目標値で安定
PayPal: TargetLoadPacking + PodTopologySpread
(QA環境でテスト中. 今後本番に)
18
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
LoadVariationRiskBalancing Plugin:
bursty loadによるpod evictionのリスクをバランス
19
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
今日は時間の
都合で省略 🙇
今後
20
Trimaran: Real Load Aware Scheduling in Kubernetes Abdul Qadeer, PayPal & Chen Wang, IBM
課題
21
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
22
課題: クラウド以外の計算環境、マイクロサービス化
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
Workload Allocation Optimizer(WAO)
23
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
LB側はresponse timeを考慮
24
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
機械学習を活用して消費電力を予測
25
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
CPU利用率,Node温度
Nodeの消費電力
Node Score Pluginで
機械学習モデルで電力消費を予測
機械学習を活用して応答時間を予測
26
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
CPU利用率, Node温度,
memory, network info, 日時
Response Time
WAO-LBで機械学習モデルを評価して振り分け
評価結果: 13%くらい消費電力が改善した
27
A K8s-Based Workload Allocation Optimizer for Minimizing Power Consumption Ying-Feng Hsu, Osaka University
まとめ
● 概況
○ Scheduling Frameworkを活用した実際の拡張事例が登場
■ 本番稼働はまだElastic Quota(Alibaba)だけな模様
■ オンプレ・クラウド両方の事例
○ Machine Learningを適用した事例が登場
● 感想
○ Resource SharingはPFNでも課題で独自の仕組で対応
■ high priority: kube-throttler による容量上限
■ low priority: 同一priorityによるfair scheduling
○ 機械学習を活用した電力最適化はPFNとも親和性が高い
28
29

KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp