Introdução geral
O 3FS (Fire-Flyer File System) é um sistema de arquivos paralelos de código aberto desenvolvido pela equipe do DeepSeek, projetado para SSDs modernos e redes RDMA, com o objetivo de melhorar significativamente a eficiência do acesso aos dados. Ele alcança uma taxa de transferência de leitura agregada de 6,6 TiB/s e uma velocidade de gravação de 3,66 TiB/min em um cluster de 180 nós, demonstrando um desempenho impressionante de alto desempenho. Como um dos resultados da DeepSeek Open Source Week, o 3FS não é apenas um produto de inovação tecnológica, mas também reflete o compromisso da equipe com o compartilhamento da comunidade. Ele subverte o design tradicional do sistema de arquivos distribuídos orientado a disco, otimizado para características de hardware modernas, e é adequado para cenários de computação em grande escala que exigem processamento de dados eficiente, como treinamento de IA e análise de big data. Tanto os desenvolvedores quanto os usuários corporativos podem acessar o código-fonte por meio do GitHub e implementá-lo e personalizá-lo livremente.
Lista de funções
- Acesso a dados de alto rendimentoSuporte a leituras de 6,6 TiB/s e gravações de 3,66 TiB/min, fazendo uso total da largura de banda da rede SSD e RDMA.
- capacidade de processamento paraleloPermite que vários nós trabalhem juntos para melhorar a eficiência do processamento de dados em clusters de grande escala.
- Otimização de hardware modernoAdaptação profunda para SSDs e redes RDMA, eliminando o gargalo de desempenho dos sistemas de arquivos tradicionais.
- Código aberto personalizávelCódigo-fonte: O código-fonte completo é fornecido para que os usuários possam modificar e ampliar a funcionalidade de acordo com suas necessidades.
- Pronto para uso em ambientes de produçãoValidado para produção pela equipe do DeepSeek e pode ser implementado diretamente em cenários comerciais do mundo real.
Usando a Ajuda
Processo de aquisição e instalação
O 3FS, por ser um projeto de código aberto, requer algum conhecimento técnico para ser implantado. A seguir, um guia detalhado de instalação e uso para ajudar os usuários a começar rapidamente.
1. acesso ao código-fonte
- Abra seu navegador e acesse https://github.com/deepseek-ai/3FS.
- Clique no botão "Code" (Código) no canto superior direito da página e selecione "Download ZIP" (Baixar ZIP) para baixar o arquivo zip ou use o comando Git para clonar o repositório:
git clone https://github.com/deepseek-ai/3FS.git
- Quando o download estiver concluído, descompacte o arquivo em um diretório local, por exemplo
/home/user/3FS
.
2. preparação ambiental
O 3FS depende de hardware moderno (SSDs e redes RDMA) e de um ambiente Linux para ser executado. Certifique-se de que seu sistema atenda às seguintes condições:
- sistema operacionalUbuntu 20.04 ou posterior é a distribuição Linux recomendada.
- Requisitos de hardwareClusters de servidores que suportam SSDs NVMe e redes RDMA, como InfiniBand ou RoCE.
- dependente de softwareFerramentas básicas de compilação, como Git, GCC, Make, etc., precisam ser instaladas. Você pode executar o seguinte comando para instalá-las:
sudo apt update sudo apt install git gcc make
3. compilação e instalação
- Vá para o diretório 3FS:
cd /home/user/3FS
- Verifique se há descrições de dependências adicionais (geralmente encontradas no arquivo
README.md
), se houver, instale-o de acordo com a documentação. - Compilar o código-fonte:
fazer
- Após a compilação bem-sucedida, instale no sistema:
sudo make install
Após a conclusão da instalação, os executáveis e os arquivos de configuração do 3FS são implantados no caminho padrão do sistema (geralmente o diretório
/usr/local/bin
).
4. configuração do cluster
- Edite o arquivo de configuração (por padrão, localizado no diretório
configuração
por exemplo3fs.conf
), defina as informações do nó do cluster:- Especifique o endereço IP do nó, por exemplo
nó1=192.168.1.10
. - Configure o caminho de armazenamento SSD, por exemplo
storage_path=/dev/nvme0n1
. - Defina os parâmetros de rede RDMA para garantir a comunicação adequada entre os nós.
- Especifique o endereço IP do nó, por exemplo
- Depois de salvar a configuração, inicie o serviço em cada nó:
3fs --config /path/to/3fs.conf
5. verificação da instalação
- Verifique o status do serviço:
3fs --status
- Se uma mensagem como "3FS running on 180 nodes" (3FS em execução em 180 nós) for retornada, a implantação foi bem-sucedida.
Funções principais
Acesso a dados de alto rendimento
- Montagem de um sistema de arquivosExecute o seguinte comando no cliente para montar o 3FS em um diretório local:
mount -t 3fs /caminho/para/armazenamento /mnt/3fs
- recuperar dadosUso direto
gato
talvezcp
para ler um arquivo, por exemplo:cat /mnt/3fs/large_file.txt
O sistema extrai automaticamente dados de vários nós em paralelo a velocidades de até 6,6 TiB/s.
- gravar dadosCopiar arquivos para o diretório de montagem:
cp arquivo_grande.txt /mnt/3fs/
Velocidade de gravação de até 3,66 TiB/min.
processamento paralelo
- Em um ambiente com vários nós, o 3FS atribui automaticamente tarefas de dados. Os usuários não precisam intervir manualmente, apenas precisam garantir que o aplicativo ofereça suporte a E/S paralela (por exemplo, programas Hadoop ou MPI).
- Exemplo de desempenho paralelo de teste:
dd if=/dev/zero of=/mnt/3fs/testfile bs=1G count=10
Observe se a taxa de transferência está próxima do valor esperado.
desenvolvimento personalizado
- Modificar o código-fonte: vá para
src
para editar arquivos C/C++. Por exemplo, ajuste o tamanho do buffer para otimizar para uma carga de trabalho específica. - Recompilar:
make clean && make
- Implemente a versão modificada:
sudo make install
advertência
- compatibilidade de hardwareVerifique se todos os nós são compatíveis com RDMA e NVMe, caso contrário, o desempenho poderá ser prejudicado.
- Configuração de redeO firewall precisa abrir as portas relacionadas ao RDMA (por exemplo, 4791 por padrão) para evitar a interrupção da comunicação.
- referência de documentaçãoSe você encontrar problemas durante a instalação, verifique a página do GitHub para o arquivo
README.md
Ou envie um problema para obter ajuda.
Com as etapas acima, os usuários podem criar e usar rapidamente o 3FS para experimentar seus recursos eficientes de acesso a dados. Seja no treinamento de IA ou no processamento de big data, o 3FS pode oferecer um forte suporte.
Analisando o lançamento desta semana, a DeepSeek criou uma pilha de tecnologia completa para modelos grandes:
-
- Dia 1 - FlashMLAKernel de decodificação MLA eficiente e otimizado para o processamento de sequências de comprimento variável -
- Dia 2 - DeepEPPrimeira biblioteca de comunicação paralela especializada de código aberto para dar suporte ao treinamento e à inferência de modelos MoE -
- Dia 3 - DeepGEMMBiblioteca GEMM do FP8 que oferece suporte a cálculos densos e de MoE -
- Dia 4 - Estratégias de computação paralelaInclui o algoritmo paralelo bidirecional em pipeline DualPipe e o EPLB Expert Parallel Load Balancer. -
- Dia 5 - 3FS e SmallpondInfraestrutura de processamento e armazenamento de dados de alto desempenho