Till innehåll på sidan

Large-scale I/O Models for Traditional and Emerging HPC Workloads on Next-Generation HPC Storage Systems

Tid: Fr 2022-04-29 kl 15.00

Plats: F3, Lindstedtsvägen 26 & 28, Stockholm

Språk: Engelska

Ämnesområde: Datalogi

Respondent: Wei Der Chien , Beräkningsvetenskap och beräkningsteknik (CST)

Opponent: Philip Carns, Argonne National Laboratory

Handledare: Stefano Markidis, SeRC - Swedish e-Science Research Centre, Beräkningsvetenskap och beräkningsteknik (CST); Erwin Laure, SeRC - Swedish e-Science Research Centre, Parallelldatorcentrum, PDC, Beräkningsvetenskap och beräkningsteknik (CST); Artur Podobas, Beräkningsvetenskap och beräkningsteknik (CST)

Exportera till kalender

QC 20220411

Abstract

Förmågan att skapa värde från stora datamängder är nu en väsentlig del av forskningen och driver teknisk utveckling överallt från vardagsteknik till livräddande medicinska tillämpningar. Inom nästan alla vetenskapliga områden som kräver hantering av stora datamängder, såsom väderprognos, fysiksimulering och beräkningsbiologi, har superdatorer (HPC-system) dykt upp som ett viktigt verktyg för att implementera och lösa problem. Medan superdatorernas beräkningshastighet har vuxit snabbt, har metoderna för att hantera storskalig data-I/O (läsa och skriva data) i hög takt inte utvecklats i samma takt. POSIX-baserade parallella filsystem (PFS) och programmeringsgränssnitt som MPI-IO förblir normen för I/O-arbetsflöden i HPC. Samtidigt har nya applikationer, såsom big data, och Machine Learning (ML) vuxit fram som en ny, vida använd, klass av HPC-program. Även om alla dessa applikationer kräver intag och utmatning av en stor mängd data, har de väldigt olika användningsmönster, vilket ger en annan uppsättning krav. Bortsett från det blir nya I/O-tekniker på HPC som snabba burst-buffertar (burst buffers) och objektlager (object stores) alltmer tillgängliga. Dessa saknar för närvarande en ny metod för att utnyttja deras fulla potential.

I denna avhandling utvärderar vi moderna lagringsinfrastrukturer, I/O-programmeringsmodell och karakteriserar hur HPC-applikationer kan dra nytta av dessa I/O-modeller för att förbättra prestanda. Vi tittar särskilt på objektlagring som är en lovande teknik som har potential att ersätta befintliga I/O-delsystem för storskalig datalagring. Vi utvecklar en method som härmar vi objektlagringssemantiken och skapar en emulator ovanpå befintliga parallella filsystem för att projicera den prestandaförbättring som kan förväntas på en riktig objektlagring för HPC-applikationer. Efter det så utvecklar vi en programmeringsmodell som stöder numerisk datalagring för vetenskapliga tillämpningar. Uppsättningen av gränssnitt fångar behovet från parallella applikationer som använder domändekomposition. Slutligen utvärderar vi hur gränssnitten kan användas av vetenskapliga tillämpningar. Mer specifikt visar vi för första gången hur vårt programmeringsgränssnitt kan användas för att dra nytta av Seagates Motor-objektlager. Dessutom visar vi också hur detta tillvägagångssätt kan möjliggöra användningen av moderna nodlokala hierarkiska lagringsarkitekturer.

Bortsett från framsteg inom I/O-infrastruktur, introducerar den breda distributionen av moderna ML-arbetsbelastningar unika utmaningar för HPC och dess I/O-system. Vi börjar med att först förstå vilka utmaningar som finns genom att fokusera på ett toppmodernt Deep-Learning (DL) ramverk kallat TensorFlow, som används flitigt på molnplattformar. Vi utvärderar hur dataintag i TensorFlow skiljer sig från traditionella HPC-applikationer för att förstå utmaningarna. Medan TensorFlow fokuserar på DL-applikationer, finns det alternativa inlärningsmetoder som bär med sig olika uppsättningar av utmaningar. För att komplettera vår förståelse föreslår vi också ett ramverk som heter StreamBrain. StreamBrain implementerar en hjärnliknande inlärningsalgoritm som kallas Bayesian Confidence Propagation Neural Network (BCPNN). Vi finner att dessa alternativa metoder potentiellt kan innebära en ännu större utmaning för konventionellt lärande (som de som finns i TensorFlow). För att förklara I/O-beteendet för DL-träning utför vi en serie mätningar och profilering på TensorFlow med hjälp av profileringsverktyg. Vi finner dock att befintliga metoder är otillräckliga för att härleda en finkornig I/O-karaktäristik på dessa moderna ramverk på grund av bristen av koppling på applikationsnivå. För att tackla denna utmaning föreslår vi ett system som heter tf-Darshan som kombinerar traditionell HPC I/O-övervakning och en ML-arbetsbelastningsprofilering för att möjliggöra en finkornig utvärdering av I/O-prestanda. Våra resultat visar att bristen på samdesign mellan moderna ramverk och HPC I/O-delsystemet leder till ineffektiv I/O (t.ex. mycket små och slumpmässiga läsningar). De misslyckas också med att koordinera I/O-förfrågningar på ett effektivt sätt i en parallell miljö. Med tf-Darshan visar vi hur kunskap som härrör från sådana mätningar kan användas för att förklara och förbättra I/O-prestanda. Några exempel inkluderar selektiv datainställning till snabb lagring och framtida automatisk justering av I/O-parametrar.

Metoderna som föreslås i denna avhandling utvärderas på en mängd olika HPC-system, arbetsstationer och prototypsystem med olika I/O- och beräkni-ngsarkitekturer. Olika HPC-applikationer används för att validera tillvägagån-gssätten. Experimenten visar att våra tillvägagångssätt kan möjliggöra en bra karakterisering av I/O-prestanda, och vår föreslagna programmeringsmodell illustrerar hur applikationer kan använda nästa generations lagringssystem.

urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-310828