Detail produktu
Software Package for Reporting Errors in Distributed MPI Applications
Vznik: 2024
MPI, Chyba, Výjimka, Uváznutí, Reportování
Řízení chybových stavů v aplikacích C++ se provádí prostřednictvím výjimek. V distribuovaných aplikacích se stává nezbytným komunikovat s ostatními procesy, když dojde k chybě, což aplikaci dává možnost buď se z chybového stavu zotavit, nebo elegantně nahlásit chybu a ukončit se. Bohužel, standard MPI nenabízí žádné vestavěné mechanismy pro zpracování chyb v distribuovaném prostředí. Tento software představuje nový přístup k ošetření výjimek v aplikacích MPI. Cíle jsou (1) oznámit jakýkoli chybový stav uživateli pěkně formátovaným způsobem pouze jedním rankem, (2) zajistit, že aplikace nikdy nenarazí na deadlock, (3) navrhnout jednoduché rozhraní a zajistit interoperabilitu s dalšími knihovnami C/C++. Navrhovaná metoda přijímá minimalistické rozhraní a nabízí několik výhod. Není vyžadováno žádné speciální řízení chyb pro určité ranky, jediná reduce operace je dostatečná k potvrzení, že aplikace prošla kontrolním bodem, deadlock v aplikaci nemůže narušit zpracování chyb, a aplikace vždy elegantně skončí s vhodnou chybovou zprávou. Kód prošel testováním s různými implementacemi MPI v rozsahu až 1536 ranků. Byly vybrány externí knihovny, konkrétně distribuované verze rychlé Fourierovy transformace (FFTW) a knihovny vstupu/výstupu HDF5, pro jejich rozsáhlé využití kolektivních komunikací. Testování zahrnovalo zavedení několika injektovaných chyb do více ranků, jako je neexistující vstupní soubor, překročení diskové kvóty, nesprávný rank v volání MPI a standardní systémové výjimky. Pozoruhodně kód prokázal správnou funkčnost ve všech testovaných scénářích.