Reiser5 annoncerer understøttelse af Burst Buffers (Data Tiering)

Eduard Shishkin annonceret nye muligheder udviklet inden for rammerne af Reiser5-projektet. Reiser5 er en en væsentligt redesignet version af ReiserFS-filsystemet, hvor understøttelse af parallelle skalerbare logiske volumener er implementeret på filsystemniveau i stedet for et blokenhedsniveau, hvilket giver dig mulighed for effektivt at distribuere data på tværs af en logisk volumen.

Blandt de nyskabelser, der er udviklet for nylig, er leveringen af
muligheden for brugeren at tilføje en lille højtydende
blokere enhed (f.eks. NVRAM) kaldet proxy diskTil
relativt stort logisk volumen sammensat af langsom
budgetdrev. Dette vil skabe det indtryk, at alle
volumen er sammensat af den samme dyre højtydende
enheder, såsom en "proxy-disk".

Den implementerede metode var baseret på den simple observation, at der i praksis ikke skrives til disken konstant, og I/O-belastningskurven har form som toppe. I intervallet mellem sådanne "peaks" er det altid muligt at nulstille data fra proxy-disken ved at omskrive alle dataene (eller kun en del) i baggrunden til det vigtigste, "langsomme" lager. Således er proxy-disken altid klar til at modtage en ny del af data.

Denne teknik (kendt som Burst Buffers) opstod oprindeligt i
områder med høj ydeevne computing (HPC). Men det viste sig også at være efterspurgt til almindelige applikationer, især for dem, der stiller øgede krav til dataintegritet (normalt forskellige typer databaser). Sådanne applikationer udfører ændringer i enhver fil på en atomart måde, nemlig:

  • først oprettes en ny fil, der indeholder de ændrede data;
  • denne nye fil skrives derefter til disk ved hjælp af fsync(2);
  • derefter omdøbes den nye fil til den gamle, hvilket er automatisk
    Frigør blokke optaget af gamle data.

    Alle disse trin, i en eller anden grad, forårsager betydelige
    ydeevneforringelse på ethvert filsystem. Situation
    forbedres, hvis den nye fil først skrives til den tildelte
    højtydende enhed, hvilket er præcis, hvad der sker i
    filsystem med Burst Buffers support.

    I Reiser5 er det planlagt at sende ikke kun
    nye logiske blokke af filen, men også alle beskidte sider generelt. I øvrigt,
    ikke kun sider med data, men også med metadata der
    er skrevet i trin (2) og (3).

    Support til proxy-diske udføres i forbindelse med almindeligt arbejde med
    Reiser5 logiske bind, annonceret i begyndelsen af ​​året. Det er,
    det samlede system "proxy disk - hovedlager" er normalt
    logisk volumen med den eneste forskel, at proxy-disken har prioritet
    blandt andre volumenkomponenter i diskadresseallokeringspolitikken.

    Tilføjelse af en proxy-disk til et logisk volumen er ikke ledsaget af nogen
    rebalancering af data, og fjernelse heraf sker på nøjagtig samme måde som
    fjernelse af en almindelig disk. Alle proxy-diskoperationer er atomare.
    Fejlhåndtering og systemimplementering (inklusive efter et systemnedbrud) sker på nøjagtig samme måde, som hvis proxy-disken var en almindelig komponent
    logisk volumen.

    Efter tilføjelse af en proxy-disk, den samlede kapacitet af den logiske volumen
    øges med kapaciteten på denne disk. Frirumsovervågning
    proxy disk udføres på samme måde som for andre volumenkomponenter, dvs. ved at bruge værktøjet volume.reiser4(8).

    Proxydisken skal renses med jævne mellemrum, dvs. nulstille data fra
    det til hovedlageret. Efter at have nået beta-stabilitet Reiser5
    rengøring er planlagt til at være automatisk (den vil blive administreret af
    speciel kernetråd). På dette stadium ansvar for rengøring
    påhviler brugeren. Nulstilling af data fra proxy-disken til den primære
    lagring produceres ved blot at kalde volume.reiser4-værktøjet med muligheden
    "-b". Som et argument skal du angive monteringspunktet for den logiske
    mængder Du skal selvfølgelig huske at foretage rengøring med jævne mellemrum. Til
    Du kan skrive et simpelt shell-script for at gøre dette.

    Hvis der ikke er ledig plads på proxy-disken, alle data
    skrives automatisk til hovedlageret. Samtidig som standard
    den samlede ydeevne af FS er reduceret (på grund af konstante opkald
    procedurer for at forpligte alle eksisterende transaktioner). Du kan valgfrit indstille
    tilstand uden tab af ydeevne. Men i dette tilfælde disken
    Proxyenhedens plads vil blive brugt mindre effektivt.
    Det er praktisk at bruge en metadata-undersektion (klods) som en proxy-disk, forudsat at den er oprettet på en tilstrækkelig højtydende blokenhed.

    Kilde: opennet.ru

  • Tilføj en kommentar