Reiser5 tillkännager stöd för Burst Buffers (Data Tiering)

Eduard Shishkin meddelat nya möjligheter utvecklats inom ramen för Reiser5-projektet. Reiser5 är en en väsentligt omdesignad version av ReiserFS-filsystemet, där stöd för parallella skalbara logiska volymer implementeras på filsystemsnivå, snarare än en blockenhetsnivå, vilket gör att du effektivt kan distribuera data över en logisk volym.

Bland de innovationer som utvecklats nyligen, tillhandahållandet av
möjligheten för användaren att lägga till en liten högpresterande
blockera enhet (t.ex. NVRAM) anropad proxy diskTill
relativt stor logisk volym som består av långsam
budgetdrev. Detta kommer att skapa intrycket att alla
volymen är sammansatt av samma dyra högpresterande
enheter, som en "proxydisk".

Den implementerade metoden baserades på den enkla observationen att i praktiken skrivs inte skivan till konstant, och I/O-belastningskurvan har formen av toppar. I intervallet mellan sådana "toppar" är det alltid möjligt att återställa data från proxydisken, genom att skriva om all data (eller bara en del) i bakgrunden till den huvudsakliga, "långsamma" lagringen. Således är proxydisken alltid redo att ta emot en ny del av data.

Denna teknik (känd som Burst Buffers) har ursprungligen sitt ursprung i
områden med högpresterande beräkningar (HPC). Men det visade sig också vara efterfrågat för vanliga applikationer, speciellt för de som ställer ökade krav på dataintegritet (oftast olika typer av databaser). Sådana applikationer utför alla ändringar i vilken fil som helst på ett atomärt sätt, nämligen:

  • först skapas en ny fil som innehåller de ändrade data;
  • denna nya fil skrivs sedan till disk med fsync(2);
  • efter det döps den nya filen om till den gamla, vilket är automatiskt
    Frigör block upptagna av gamla data.

    Alla dessa steg, i en eller annan grad, orsaka betydande
    prestandaförsämring på alla filsystem. Situation
    förbättras om den nya filen först skrivs till den tilldelade
    högpresterande enhet, vilket är precis vad som händer i
    filsystem med Burst Buffers-stöd.

    I Reiser5 är det planerat att valfritt skicka inte bara
    nya logiska block av filen, men också alla smutsiga sidor i allmänhet. Dessutom,
    inte bara sidor med data, utan även med metadata som
    skrivs i steg (2) och (3).

    Stöd för proxydiskar utförs i samband med ordinarie arbete med
    Reiser5 logiska volymer, meddelat i början av året. Det är,
    det aggregerade systemet "proxydisk - huvudminne" är normalt
    logisk volym med den enda skillnaden att proxydisken har prioritet
    bland andra volymkomponenter i policyn för tilldelning av diskadress.

    Att lägga till en proxydisk till en logisk volym åtföljs inte av någon
    ombalansering av data, och dess borttagning sker på exakt samma sätt som
    ta bort en vanlig disk. Alla proxydiskoperationer är atomära.
    Felhantering och systemdistribution (inklusive efter en systemkrasch) sker på exakt samma sätt som om proxydisken vore en vanlig komponent
    logisk volym.

    Efter att ha lagt till en proxydisk, den totala kapaciteten för den logiska volymen
    ökar med kapaciteten på denna disk. Övervakning av ledigt utrymme
    proxyskiva utförs på samma sätt som för andra volymkomponenter, d.v.s. med hjälp av verktyget volume.reiser4(8).

    Proxydisken måste rengöras med jämna mellanrum, d.v.s. återställa data från
    den till huvudlagringen. Efter att ha nått betastabilitet Reiser5
    städningen är planerad att vara automatisk (den kommer att hanteras av
    speciell kärntråd). I detta skede ansvar för städning
    vilar på användaren. Återställer data från proxydisken till huvuddisken
    lagring produceras genom att helt enkelt anropa verktyget volume.reiser4 med alternativet
    "-b". Som ett argument måste du ange monteringspunkten för logiken
    volymer Naturligtvis måste du komma ihåg att utföra rengöring med jämna mellanrum. För
    Du kan skriva ett enkelt skalskript för att göra detta.

    Om det inte finns något ledigt utrymme på proxydisken, all data
    skrivs automatiskt till huvudminnet. Samtidigt som standard
    den totala prestandan för FS reduceras (på grund av konstanta samtal
    förfaranden för att genomföra alla befintliga transaktioner). Valfritt kan du ställa in
    läge utan förlust av prestanda. Men i det här fallet disken
    Proxyenhetsutrymmet kommer att användas mindre effektivt.
    Det är bekvämt att använda en metadataundersektion (brick) som en proxydisk, förutsatt att den skapas på en tillräckligt högpresterande blockenhet.

    Källa: opennet.ru

  • Lägg en kommentar