Reiser5 anuncia suport per a Burst Buffers (Data Tiring)

Eduard Shishkin va anunciar noves oportunitats desenvolupades en el marc del projecte Reiser5. Reiser5 és un una versió significativament redissenyada del sistema de fitxers ReiserFS, en la qual el suport per a volums lògics escalables paral·lels s'implementa a nivell de sistema de fitxers, en lloc d'un nivell de dispositiu de bloc, que us permet distribuir de manera eficient les dades a través d'un volum lògic.

Entre les innovacions desenvolupades recentment, la prestació de
l'oportunitat per a l'usuari d'afegir un petit d'alt rendiment
dispositiu de bloqueig (per exemple, NVRAM) cridat disc proxyA
volum lògic relativament gran compost de lent
impulsos pressupostaris. Això crearà la impressió que tot
el volum es compon del mateix car d'alt rendiment
dispositius, com un "disc intermediari".

El mètode implementat es va basar en la simple observació que a la pràctica el disc no s'escriu constantment i la corba de càrrega d'E/S té forma de pics. En l'interval entre aquests "pics", sempre és possible restablir les dades del disc proxy, reescrivint totes les dades (o només una part) en segon pla a l'emmagatzematge principal "lent". Així, el disc proxy sempre està preparat per rebre una nova part de dades.

Aquesta tècnica (coneguda com Burst Buffers) es va originar originalment a
àrees de la informàtica d'alt rendiment (HPC). Però també va resultar ser una demanda per a aplicacions ordinàries, especialment per a aquelles que exigeixen més la integritat de les dades (normalment diversos tipus de bases de dades). Aquestes aplicacions realitzen qualsevol canvi en qualsevol fitxer de manera atòmica, és a dir:

  • primer, es crea un fitxer nou que conté les dades modificades;
  • aquest nou fitxer s'escriu al disc amb fsync(2);
  • després d'això, el nou fitxer es canvia de nom per l'antic, que és automàticament
    Allibera blocs ocupats per dades antigues.

    Tots aquests passos, en un grau o un altre, causen importants
    degradació del rendiment en qualsevol sistema de fitxers. Situació
    millora si primer s'escriu el fitxer nou a l'assignat
    dispositiu d'alt rendiment, que és exactament el que passa a
    sistema de fitxers amb suport Burst Buffers.

    A Reiser5 està previst enviar opcionalment no només
    nous blocs lògics del fitxer, però també totes les pàgines brutes en general. A més,
    no només pàgines amb dades, sinó també amb metadades que
    s'escriuen als passos (2) i (3).

    El suport per als discs proxy es porta a terme en el context del treball habitual amb
    Reiser5 volums lògics, anunciat a principis d'any. Això és,
    el sistema agregat "disc intermediari - emmagatzematge principal" és normal
    volum lògic amb l'única diferència que el disc proxy té prioritat
    entre altres components de volum a la política d'assignació d'adreces de disc.

    L'addició d'un disc proxy a un volum lògic no s'acompanya de cap
    el reequilibri de dades i la seva eliminació es produeix exactament de la mateixa manera que
    eliminació d'un disc normal. Totes les operacions del disc proxy són atòmiques.
    La gestió d'errors i el desplegament del sistema (inclòs després d'una fallada del sistema) es produeixen exactament de la mateixa manera que si el disc intermediari fos un component normal.
    volum lògic.

    Després d'afegir un disc proxy, la capacitat total del volum lògic
    augmenta amb la capacitat d'aquest disc. Monitorització de l'espai lliure
    El disc proxy es realitza de la mateixa manera que per a altres components de volum, és a dir. utilitzant la utilitat volume.reiser4(8).

    El disc proxy s'ha de netejar periòdicament, és a dir. restablir les dades de
    a l'emmagatzematge principal. Després d'arribar a l'estabilitat beta Reiser5
    es preveu que la neteja sigui automàtica (estarà gestionada per
    fil especial del nucli). En aquesta fase, la responsabilitat de la neteja
    correspon a l'usuari. Restablir les dades del disc proxy al principal
    L'emmagatzematge es produeix simplement trucant a la utilitat volume.reiser4 amb l'opció
    "-b". Com a argument, heu d'especificar el punt de muntatge del lògic
    volums Per descomptat, heu de recordar fer la neteja periòdicament. Per
    Podeu escriure un script de shell senzill per fer-ho.

    Si no hi ha espai lliure al disc proxy, totes les dades
    s'escriuen automàticament a l'emmagatzematge principal. Al mateix temps, per defecte
    el rendiment global del FS es redueix (a causa de les trucades constants
    procediments per comprometre totes les transaccions existents). Opcionalment es pot configurar
    mode sense pèrdua de rendiment. No obstant això, en aquest cas el disc
    L'espai del dispositiu intermediari s'utilitzarà de manera menys eficient.
    És convenient utilitzar una subsecció de metadades (maó) com a disc intermediari, sempre que es creï en un dispositiu de blocs de rendiment suficient.

    Font: opennet.ru

  • Afegeix comentari