kubewharf / godel-scheduler

a unified scheduler for online and offline tasks
Apache License 2.0
497 stars 75 forks source link

Support interpodaffinity and podtopologyspread #61

Closed slipegg closed 3 weeks ago

slipegg commented 3 months ago

I am the participant of the godel-scheduler project in OSPP. I have added the interpodaffinity and podtopologyspread plugins and related test files to godel-scheduler as required.

Considering the overall structure of the godel-scheduler project:

I have completed testing the basic functions locally. If there are any areas that need improvement, I would appreciate your suggestions.

CLAassistant commented 3 months ago

CLA assistant check
All committers have signed the CLA.

slipegg commented 1 month ago

I manually tested the InterPodAffinity and PodTopologySpread scheduling plug-ins, and both passed the verification. The document (Chinese version) can be viewed here: https://xeh61jru4u.feishu.cn/docx/NwrMdx3Hjoi47fxXJf4cXNNOnof.

rookie0080 commented 1 month ago

I manually tested the InterPodAffinity and PodTopologySpread scheduling plug-ins, and both passed the verification. The document (Chinese version) can be viewed here: https://xeh61jru4u.feishu.cn/docx/NwrMdx3Hjoi47fxXJf4cXNNOnof.

Please also attach the benchmark testing doc for other reviewers.

slipegg commented 4 weeks ago

I manually tested the InterPodAffinity and PodTopologySpread scheduling plug-ins, and both passed the verification. The document (Chinese version) can be viewed here: https://xeh61jru4u.feishu.cn/docx/NwrMdx3Hjoi47fxXJf4cXNNOnof.

Please also attach the benchmark testing doc for other reviewers.

I used kind+kwok to simulate 5,000 nodes and tested the performance of the two scheduling plugins, InterPodAffinity and PodTopologySpread. Here is the detailed test document (Chinese version): https://xeh61jru4u.feishu.cn/docx/JhNIdmyiZo19Ibxns2ucin0OnZd

The test results are as follows:

Constraint Type Case Maximum e2e Scheduling Speed (pods/s)
Filter (Hard Constraints) MaxSkew of 1 for topology uniform distribution at region level 151
Inter-pod affinity constraints at region level 107
Inter-pod anti-affinity constraints at region level 99.5
Inter-pod anti-affinity constraints with existing Pods at region level 123
Score (Soft Constraints) PodTopologySpread with MaxSkew of 1 for topology uniform distribution at region level 383 (Flattened Dispatcher)
Inter-pod affinity constraints at region level 336 (Flattened Dispatcher)
Inter-pod anti-affinity constraints at region level 342 (Flattened Dispatcher)
Inter-pod anti-affinity constraints with existing Pods at region level 314 (Flattened Dispatcher)
binacs commented 3 weeks ago

lgtm, please squash the commits

cc @rookie0080