Reiser5 anunță suport pentru Burst Buffers (Data Tiring)

Eduard Şişkin a anunțat noi oportunități dezvoltate în cadrul proiectului Reiser5. Reiser5 este a o versiune semnificativ reproiectată a sistemului de fișiere ReiserFS, în care suportul pentru volume logice scalabile paralele este implementat la nivel de sistem de fișiere, mai degrabă decât la nivel de dispozitiv bloc, permițându-vă să distribuiți eficient datele într-un volum logic.

Printre inovațiile dezvoltate recent, furnizarea de
oportunitatea pentru utilizator de a adăuga un mic de înaltă performanță
blocați dispozitivul (de exemplu, NVRAM) apelat disc proxyLa
volum logic relativ mare compus din lente
unități bugetare. Acest lucru va crea impresia că toate
volumul este compus din aceleași scumpe de înaltă performanță
dispozitive, cum ar fi un „disc proxy”.

Metoda implementată s-a bazat pe observația simplă că, în practică, discul nu este scris în mod constant, iar curba de încărcare I/O are forma unor vârfuri. În intervalul dintre astfel de „vârfuri”, este întotdeauna posibil să resetați datele de pe discul proxy, rescriind toate datele (sau doar o parte) în fundal în stocarea principală, „lentă”. Astfel, discul proxy este întotdeauna gata să primească o nouă porțiune de date.

Această tehnică (cunoscută sub numele de Burst Buffers) a apărut inițial în
domenii de calcul de înaltă performanță (HPC). Dar s-a dovedit a fi solicitat și pentru aplicațiile obișnuite, în special pentru cele care impun cerințe sporite integrității datelor (de obicei diverse tipuri de baze de date). Astfel de aplicații efectuează orice modificări în orice fișier într-un mod atomic, și anume:

  • mai întâi, este creat un fișier nou care conține datele modificate;
  • acest nou fișier este apoi scris pe disc folosind fsync(2);
  • după aceea, noul fișier este redenumit în cel vechi, care este automat
    Eliberează blocurile ocupate de date vechi.

    Toți acești pași, într-o măsură sau alta, cauzează semnificative
    degradarea performanței pe orice sistem de fișiere. Situatie
    se îmbunătățește dacă noul fișier este scris mai întâi în cel alocat
    dispozitiv de înaltă performanță, care este exact ceea ce se întâmplă în
    sistem de fișiere cu suport Burst Buffers.

    În Reiser5 este planificat să trimită opțional nu numai
    noi blocuri logice ale fișierului, dar și toate paginile murdare în general. În plus,
    nu numai pagini cu date, ci și cu metadate care
    sunt scrise în pașii (2) și (3).

    Suportul pentru discurile proxy se realizează în contextul lucrului obișnuit cu
    Reiser5 volume logice, a anunţat la începutul anului. Acesta este,
    sistemul agregat „disc proxy - stocare principală” este normal
    volum logic, singura diferență fiind că discul proxy are prioritate
    printre alte componente de volum din politica de alocare a adreselor de disc.

    Adăugarea unui disc proxy la un volum logic nu este însoțită de niciunul
    reechilibrarea datelor, iar eliminarea acesteia are loc exact în același mod ca
    scoaterea unui disc obișnuit. Toate operațiunile de disc proxy sunt atomice.
    Gestionarea erorilor și implementarea sistemului (inclusiv după o blocare a sistemului) are loc exact în același mod ca și când discul proxy ar fi o componentă obișnuită
    volum logic.

    După adăugarea unui disc proxy, capacitatea totală a volumului logic
    crește cu capacitatea acestui disc. Monitorizare spațiu liber
    discul proxy este realizat în același mod ca și pentru alte componente de volum, de exemplu. folosind utilitarul volum.reiser4(8).

    Discul proxy trebuie curățat periodic, adică. resetați datele de la
    acesta la depozitul principal. După atingerea stabilității beta Reiser5
    curățarea este planificată să fie automată (va fi gestionată de
    fir nucleu special). În această etapă, responsabilitatea pentru curățare
    revine utilizatorului. Resetarea datelor de pe discul proxy pe cel principal
    stocarea este produsă prin simpla apelare a utilitarului volume.reiser4 cu opțiunea
    „-b”. Ca argument, trebuie să specificați punctul de montare al logicii
    volume Desigur, trebuie să vă amintiți să efectuați curățarea periodic. Pentru
    Puteți scrie un script shell simplu pentru a face acest lucru.

    Dacă nu există spațiu liber pe discul proxy, toate datele
    sunt scrise automat în memoria principală. În același timp, implicit
    performanța generală a FS este redusă (datorită apelurilor constante
    procedurile de angajare a tuturor tranzacţiilor existente). Opțional puteți seta
    modul fără pierderi de performanță. Cu toate acestea, în acest caz, discul
    Spațiul dispozitivului proxy va fi utilizat mai puțin eficient.
    Este convenabil să utilizați o subsecțiune de metadate (cărămidă) ca disc proxy, cu condiția ca aceasta să fie creată pe un dispozitiv bloc suficient de performant.

    Sursa: opennet.ru

  • Adauga un comentariu