Skip to content

Commit e1215e7

Browse files
committed
Made changes as per latest suggestions.
1 parent 2a18ce0 commit e1215e7

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

content/en/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md

+8-10
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ weight: 80
66

77
{{% capture overview %}}
88

9-
{{< note >}}
10-
Current release of Poseidon-Firmament scheduler is an alpha release.
11-
{{< /note >}}
9+
**Current release of Poseidon-Firmament scheduler is an <code> alpha </code> release.**
1210

1311
Poseidon-Firmament scheduler is an alternate scheduler alongside the default Kubernetes scheduler.
1412

@@ -21,19 +19,19 @@ Poseidon-Firmament scheduler is an alternate scheduler alongside the default Kub
2119

2220
Poseidon is the integration glue for the [Firmament scheduler](https://github.com/Huawei-PaaS/firmament) with Kubernetes. Poseidon-Firmament scheduler augments the current Kubernetes scheduling capabilities. It incorporates novel flow network graph based scheduling capabilities alongside the default Kubernetes Scheduler. Firmament scheduler models workloads and clusters as flow networks and runs min-cost flow optimizations over these networks to make scheduling decisions.
2321

24-
It models the scheduling problem as a constraint-based optimization over a flow network graph. This is achieved by reducing scheduling to a min-cost max-flow optimization problem. Due to the inherent rescheduling capabilities, the Poseidon-Firmament scheduler constantly keeps refining the workloads placements dynamically.
22+
It models the scheduling problem as a constraint-based optimization over a flow network graph. This is achieved by reducing scheduling to a min-cost max-flow optimization problem. The Poseidon-Firmament scheduler dynamically refines the workload placements.
2523

2624
Poseidon-Firmament scheduler runs alongside the default Kubernetes Scheduler as an alternate scheduler – multiple schedulers running simultaneously.
2725

2826
## Key Advantages
2927

3028
### Flow graph scheduling based Poseidon-Firmament scheduler provides the following key advantages:
31-
- Workloads (pods) are bulk scheduled for enabling scheduling decisions at massive scale.
29+
- Workloads (pods) are bulk scheduled to enable scheduling at massive scale..
3230
- Based on the extensive performance test results, Poseidon-Firmament scales much better than Kubernetes default scheduler as the number of nodes increase in a cluster. This is due to the fact that Poseidon-Firmament is able to amortize more and more work across workloads.
33-
- Poseidon-Firmament Scheduler outperforms K8S default scheduler by a wide margin when it comes to throughput performance numbers for scenarios where compute resource requirements are somewhat uniform across jobs (Replicasets/Deployments/Jobs). As shown in the graph below, Poseidon-Firmament scheduler end-to-end throughput performance numbers (including bind time) consistently get better and better as the number of nodes in a cluster increase. For example, for a 2,700 nodes cluster (shown in the graphs [here](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/benchmark/README.md)), Poseidon-Firmament scheduler is 7X (or more) better end-to-end throughput-wise that includes bind time.
31+
- Poseidon-Firmament Scheduler outperforms K8S default scheduler by a wide margin when it comes to throughput performance numbers for scenarios where compute resource requirements are somewhat uniform across jobs (Replicasets/Deployments/Jobs). Poseidon-Firmament scheduler end-to-end throughput performance numbers (including bind time) consistently get better and better as the number of nodes in a cluster increase. For example, for a 2,700 nodes cluster (shown in the graphs [here](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/benchmark/README.md)), Poseidon-Firmament scheduler is 7X (or more) better end-to-end throughput-wise that includes bind time.
3432

3533
- Availability of complex rule constraints.
36-
- Scheduling in Firmament is very dynamic; it keeps cluster resources in a global optimal state during every scheduling run.
34+
- Scheduling in Poseidon-Firmament is dynamic; it keeps cluster resources in a global optimal state during every scheduling run.
3735
- Highly efficient resource utilizations.
3836

3937
## Poseidon-Firmament Scheduler - How it works
@@ -60,14 +58,14 @@ As mentioned earlier, Poseidon-Firmament scheduler enables extremely high throug
6058

6159
Although, Poseidon-Firmament scheduler is capable of scheduling various types of workloads (service, batch, etc.), following are the few use cases where it excels the most:
6260
1. For “Big Data/AI” jobs consisting of large number of tasks, throughput benefits are tremendous.
63-
2. Substantial throughput benefits also for service or batch job scenarios where workload resource requirements are uniform across jobs (Replicasets/Deployments/Jobs).
61+
2. Service or batch jobs where workload resource requirements are uniform across jobs (Replicasets/Deployments/Jobs).
6462

6563
## Current Project Stage
6664

6765
- **Alpha Release - Incubation repo.** at https://github.com/kubernetes-sigs/poseidon.
6866
- Currently, Poseidon-Firmament scheduler **does not provide support for high availability**, our implementation assumes that the scheduler cannot fail. The [design document](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/design/README.md) describes possible ways to enable high availability, but we leave this to future work.
6967
- We are **not aware of any production deployment** of Poseidon-Firmament scheduler at this time.
70-
- Poseidon-Firmament is supported from Kubernetes release 1.6 and works with all subsequent releases.
68+
- Poseidon-Firmament is supported from Kubernetes release 1.6 and works with all subsequent releases.
7169
- The current Poseidon release is 0.6 and the corresponding Firmament release is 0.6.
7270

7371
## Features Comparison Matrix
@@ -79,7 +77,7 @@ Although, Poseidon-Firmament scheduler is capable of scheduling various types of
7977
|Pod Affinity/Anti-Affinity - including support for pod anti-affinity symmetry|Y|Y|Currently, the default scheduler outperforms the Poseidon-Firmament scheduler pod affinity/anti-affinity functionality. We are working towards resolving this.|
8078
|Taints & Tolerations|Y|Y||
8179
|Baseline Scheduling capability in accordance to available compute resources (CPU & Memory) on a node|Y|Y**|Not all Predicates & Priorities are supported at this time.|
82-
|Extreme Throughput at scale|Y**|Y|This is due to Poseidon-Firmament bulk scheduling approach superiority versus K8S pod-at-a-time approach. Substantial throughput benefits using Firmament scheduler as long as resource requirements (CPU/Memory) for incoming Pods is uniform across Replicasets/Deployments/Jobs. This is mainly due to efficient amortization of work across Replicasets/Deployments/Jobs . 1) For “Big Data/AI” jobs consisting of large no. of tasks, throughput benefits are tremendous. 2) Substantial throughput benefits also for service or batch job scenarios where workload resource requirements are uniform across Replicasets/Deployments/Jobs.|
80+
|Extreme Throughput at scale|Y**|Y|Bulk scheduling approach scales or increases workload placement. Substantial throughput benefits using Firmament scheduler as long as resource requirements (CPU/Memory) for incoming Pods is uniform across Replicasets/Deployments/Jobs. This is mainly due to efficient amortization of work across Replicasets/Deployments/Jobs . 1) For “Big Data/AI” jobs consisting of large no. of tasks, throughput benefits are tremendous. 2) Substantial throughput benefits also for service or batch job scenarios where workload resource requirements are uniform across Replicasets/Deployments/Jobs.|
8381
|Optimal Scheduling|Pod-by-Pod scheduler, processes one pod at a time (may result into sub-optimal scheduling)|Bulk Scheduling (Optimal scheduling)|Pod-by-Pod K8S default scheduler may assign tasks to a sub-optimal machine. By contrast, Firmament considers all unscheduled tasks at the same time together with their soft and hard constraints.|
8482
|Colocation Interference Avoidance|N|N**|Planned in Poseidon-Firmament.|
8583
|Priority Pre-emption|Y|N**|Partially exists in Poseidon-Firmament versus extensive support in K8S default scheduler.|

0 commit comments

Comments
 (0)