ELiSE: A Tool to Support Algorithmic Design for HPC Co-scheduling
摘要
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 .