De första versionerna av MPI var utformade för att fungera effektivt på multiprocessorer som hade mycket lite jobbkontroll och därmed statiska processmodeller. Att tvinga dem att stödja en dynamisk processmodell som lämpar sig för användning i kluster eller distribuerade system skulle ha minskat deras prestanda. När dagens HPC-samarbetsprogram ökar i storlek och distribution ökar de potentiella nivåerna av nod- och nätverksfel behovet av att utveckla nya feltoleranta system. Här presenterar vi en ny implementation av MPI kallad FT-MPI som gör det möjligt att explicit kontrollera semantik och tillhörande fellägen genom ett program via ett modifierat MPI API. Givet är en översikt över FT-MPI semantik, design, exempelapplikationer, felsökningsverktyg och vissa prestandafrågor såsom effektiv gruppkommunikation och komplex datahantering. Även diskuteras är den experimentella HARNESS kärna (G_HCORE) genomförande som FT-MPI är byggd för att fungera på. Även om MPI [11] för närvarande är det de facto-standardsystem som används för att bygga högpresterande applikationer för både kluster och dedikerade MPP-system, är det inte utan problem. Inledningsvis MPI var utformad för att möjliggöra mycket hög effektivitet och därmed prestanda på ett antal tidiga 1990-talet MPPs, som vid den tiden hade begränsad OS drifttid stöd. Detta ledde till den nuvarande MPI-designen av en statisk processmodell. Även om denna modell var möjligt att genomföra för MPP leverantörer, lätt att programmera för, och ännu viktigare något som kunde avtalas av en standardiseringskommitté. MPI statiska processmodellen räcker för ett litet antal distribuerade noder inom de nuvarande framväxande massorna av kluster och flera hundra noder av dedikerade MPPs. Bortom dessa storlekar medeltiden mellan misslyckande (MTBF) av CPU noder börjar bli en faktor. När försöken att bygga nästa generations Peta-flop-system avancerar, kommer denna situation bara att bli mer ogynnsam när individuell nod tillförlitlighet blir utvägd av storleksordningar ökar i nodtal och därmed nodfel. Syftet med FT-MPI är att bygga en feltolerant MPI implementation som kan överleva misslyckanden, samtidigt som den programutvecklare en rad alternativ för återställning annat än att bara återgå till någon tidigare checkpointed tillstånd. FT-MPI är byggt på HARNESS [1] meta-computing system, och är tänkt att användas som sin standard programnivå meddelande passerar gränssnittet. Den första metoden försökte göra MPI-tillämpningar feltoleranta var genom att använda checkpointing och rulla tillbaka. Co-Check MPI [2] från Tekniska universitetet i München är den första MPI-implementationen byggd som använde Condor biblioteket för kontroll-peka en hel MPI-applikation. I detta genomförande, alla processer skulle spola sina meddelanden köer för att undvika att i flygmeddelanden gå vilse, och sedan skulle de alla synkront check-punkt. I ett senare skede om antingen ett fel uppstod eller en uppgift tvingades migrera för att underlätta lastbalansering, skulle hela MPI-programmet rullas tillbaka till den sista fullständiga kontrollpunkten och startas om. Detta systems huvudsakliga nackdel är behovet av att hela ansökan måste kontrollera-punkt synkront, som beroende på ansökan och dess storlek kan
Detta leder naturligtvis till förslaget om ett feltolerant meddelande Passing Interface (FT-MPI), som händer kontroll tillbaka på grund av att en nod har stoppats, för att återställa data från denna del av programmet REF.
Fault Tolerant MPI for the HARNESS Meta-computing System
{'venue': 'International Conference on Computational Science (1)', 'journal': None, 'mag_field_of_study': ['Computer Science']}