Seagates CORTX-objektlagring ble brukt til forskningsprosjekter med høy ytelse i EUs SAGE Exascale databehandlingsinitiativ.
SAGE, startet i 2015, er en av de rare oppdiktede akronymene, og står tilsynelatende for Percipient StorAGe for Exascale Data Centric Computing. PSEDCC har ikke den samme minneverdige ringen. Uansett, SAGE-systemet, som hadde som mål å slå sammen Big Data-analyse og HPC, hadde en lagringssentrisk tilnærming ved at det var ment for å lagre og behandle store datavolumer i exascale.
I følge en ACM dokument sammendrag, “SAGE-lagringssystemet består av flere typer lagringsenhetsteknologier i et flerlags I/O-hierarki, inkludert flash-, disk- og ikke-flyktige minneteknologier. Den viktigste SAGE-programvarekomponenten er Seagate Mero Object Storage som er tilgjengelig via Clovis API og grensesnitt på høyere nivå.” [Mero was a prior name for what became CORTX.]
En første prototype av SAGE-systemet ble implementert og installert ved Jülich Supercomputing Center i Tyskland. EN SAGE 2 prosjektet ble satt opp i 2018 for å validere et neste generasjons lagringssystem som bygger på SAGE for vitenskapelige arbeidsflyter i ekstrem skala og AI/dyp læring. Den “gir et svært ytende og spenstig, QoS-kompatibelt flerlagslagringssystem, med dataoppsett på tvers av nivåene administrert av Mero Object Store, som er i stand til å håndtere in-transit/in-situ-behandling av data i lagringssystemet, tilgjengelig gjennom Clovis API.”
SAGE og SAGE 2 har gitt opphav til forskningsartikler, for eksempel en doktorgradsavhandling av Wei Der Chien, en student ved KTH Kungliga Tekniska Högskolan i Stockholm, med tittelen “Storskala I/O-modeller for tradisjonelle og nye HPC-arbeidsbelastninger på neste generasjons HPC-lagringssystemer.” Dette så på bruk av et objektlager for HPC-applikasjoner. Chien utviklet et programmeringsgrensesnitt som kan brukes til å utnytte Seagates Motr-objektlager.
Motr
Motr, ifølge Github dokumentasjoner et distribuert objekt- og nøkkelverdilagringssystem som sitter i hjertet av Seagate’s CORTX objektlager og bruker stasjoner med høy kapasitet. Designet ble påvirket av det distribuerte og parallelle filsystemet Luster, NFS v4.0 og databaseteknologi. Motr samhandler direkte med blokkenheter og er ikke lagdelt på toppen av et lokalt filsystem. Det gir et filsystemgrensesnitt, men er ikke i seg selv et filsystem.
Motr kontrollerer en klynge av nettverksbaserte lagringsnoder som kan være disk- eller solid state-baserte, noe som betyr flash, raskere PCIe-tilkoblet flash, batteristøttet minne og faseendringsminne. Hver Motr-node bufrer en del av systemtilstanden. Denne cachen består av metadata (informasjon om kataloger, filer, deres attributter) og data (filinnhold, vanligvis i form av sider). Cachen kan lagres i flyktig minne eller på vedvarende lagring.
IO-aktiviteter resulterer i systemstatusoppdateringer som kan forekomme på flere noder. Statlige oppdateringer flyttes gradvis mot mer vedvarende butikker. For eksempel kan en oppdatering til en cache i minnet overføres til en hurtigbuffer som er lagret på en flash-stasjon og senere til en hurtigbuffer som er lagret på en diskstasjon.
En talsperson for Seagate fortalte oss at SAGE-plattformen på Jülich Supercomputing kjørte CORTX Motr, med 22 noder: 8 klienter og 14 lagringsnoder. Lagringsnodene hadde flere nivåer: NVRAM, SSD og HDD – servert av forskjellige Motr-pooler. De danner en enkelt Motr-klynge med disse flere ytelsesnivåene.
Brukere spesifiserer hvilken pool som skal brukes, og det er et brukerstyrt Hierarchical Storage Management (HSM)-verktøy for å flytte data mellom bassenger. Dette kobles til en libmotr grensesnitt, det samme gjør HPC-applikasjonene. Vi blir fortalt at libmotr grensesnittet er mer HPC og AI-vennlig enn Amazons S3. Libmotr har høyytelsesalternativer, som scatter-gather og direkte tilkoblinger via MPI-IO.
Noen i HPC-fellesskapet foretrekker å unngå grensesnitt på høyt nivå som S3, og velger i stedet for grensesnitt på lavt nivå, som libmotrog APIer som gir større kontroll.
NoaSci
Denne måneden skrev Wei og andre en oppfølgingsartikkel kalt “NoaSci: Et numerisk objektarraybibliotek for I/O av vitenskapelige applikasjoner på objektlagring.” Vi har ikke sett hele dokumentet, men dets abstrakte sier: “Mens den POSIX-baserte I/O-modellen dominerer moderne HPC-lagringsinfrastruktur, kan fremvoksende objektlagringsteknologi potensielt forbedre I/O-ytelsen ved å eliminere disse flaskehalsene.” Forskerne utviklet NoaSci, et Numerical Object Array-bibliotek for vitenskapelige applikasjoner, som støtter forskjellige dataformater (f.eks. HDF5, binær), og fokuserer på å støtte node-lokale burst-buffere og objektlagre.
De viste deretter hvordan vitenskapelige applikasjoner kan utføre parallell I/O på Seagates Motr-objektlager gjennom NoaSci.
Seagates tekniske stab som opererer i Senior Vice President Ken Claffeys systemforretningsteam var involvert i denne forskningen i SAGE- og SAGE 2-prosjektene, som igjen informerte Weis forskning.
Motr lavnivåobjekt-API ble utviklet av Seagate sammen med EU HPC-partnere inkludert professor Stefano Markidis ved KTH. Wei er elev av Markidis. Hans Google Scholar-side viser at hans 6th mest siterte publikasjonen er det originale SAGE-arbeidet som Sai Narasimhamurthy, en Seagate UK-basert ingeniørdirektør, var medforfatter på.
Et annet sitert papir, “MPI-vinduer på lagring for HPC-applikasjoner” ble medforfatter av Markidis, Narasimhamurthy og andre
Seagate fortalte oss: “Vi ble beæret over at CORTX Motr var det valgte objektlagringssystemet for disse prosjektene og hadde stor fordel av disse forholdene som drev CORTX Motr grensesnittet for å være det det er i dag og er fortsatt det foretrukne grensesnittet for mange i dette fellesskapet.»
Den har lagt til et S3-grensesnitt for bedrifts- og skybrukere som foretrekker et grensesnitt på høyere nivå og vanligvis ikke er villige til å omskrive applikasjonene sine for å oppnå svært høy ytelse.
SAGE- og SAGE2-prosjektene er avsluttet, men Seagate fortsetter samarbeidet med KTH og andre i IO-SEA og https://www.esiwace.eu/ prosjekter.
Kommentar
MiniO har gjort det meste av det som oppfattes å kjøre i posisjonering av objektlagring som et primært datalager for applikasjoner som trenger rask tilgang til store datamengder. Nå finner vi at Seagates CORTX-programvare for objektlagring, plassert i europeisk akademisk HPC-forskning, har et lavnivågrensesnitt til sitt kjerne-Motr-system, som gjør at HPC-brukere også kan nyte rask tilgang til objektdata.
Men for å nyte den høye hastigheten, må CORTX brukes med libmotr API-grensesnitt, noe som betyr endringer i applikasjonsprogramvare er nødvendige. Det ville vært fascinerende å se om CORTX, via libmotrer like rask eller enda raskere enn MinIO, og om CORTX kan ha en fremtid i den kommersielle sfæren for rask tilgang til objektlagring.