Reiser5 anuncia soporte para Burst Buffers (Data Tiring)

Eduard Shishkin anunciou novas oportunidades desenvolvidas no marco do proxecto Reiser5. Reiser 5 é un unha versión significativamente redeseñada do sistema de ficheiros ReiserFS, na que se implementa a compatibilidade con volumes lóxicos escalables paralelos a nivel de sistema de ficheiros, en lugar de a nivel de dispositivo de bloque, o que lle permite distribuír de forma eficiente os datos nun volume lóxico.

Entre as novidades desenvolvidas recentemente, a dotación de
a oportunidade para o usuario de engadir un pequeno alto rendemento
dispositivo de bloqueo (por exemplo, NVRAM) chamado disco proxy, a
volume lóxico relativamente grande composto por lento
impulsos orzamentarios. Isto creará a impresión de que todos
o volume está composto polo mesmo caro de alto rendemento
dispositivos, como un "disco proxy".

O método implementado baseouse na simple observación de que na práctica o disco non se escribe constantemente e a curva de carga de E/S ten forma de picos. No intervalo entre estes "picos", sempre é posible restablecer os datos do disco proxy, reescribindo todos os datos (ou só unha parte) en segundo plano no almacenamento principal "lento". Así, o disco proxy está sempre preparado para recibir unha nova porción de datos.

Esta técnica (coñecida como Burst Buffers) orixinouse orixinalmente en
áreas de computación de alto rendemento (HPC). Pero tamén resultou ser demandado para aplicacións comúns, especialmente para aquelas que demandan máis a integridade dos datos (xeralmente varios tipos de bases de datos). Tales aplicacións realizan calquera cambio en calquera ficheiro de forma atómica, a saber:

  • primeiro, créase un ficheiro novo que contén os datos modificados;
  • este novo ficheiro escríbese no disco usando fsync(2);
  • despois diso, o novo ficheiro cámbiase o nome ao antigo, que é automaticamente
    Libera bloques ocupados por datos antigos.

    Todos estes pasos, nun ou outro grao, causan importantes
    degradación do rendemento en calquera sistema de ficheiros. Situación
    mellora se o ficheiro novo se escribe primeiro no asignado
    dispositivo de alto rendemento, que é exactamente o que ocorre en
    sistema de ficheiros con soporte para Burst Buffers.

    En Reiser5 está previsto enviar opcionalmente non só
    novos bloques lóxicos do ficheiro, pero tamén todas as páxinas sucias en xeral. Ademais,
    non só páxinas con datos, senón tamén con metadatos que
    están escritos nos pasos (2) e (3).

    O soporte para os discos proxy realízase no contexto do traballo habitual con
    Reiser5 volumes lóxicos, anunciado a principios de ano. É dicir,
    o sistema agregado "disco proxy - almacenamento principal" é normal
    volume lóxico coa única diferenza de que o disco proxy ten prioridade
    entre outros compoñentes de volume na política de asignación de enderezos de disco.

    Engadir un disco proxy a un volume lóxico non vai acompañado de ningún
    reequilibrio de datos, e a súa eliminación ocorre exactamente do mesmo xeito que
    eliminando un disco normal. Todas as operacións do disco proxy son atómicas.
    O manexo de erros e a implantación do sistema (incluso despois dun fallo do sistema) ocorre exactamente do mesmo xeito que se o disco proxy fose un compoñente normal
    volume lóxico.

    Despois de engadir un disco proxy, a capacidade total do volume lóxico
    aumenta a capacidade deste disco. Monitorización do espazo libre
    o disco proxy realízase do mesmo xeito que para outros compoñentes de volume, é dicir. utilizando a utilidade volume.reiser4(8).

    O disco proxy debe limparse periodicamente, é dicir. restablecer datos de
    ao almacenamento principal. Despois de alcanzar a estabilidade beta Reiser5
    a limpeza está prevista para ser automática (será xestionada por
    fío de núcleo especial). Nesta fase, a responsabilidade da limpeza
    corresponde ao usuario. Restablecendo os datos do disco proxy ao principal
    o almacenamento prodúcese simplemente chamando á utilidade volume.reiser4 coa opción
    "-b". Como argumento, cómpre especificar o punto de montaxe do lóxico
    volumes Por suposto, debes lembrar de realizar a limpeza periodicamente. Para
    Podes escribir un script de shell sinxelo para facelo.

    Se non hai espazo libre no disco proxy, todos os datos
    escriben automaticamente no almacenamento principal. Ao mesmo tempo, por defecto
    o rendemento global do FS redúcese (debido ás chamadas constantes
    procedementos para realizar todas as transaccións existentes). Opcionalmente pode configurar
    modo sen perda de rendemento. Non obstante, neste caso o disco
    O espazo do dispositivo proxy empregarase de forma menos eficiente.
    É conveniente utilizar unha subsección de metadatos (ladrillo) como disco proxy, sempre que se cree nun dispositivo de bloques de alto rendemento.

    Fonte: opennet.ru

  • Engadir un comentario