Vývoj jde neúprosně kupředu a superpočítače, které před deseti lety vládly žebříčku TOP 500, jsou nyní zapomenuty a mnohdy doslova ve starém železe. Nové superstroje jsou mnohem výkonnější se stovkou jader v rámci jednoho výpočetního uzlu. Při výpočtech některých typů masivně paralelních úloh může dojít k tomu, že jejich spuštění je komplikované a potenciál nových superpočítačů není zcela využit. Řešením je nástroj HyperQueue, který efektivně organizuje výpočty pro řešení vědeckých úloh. Tento unikátní nástroj vyvinuli vědci z národního superpočítačového centra IT4Innovations v Ostravě.
IT4Innovations je zapojeno do projektu LIGATE, jehož cílem je využití evropských superpočítačů za účelem návrhu léků. Jedná se o počítačový návrh léčiv (Computer-Aided Drug Design, CADD) s využitím špičkových superpočítačů a do budoucna se počítá i s využitím exascalových superpočítačů. Konkrétně se v projektu LIGATE řeší screening obrovského množství molekul, což je typ úloh, pro které je problematické využít potenciál celého výpočetního uzlu. Proto vědci z IT4Innovations, které je součástí VŠB – Technické univerzity Ostrava, dodali unikátní řešení v podobě nástroje HyperQueue. Ten umožňuje efektivně a jednoduše spouštět velké množství výpočetních úloh na moderních heterogenních evropských superpočítačích. O co přesně jde?
„Moderní superpočítače se vyznačují tím, že kombinují různé výpočetní architektury a obsahují velké množství heterogenních zdrojů. Jejich efektivní využití pomocí tradičních nástrojů pro zadávání výpočtů, může být složité,“ vysvětluje Jan Martinovič z Laboratoře pro náročné datové analýzy a simulace v IT4Innovations a dodává: „Proto jsme vytvořili nástroj HyperQueue, který zjednodušuje využití superpočítačů s komplexními zdroji a poskytuje jednoduché rozhraní pro zadávání výpočetních úloh. Zároveň však dokáže efektivně využívat dostupné výpočetní zdroje superpočítače.“
Branislav Jansík, ředitel superpočítačových služeb IT4Innovations, doplňuje: „HyperQueue byl úspěšně nasazen a testován na několika superpočítačích s různou hardwarovou architekturou. Patří mezi ně EuroHPC superpočítač Karolina, provozovaný naším superpočítačovým centrem, a evropský nejvýkonnější superpočítač LUMI, provozovaný finským CSC."
„Nástroj HyperQueue je nesmírně užitečný při rozšiřování stávajících vědeckých workflow, přičemž nevyžaduje téměř žádné změny v jejich kódu. Práce s HyperQueue je velmi jednoduchá a do správce bioinformatických workflow Nextflow jsme dokonce přidali nativní podporu HyperQueue, takže uživatelé mohou využívat HyperQueue při spouštění svých genomických workflow, aniž by se museli HyperQueue naučit. Je příjemné se setkat s nástrojem, který si rozumí se systémovým plánovačem a nemá negativní vliv na stabilitu systému při provádění velmi rozsáhlých workflow,“ říká Henrik Nortamo, specialista na aplikace ve společnosti CSC.
HyperQueue je v rámci projektu LIGATE nasazován i na superpočítačích italského centra CINECA a má potenciál stát se primárním nástrojem pro efektivní plánování obrovského množství úloh, které by nedokázaly jednotlivě využít celou kapacitu výpočetního uzlu superpočítače. „Zjistili jsme, že nástroj HyperQueue se snadno používá, zjednodušuje nasazení na nových superpočítačích a zefektivňuje využití zdrojů pro pracovní zátěže složené z velkého počtu malých úloh. Přesně to je případ virtuální screeningové aplikace, kterou vyvíjíme v rámci projektu LIGATE a která již byla využita v boji proti pandemii COVID-19,“ uvedl Gianluca Palermo z Politecnico di Milano, který je zároveň technickým manažerem projektu LIGATE.
Více informací na https://github.com/It4innovations/hyperqueue
Technické údaje
Moderní superpočítače obsahují velké množství heterogenních zdrojů, které poskytují obrovský výpočetní výkon. Je náročné navrhovat monolitické aplikace, které mohou tento výkonnostní potenciál efektivně využít (např. škálováním na stovky jader); uživatelé HPC často navrhují svá výpočetní workflow jako soubor menších, vzájemně závislých úloh, které využívají pouze zlomek prostředků jednoho uzlu klastru. Přesto může být provádění těchto workflow na HPC klastrech za přítomnosti správce úloh, jako je Torque/PBS nebo Slurm, náročné. Ty mohou stanovit omezení pro souběžné provádění více úloh na jednom uzlu, což brání využití uzlu, a jejich konstrukce obecně není stavěná na obrovské množství menších, na zdroje méně náročných úloh, což může vést k přetížení správce.
HyperQueue představuje framework pro provádění výpočetně náročných úloh, který nabízí řešení tohoto problému. Umožňuje uživatelům zadávat úlohy jednoduchým způsobem mimo výpočetní úlohu. HyperQueue se pak postará o vyžádání výpočetních prostředků od správce úloh a o spuštění úloh na všech dostupných výpočetních uzlech. K vyvážení zátěže úloh používá sofistikovaný plánovač s přihlédnutím ke specifikaci jednotlivých zdrojů a aktuálnímu vytížení uzlů. Případovou studií může být např. triviální definice výpočtu s mnoha úlohami, které využívají malý počet jader, a jeho spuštění na superpočítači s velmi výkonnými uzly (např. se 128 jádry) a dosažení velmi vysokého využití uzlů hned po spuštění.
Projekt LIGATE získává finanční prostředky z Evropského společného podniku pro vysoce výkonnou výpočetní techniku na základě grantové dohody č. 956137. Společný podnik získává podporu z programu Evropské unie pro výzkum a inovace Horizont 2020 a Itálie, Švédska, Rakouska, České republiky a Švýcarska. Tento projekt je financován z prostředků Ministerstva školství, mládeže a tělovýchovy České republiky (ID: MC2102).