Estou trabalhando com um sistema de arquivos paralelo remoto (CephFS), montado em /mnt/mycephfs/
, que contém um grande conjunto de dados de arquivos pequenos (200 GB+). Meu aplicativo treina nesses arquivos, mas a leitura direta deles /mnt/mycephfs/
é lenta devido à contenção do sistema de arquivos paralelo e à latência da rede.
Estou procurando uma solução baseada em FUSE que possa: 1. Obter uma lista de arquivos necessários para o aplicativo. 2. Pré-buscar e armazenar em cache esses arquivos em um ponto de montagem local (por exemplo, /mnt/prefetched/
) sem replicar todo o armazenamento remoto (já que minha RAM local e espaço em disco são limitados).
O comportamento desejado: • Se um arquivo (por exemplo, /mnt/mycephfs/file
) já estiver armazenado em cache em /mnt/prefetched/file
, ele deverá ser servido a partir do cache. • Se não estiver armazenado em cache, a solução deverá buscar o arquivo (junto com outros arquivos da lista de pré-busca), armazená-lo em cache em /mnt/prefetched/
e, então, servi-lo a partir daí.
Existem ferramentas ou estruturas que suportam esse tipo de cache seletivo e pré-busca usando o FUSE?