Ergonomie a efektivita workflow na HPC klastrech
Loading...
Downloads
0
Date issued
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoká škola báňská – Technická univerzita Ostrava
Abstract
This thesis deals with the execution of task graphs on High-performance Computing (HPC) clusters
(supercomputers), with a focus on efficient usage of hardware resources and ergonomic interfaces
for task graph submission. Task-based programming is a popular approach for defining scientific
workflows that can be computed on distributed clusters. However, executing task graphs on su-
percomputers introduces unique challenges, such as performance issues caused by the large scale
of HPC workflows or cumbersome interactions with HPC allocation managers like PBS (Portable
Batch System) or Slurm. This work examines what are the main challenges in this area and how do
they affect task graph execution, and it proposes various approaches for alleviating these challenges,
both in terms of efficiency and developer ergonomics.
This thesis provides three main contributions. Firstly, it provides a task graph simulation en-
vironment that enables prototyping and benchmarking of various task scheduling algorithms, and
performs a comprehensive study of the performance of various task schedulers using this envi-
ronment. Secondly, it analyzes the bottlenecks and overall performance of a state-of-the-art task
runtime Dask and provides an implementation of an alternative Dask server which significantly
improves its performance in HPC use-cases. And primarily, it introduces a unified meta-scheduling
and resource management design for effortless execution of task graphs on heterogeneous HPC
clusters that facilitates efficient usage of hardware resources. It also provides a reference im-
plementation of this design within an HPC-tailored task runtime called HyperQueue, which is
available as open-source software under the MIT (Massachusetts Institute of Technology) license
at https://github.com/it4innovations/hyperqueue.
Tato práce se zabývá spouštěním grafů úloh na vysoce výkonných systémech (superpočítačích), se zaměřením na efektivní využití výpočetních zdrojů a poskytnutí ergonomických rozhraní pro návrh a spouštění grafů úloh. Programování na základě úloh je oblíbeným způsobem pro definici vědeckých soustav výpočtů, které jsou určeny pro spouštění na distribuovaných systémech. Nicméně spouštění těchto úloh na superpočítačích přináší unikátní výzvy, například problémy s výkonem způsobené značným rozsahem úloh nebo problematickou interakci úloh se systémy pro správu alokací na superpočítačích, jako jsou například PBS (Portable Batch System) nebo Slurm. Tato práce zkoumá, jaké jsou hlavní problémy ovlivňující spouštění úloh v této oblasti a navrhuje různé přístupy, které by měly pomoci tyto problémy částečně či zcela vyřešit, a to jak v oblasti výkonu, tak i ergonomie vývoje. Tato práce poskytuje tři hlavní přínosy. Prvním z nich je prostředí pro simulaci spouštění grafů úloh, které umožňuje jednoduché experimentování a měření různých plánovacích algoritmů. Toto prostředí bylo použito pro provedení rozsáhlé studie kvality různých plánovačů úloh. Dále práce analyzuje výkonnostní charakteristiku moderního nástroje pro spouštění úloh Dask, a poskytuje alternativní implementaci Dask serveru, která výrazně zvyšuje jeho efektivitu v případech, které vyžadují vysoký výkon. Hlavním přínosem práce je metoda pro plánování úloh a správu zdrojů, která umožňuje jednoduché spouštění grafů úloh na heterogenních superpočítačích, které zároveň maximalizuje využití dostupných výpočetních zdrojů. Práce také poskytuje referenční implemen- taci využívající této metody v rámci nástroje HyperQueue, který je dostupný jako software s otevřeným zdrojovým kódem pod licencí MIT (Massachusetts Institute of Technology) na adrese https://github.com/it4innovations/hyperqueue.
Tato práce se zabývá spouštěním grafů úloh na vysoce výkonných systémech (superpočítačích), se zaměřením na efektivní využití výpočetních zdrojů a poskytnutí ergonomických rozhraní pro návrh a spouštění grafů úloh. Programování na základě úloh je oblíbeným způsobem pro definici vědeckých soustav výpočtů, které jsou určeny pro spouštění na distribuovaných systémech. Nicméně spouštění těchto úloh na superpočítačích přináší unikátní výzvy, například problémy s výkonem způsobené značným rozsahem úloh nebo problematickou interakci úloh se systémy pro správu alokací na superpočítačích, jako jsou například PBS (Portable Batch System) nebo Slurm. Tato práce zkoumá, jaké jsou hlavní problémy ovlivňující spouštění úloh v této oblasti a navrhuje různé přístupy, které by měly pomoci tyto problémy částečně či zcela vyřešit, a to jak v oblasti výkonu, tak i ergonomie vývoje. Tato práce poskytuje tři hlavní přínosy. Prvním z nich je prostředí pro simulaci spouštění grafů úloh, které umožňuje jednoduché experimentování a měření různých plánovacích algoritmů. Toto prostředí bylo použito pro provedení rozsáhlé studie kvality různých plánovačů úloh. Dále práce analyzuje výkonnostní charakteristiku moderního nástroje pro spouštění úloh Dask, a poskytuje alternativní implementaci Dask serveru, která výrazně zvyšuje jeho efektivitu v případech, které vyžadují vysoký výkon. Hlavním přínosem práce je metoda pro plánování úloh a správu zdrojů, která umožňuje jednoduché spouštění grafů úloh na heterogenních superpočítačích, které zároveň maximalizuje využití dostupných výpočetních zdrojů. Práce také poskytuje referenční implemen- taci využívající této metody v rámci nástroje HyperQueue, který je dostupný jako software s otevřeným zdrojovým kódem pod licencí MIT (Massachusetts Institute of Technology) na adrese https://github.com/it4innovations/hyperqueue.