Opções de armazenamento para dados do Cloud TPU

Neste documento, descrevemos as opções de armazenamento de dados que podem ser usadas ao treinar modelos no Cloud TPU.

Introdução

O Cloud TPU requer armazenamento de dados para o seguinte:

  • download e pré-processamento do conjunto de dados
  • processamento do pipeline de entrada do host
  • entrada de treinamento de modelo
  • saída de treinamento de modelo

Há cinco opções de armazenamento para os dados do aplicativo do Cloud TPU e os conjuntos de dados de treinamento:

Para detalhes de custo de armazenamento e desempenho, consulte Opções de armazenamento.

O disco de inicialização para uma VM ou nó de TPU

Por padrão, cada VM do Cloud TPU tem um único disco permanente de inicialização de 100 GB que contém o sistema operacional. O disco de inicialização também pode ser usado para armazenar conjuntos de dados transferidos por download para pré-processamento e modelagem de dados de entrada e saída, desde que a quantidade total não exceda o espaço disponível no disco de inicialização.

Se o aplicativo de treinamento exigir espaço de armazenamento além do padrão do disco de inicialização, será possível adicionar um ou mais discos permanentes à VM ou à instância de VM da TPU. Há procedimentos diferentes para adicionar um disco permanente a um nó de TPU (uma VM do Compute Engine) ou a uma VM da TPU.

Um disco permanente anexado a uma VM ou nó de TPU

Os discos permanentes são dispositivos de armazenamento de rede duráveis que as instâncias de VM podem acessar, como discos físicos em um computador ou servidor. Os dados em cada disco permanente são distribuídos em vários discos físicos. O Compute Engine gerencia os discos físicos e a distribuição de dados para garantir a redundância e otimizar o desempenho.

Os discos permanentes são criados independentemente das instâncias de máquina virtual (VM, na sigla em inglês). Portanto, é possível manter os dados mesmo depois de excluir as instâncias de VM. Como o desempenho dos discos permanentes aumenta ou diminui automaticamente de acordo com o tamanho, é possível redimensionar os discos permanentes atuais ou adicionar mais discos permanentes em uma instância para atender aos seus requisitos de desempenho e espaço de armazenamento.

Os discos permanentes têm redundância incorporada para proteger os dados contra falhas de equipamento e garantir a disponibilidade de dados por meio de eventos de manutenção de data center. As somas de verificação são calculadas para todas as operações de disco permanente para garantir que você leia exatamente aquilo que foi gravado.

Além disso, é possível criar snapshots de discos permanentes para proteção contra perda de dados devido a erro do usuário. Os snapshots são incrementais e levam apenas alguns minutos para serem criados, mesmo se os discos dos snapshots estiverem anexados a instâncias em execução.

Para mais informações sobre o uso de discos permanentes com VMs de TPU, consulte Adicionar um disco permanente a uma VM de TPU.

Buckets do Cloud Storage

Os buckets do Cloud Storage são a opção de armazenamento mais flexível, escalonável e durável para as instâncias de VM. Se o job de treinamento não exigir latência menor dos discos permanentes, armazene o conjunto de dados em um bucket do Cloud Storage.

O desempenho dos buckets do Cloud Storage depende da classe de armazenamento selecionada e do local do bucket relacionado à instância.

A criação do bucket do Cloud Storage na mesma zona da instância de VM (para nós da TPU) ou da VM da TPU proporciona desempenho comparável aos discos permanentes, mas com latência maior e características de capacidade menos consistentes.

Todos buckets do Cloud Storage têm redundância incorporada para proteger seus dados contra falhas em equipamentos e garantir a disponibilidade deles durante eventos de manutenção de data center. Os checksums são calculados para todas as operações do Cloud Storage para garantir que você consiga ler exatamente aquilo que gravou.

Ao contrário dos discos permanentes, os buckets do Cloud Storage não estão restritos à zona em que a instância está localizada. Além disso, é possível ler e gravar dados em um bucket a partir de várias instâncias ao mesmo tempo. Por exemplo, configure instâncias em várias zonas para ler e gravar dados no mesmo bucket em vez de replicar os dados em discos permanentes em várias zonas.

Cloud Storage FUSE

O Cloud Storage FUSE permite ativar e acessar buckets do Cloud Storage como sistemas de arquivos locais. Isso permite que os aplicativos leiam e gravem objetos no bucket usando a semântica padrão de sistemas de arquivos.

Consulte a documentação do FUSE do Cloud Storage para detalhes sobre como o FUSE do Cloud Storage funciona e uma descrição de como as operações do Cloud Storage são mapeadas para operações do Cloud Storage. Veja mais informações sobre como usar o Cloud Storage FUSE, por exemplo, para instalar a CLI do gcsfuse e ativar buckets no GitHub.

Compartilhamento de arquivos do Filestore

O compartilhamento de arquivos do Filestore é um armazenamento conectado à rede (NAS, na sigla em inglês) totalmente gerenciado do Compute Engine. O Filestore oferece compatibilidade nativa com os aplicativos empresariais atuais e aceita qualquer cliente compatível com NFSv3.

O Filestore oferece baixa latência para operações com arquivos. Para cargas de trabalho sensíveis à latência, o Filestore tem capacidade para até 100 TB e capacidade de processamento de 25 GB/s e 720 mil IOPS, com variação mínima de desempenho.

Com o Filestore, você facilmente monta compartilhamentos de arquivos nas VMs do Compute Engine.

A seguir