Reiser5 ilmoittaa tuen purskepuskureille (Data Tiring)

Eduard Shishkin ilmoitti uusia mahdollisuuksia kehitettiin Reiser5-projektin puitteissa. Reiser5 on a ReiserFS-tiedostojärjestelmän merkittävästi uusittu versio, jossa rinnakkaisten skaalautuvien loogisten taltioiden tuki on toteutettu tiedostojärjestelmätasolla eikä lohkolaitetasolla, mikä mahdollistaa tietojen tehokkaan jakamisen loogisen taltion kesken.

Viime aikoina kehitettyjen innovaatioiden joukossa on mm
käyttäjälle mahdollisuus lisätä pieni korkean suorituskyvyn
lohkolaite (esim. NVRAM) kutsutaan välityspalvelinlevy,
suhteellisen suuri looginen volyymi, joka koostuu hitaista
budjettiasemia. Tämä luo vaikutelman, että kaikki
volyymi koostuu samasta kalliista korkean suorituskyvyn
laitteita, kuten "välityspalvelinlevyä".

Toteutettu menetelmä perustui siihen yksinkertaiseen havaintoon, että käytännössä levylle ei kirjoiteta jatkuvasti ja I/O-kuormituskäyrä on huippujen muotoinen. Tällaisten "huippujen" välisenä aikana on aina mahdollista nollata tiedot välityspalvelinlevyltä kirjoittamalla kaikki tiedot (tai vain osa) taustalla uudelleen "hitaaseen" päämuistiin. Siten välityspalvelinlevy on aina valmis vastaanottamaan uuden osan dataa.

Tämä tekniikka (tunnetaan nimellä Burst Buffers) sai alkunsa vuonna
korkean suorituskyvyn tietojenkäsittelyn (HPC) alueilla. Mutta se osoittautui myös kysytyksi tavallisille sovelluksille, erityisesti niille, jotka asettavat korkeampia vaatimuksia tietojen eheydelle (yleensä erityyppiset tietokannat). Tällaiset sovellukset tekevät kaikki muutokset mihin tahansa tiedostoon atomisella tavalla, nimittäin:

  • ensin luodaan uusi tiedosto, joka sisältää muuttuneet tiedot;
  • tämä uusi tiedosto kirjoitetaan sitten levylle komennolla fsync(2);
  • sen jälkeen uusi tiedosto nimetään uudelleen vanhaksi, mikä tapahtuu automaattisesti
    Vapauttaa vanhojen tietojen varaamat lohkot.

    Kaikki nämä vaiheet aiheuttavat tavalla tai toisella merkittäviä
    suorituskyvyn heikkeneminen missä tahansa tiedostojärjestelmässä. Tilanne
    paranee, jos uusi tiedosto kirjoitetaan ensin varattuun tiedostoon
    korkean suorituskyvyn laite, joka on juuri sitä mitä tapahtuu
    tiedostojärjestelmä Burst Buffers -tuella.

    Reiser5:ssä on tarkoitus lähettää valinnaisesti paitsi
    tiedoston uusia loogisia lohkoja, mutta myös kaikkia likaisia ​​sivuja yleensä. Lisäksi,
    ei vain tietoja sisältäviä sivuja, vaan myös metatietoja
    kirjoitetaan vaiheissa (2) ja (3).

    Välityspalvelinlevyjen tuki tapahtuu säännöllisen työskentelyn yhteydessä
    Reiser5 loogiset tilaukset, ilmoitti vuoden alussa. Tuo on,
    aggregaattijärjestelmä "välityspalvelin - päämuisti" on normaali
    looginen taltio, jonka ainoa ero on, että välityspalvelinlevyllä on etusija
    levyn osoitteenvarauskäytännön muiden taltiokomponenttien joukossa.

    Välityspalvelinlevyn lisäämiseen loogiseen taltioon ei liity mitään
    tietojen tasapainottaminen, ja sen poistaminen tapahtuu täsmälleen samalla tavalla kuin
    tavallisen levyn poistaminen. Kaikki välityspalvelimen levytoiminnot ovat atomisia.
    Virheiden käsittely ja järjestelmän käyttöönotto (mukaan lukien järjestelmän kaatumisen jälkeen) tapahtuu täsmälleen samalla tavalla kuin jos välityspalvelinlevy olisi tavallinen komponentti
    looginen äänenvoimakkuus.

    Välityspalvelinlevyn lisäämisen jälkeen loogisen aseman kokonaiskapasiteetti
    kasvaa tämän levyn kapasiteetilla. Vapaan tilan seuranta
    välityspalvelinlevy suoritetaan samalla tavalla kuin muille taltiokomponenteille, ts. käyttämällä volume.reiser4(8) -apuohjelmaa.

    Välityspalvelinlevy on puhdistettava säännöllisesti, esim. nollaa tiedot kohteesta
    se päämuistiin. Beta-vakauden saavuttamisen jälkeen Reiser5
    siivous on suunniteltu automaattiseksi (sitä hoitaa
    erityinen ydinlanka). Tässä vaiheessa vastuu siivouksesta
    jää käyttäjälle. Tietojen nollaus välityspalvelinlevyltä päälevylle
    tallennustila tuotetaan yksinkertaisesti kutsumalla volyymi.reiser4-apuohjelma vaihtoehdolla
    "-b". Argumenttina sinun on määritettävä loogisen liitospiste
    volyymit Tietenkin sinun tulee muistaa suorittaa puhdistus säännöllisesti. varten
    Voit kirjoittaa yksinkertaisen shell-skriptin tehdäksesi tämän.

    Jos välityspalvelinlevyllä ei ole vapaata tilaa, kaikki tiedot
    kirjoitetaan automaattisesti päämuistiin. Samaan aikaan oletuksena
    FS:n yleinen suorituskyky heikkenee (jatkuvien puhelujen vuoksi
    menettelyt kaikkien olemassa olevien liiketoimien sitomiseksi). Valinnaisesti voit asettaa
    tila ilman suorituskyvyn heikkenemistä. Kuitenkin tässä tapauksessa levy
    Välityspalvelintilaa käytetään vähemmän tehokkaasti.
    Välityslevynä on kätevää käyttää metatieto-alaosastoa (tiiliä), jos se on luotu riittävän suorituskykyiselle lohkolaitteelle.

    Lähde: opennet.ru

  • Lisää kommentti