Duration-Informed Workload Scheduler
Organizations: DISI, University of Bologna, Bologna, Viale Risorgimento 2, Italy
Abstract
High-performance computing systems are complex machines whose behaviour is governed by the correct functioning of its many subsystems. Among these, the workload scheduler has a crucial impact on the timely execution of the jobs continuously submitted to the computing resources. Making high-quality scheduling decisions is contingent on knowing the duration of submitted jobs before their execution--a non-trivial task for users that can be tackled with Machine Learning. In this work, we devise a workload scheduler enhanced with a duration prediction module built via Machine Learning. We evaluate its effectiveness and show its performance using workload traces from a Tier-0 supercomputer, demonstrating a decrease in mean waiting time across all jobs of around 11%. Lower waiting times are directly connected to better quality of service from the users' point of view and higher turnaround from the system's perspective.
Figures & tables
| Feature Name | Description |
|---|---|
| cpu | Number of CPU cores requested by the job. |
| mem (GB) | Amount of memory requested by the hob. |
| node | Number of nodes requested for the job. |
| gres/gpu | GPU resources requested by the job. |
| user_id | Identifier of the user submitting the job. |
| qos | Quality of Service level associated with the job. |
| CPU | mem(GB) | nodes | GRES/GPU | user_id | QoS | time_limit | run_time | |
|---|---|---|---|---|---|---|---|---|
| mean | 121.379 | 236.068 | 1.693 | 5.630 | 110.895 | 0.051 | 1038.069 | 43.433 |
| std | 246.657 | 1008.594 | 6.961 | 27.927 | 118.594 | 0.368 | 506.318 | 168.719 |
| min | 1.000 | 0.098 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.017 |
| 25% | 4.000 | 7.813 | 1.000 | 1.000 | 2.000 | 0.000 | 720.000 | 0.017 |
| 50% | 80.000 | 230.000 | 1.000 | 4.000 | 93.000 | 0.000 | 1440.000 | 0.83 |
| 75% | 128.000 | 237.5000 | 1.000 | 4.000 | 191.000 | 0.000 | 1440.000 | 22.700 |
| Decision Tree | Random Forest | Gradient Boosting | Neural Network | |
| MAE | 23.51 | 23.53 | 40.11 | 21.95 |
| MSE | 8001.99 | 7968.58 | 13060.00 | 9202.41 |
| RMSE | 89.45 | 89.27 | 114.28 | 95.93 |
| 0.72 | 0.72 | 0.54 | 0.68 | |
| Confidence interval (95%) | [0.00, 326.70] | [0.00, 325.60] | [0.00, 227.48] | [0.00, 344.92] |
| OVERESTIMATION | ||||
| Decision Tree | Random Forest | Gradient Boosting | Neural Network | |
| MAE | 22.24 | 22.26 | 26.01 | 20.53 |
| MSE | 7312.82 | 7275.61 | 8406.57 | 8623.19 |
| RMSE | 85.52 | 85.30 | 91.69 | 92.86 |
| 0.71 | 0.72 | 0.67 | 0.66 | |
| Confidence interval (95%) | [0.00, 307.77] | [0.00, 306.92] | [0.00, 291.46] | [0.00, 319.62] |
| OVERESTIMATION | ||||
| Decision Tree | Random Forest | Gradient Boosting | Neural Network | |
| MAE | 8.33 | 8.35 | 22.90 | 8.22 |
| MSE | 3438.32 | 3432.47 | 5086.70 | 3674.63 |
| RMSE | 58.64 | 58.59 | 71.32 | 60.62 |
| 0.62 | 0.62 | 0.44 | 0.60 | |
| Confidence interval (95%) | [0.00, 155.35] | [152.11] | [0.00, 104.60] | [0.00, 165.33] |
| OVERESTIMATION | ||||
| DIWS | EasyBF | Improvement | |
|---|---|---|---|
| makespan | 86272.0068 | 86272.0024 | +0.00% |
| scheduling time | 37.8449 | 240.7396 | -84.28% |
| mean waiting time | 846.5391 | 953.3813 | -11.21% |
| mean turnaround time | 2351.1828 | 2458.0250 | -4.35% |
| mean slowdown | 2.3089 | 45.8519 | -94.96% |
| max waiting time | 17003.0928 | 12608.0384 | +34.88% |
| DIWS | EasyBF | Improvement | |
|---|---|---|---|
| makespan | 1029198.2116 | 1090869.2938 | -5.99% |
| scheduling time | 210.3460 | 194.5042 | +7.53% |
| mean waiting time | 127474.5570 | 163846.3107 | -28.54% |
| mean turnaround time | 128979.2008 | 165350.9545 | -28.21% |
| mean slowdown | 22785.2399 | 20097.1711 | +11.80% |
| max waiting time | 994211.2116 | 1026349.2598 | -3.21% |
High-Performance Computing
High-performance computing (HPC) uses parallel systems and optimized software to solve computationally demanding scientific and engineering problems.
See all 146 papers