ELiSE: A tool to support algorithmic design for HPC co-scheduling
Authors/Creators
Description
As high-performance computing systems continue to advance, new methodologies for efficient resource usage are emerging. One such technique is co-location, where multiple jobs share the same node-level resources throughout their execution in an attempt to improve overall system throughput and job speedup. This approach can be particularly beneficial for memory-bound HPC applications when more memory bandwidth is available. Optimizing co-location involves two key aspects: user satisfaction and system utilization, each measured by a variety of related metrics. This is a complex problem and there is a shortage of tools that enable researchers to quickly develop and test co-scheduling algorithms with simplicity and accuracy, without requiring extensive environment configuration. In response to that, we propose ELiSE a Python-based framework designed for the rapid development of scheduling algorithms with co-location capabilities, featuring also current-state practices such as backfilling. ELiSE offers a standalone library and operates both under a CLI for numerous experimentations, and under a GUI for ease of use. Key features include the ability to generate different types of static or dynamic workloads, specify system architecture, use in-built or custom-made (co-)scheduling algorithms, visualize performance metrics, and export results. Leveraging these features, we conducted several experiments and provide preliminary estimates of potential trade-offs and optimization strategies in the realm of co-scheduling. ELiSE source code is available here.
Files
ELiSE_A_tool_to_support_algorithmic_design_for_HPC_co_scheduling.pdf
Files
(1.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:3de1338868b4e35452c600d040ee3d6b
|
1.3 MB | Preview Download |
Additional details
Software
- Repository URL
- https://github.com/cslab-ntua/elise
- Programming language
- Python