Reiser5 kondigt ondersteuning aan voor Burst Buffers (Data Tiering)

Eduard Sjisjkin aangekondigd nieuwe kansen ontwikkeld in het kader van het Reiser5-project. Reiser5 vertegenwoordigen zichzelf een aanzienlijk opnieuw ontworpen versie van het ReiserFS-bestandssysteem, waarin ondersteuning voor parallelle schaalbare logische volumes is geïmplementeerd op bestandssysteemniveau, in plaats van op blokapparaatniveau, waardoor u gegevens efficiënt over een logisch volume kunt distribueren.

Een van de onlangs ontwikkelde innovaties is het aanbieden van
de mogelijkheid voor de gebruiker om een ​​kleine high-performance toe te voegen
blokapparaat (bijv. NVRAM) gebeld proxy-schijf, naar
relatief groot logisch volume bestaande uit langzaam
budget drijfveren. Dit zal de indruk wekken dat alles
het volume bestaat uit dezelfde dure high-performance
apparaten, zoals een “proxyschijf”.

De geïmplementeerde methode was gebaseerd op de simpele observatie dat er in de praktijk niet voortdurend naar de schijf wordt geschreven en dat de I/O-belastingscurve de vorm heeft van pieken. In het interval tussen dergelijke "pieken" is het altijd mogelijk om gegevens van de proxyschijf opnieuw in te stellen, waarbij alle gegevens (of slechts een deel ervan) op de achtergrond worden herschreven naar de belangrijkste, "langzame" opslag. De proxyschijf is dus altijd gereed om een ​​nieuw deel van de gegevens te ontvangen.

Deze techniek (bekend als Burst Buffers) is oorspronkelijk ontstaan ​​in
gebieden van high performance computing (HPC). Maar er bleek ook vraag naar te zijn voor gewone applicaties, vooral voor applicaties die hogere eisen stellen aan de data-integriteit (meestal verschillende soorten databases). Dergelijke toepassingen voeren eventuele wijzigingen in elk bestand op atomaire wijze uit, namelijk:

  • eerst wordt een nieuw bestand aangemaakt dat de gewijzigde gegevens bevat;
  • dit nieuwe bestand wordt vervolgens naar schijf geschreven met behulp van fsync(2);
  • daarna wordt het nieuwe bestand hernoemd naar het oude, wat automatisch gebeurt
    Maakt blokken vrij die bezet zijn door oude gegevens.

    Al deze stappen veroorzaken, tot op zekere hoogte, aanzienlijke problemen
    prestatievermindering op elk bestandssysteem. Situatie
    verbetert als het nieuwe bestand eerst naar het toegewezen bestand wordt geschreven
    krachtig apparaat, en dat is precies wat er gebeurt
    bestandssysteem met Burst Buffers-ondersteuning.

    In Reiser5 is het de bedoeling om optioneel niet alleen te versturen
    nieuwe logische blokken van het bestand, maar ook alle vuile pagina's in het algemeen. Bovendien,
    niet alleen pagina's met data, maar ook met metadata
    worden geschreven in stappen (2) en (3).

    Ondersteuning voor proxyschijven wordt uitgevoerd in de context van regulier werk met
    Reiser5 logische volumes, aangekondigd in het begin van het jaar. Dat is,
    het samengestelde systeem "proxyschijf - hoofdopslag" is normaal
    logisch volume met als enige verschil dat de proxyschijf prioriteit heeft
    onder andere volumecomponenten in het schijfadrestoewijzingsbeleid.

    Het toevoegen van een proxyschijf aan een logisch volume gaat niet gepaard met een
    het opnieuw in evenwicht brengen van gegevens, en de verwijdering ervan gebeurt op precies dezelfde manier als
    een gewone schijf verwijderen. Alle proxyschijfbewerkingen zijn atomair.
    Foutafhandeling en systeemimplementatie (ook na een systeemcrash) vinden op precies dezelfde manier plaats alsof de proxyschijf een regulier onderdeel zou zijn
    logisch volume.

    Na het toevoegen van een proxyschijf, de totale capaciteit van het logische volume
    neemt toe met de capaciteit van deze schijf. Bewaking van de vrije ruimte
    proxyschijf wordt op dezelfde manier uitgevoerd als voor andere volumecomponenten, d.w.z. met behulp van het hulpprogramma volume.reiser4(8).

    De proxyschijf moet periodiek worden schoongemaakt, d.w.z. gegevens opnieuw instellen van
    naar de hoofdopslag. Na het bereiken van bètastabiliteit Reiser5
    het schoonmaken is automatisch gepland (het wordt beheerd door
    speciale kerneldraad). In dit stadium is de verantwoordelijkheid voor het schoonmaken
    ligt bij de gebruiker. Gegevens opnieuw instellen van de proxyschijf naar de hoofdschijf
    opslag wordt geproduceerd door eenvoudigweg het hulpprogramma volume.reiser4 met de optie aan te roepen
    "-B". Als argument moet u het mountpunt van het logische
    volumes Natuurlijk moet u eraan denken om periodiek schoon te maken. Voor
    U kunt hiervoor een eenvoudig shellscript schrijven.

    Als er geen vrije ruimte op de proxyschijf is, worden alle gegevens
    worden automatisch naar het hoofdgeheugen geschreven. Tegelijkertijd standaard
    de algehele prestaties van de FS zijn verminderd (als gevolg van constante oproepen
    procedures voor het uitvoeren van alle bestaande transacties). Optioneel kunt u instellen
    modus zonder prestatieverlies. In dit geval echter de schijf
    De ruimte op het proxyapparaat zal minder efficiënt worden gebruikt.
    Het is handig om een ​​subsectie met metagegevens (steen) als proxyschijf te gebruiken, op voorwaarde dat deze is gemaakt op een blokapparaat met voldoende hoge prestaties.

    Bron: opennet.ru

  • Voeg een reactie