O Parallelstore é um sistema de ficheiros distribuído totalmente gerido e de baixa latência, concebido para satisfazer as exigências da preparação de IA/AA e das cargas de trabalho de computação de alto desempenho (HPC) que precisam de uma latência extremamente baixa (inferior a um milissegundo), semântica POSIX completa e um elevado débito de operações de metadados. O Parallelstore é dimensionado para velocidades de leitura de 1 TB/s e milhões de IOPS.
Para ligar um cluster do Google Kubernetes Engine (GKE) a uma instância do Parallelstore, use o controlador da interface de armazenamento de contentores (CSI) do Parallelstore. O controlador CSI Parallelstore permite-lhe usar a API GKE para consumir instâncias do Parallelstore como volumes para as suas cargas de trabalho com estado (por exemplo, pods e trabalhos). Está otimizado para cargas de trabalho de preparação de IA/ML, particularmente as que envolvem tamanhos de ficheiros mais pequenos e leituras aleatórias.
O GKE ativa o controlador CSI por predefinição quando cria um novo cluster do GKE Autopilot. Nos clusters padrão do GKE novos e existentes, tem de ativar o controlador CSI.
Vantagens
Pode usar o controlador CSI Parallelstore para beneficiar de armazenamento de elevado desempenho. Com o controlador CSI Parallelstore, pode acelerar as cargas de trabalho de computação de alto desempenho e de preparação de IA/aprendizagem automática, com acesso rápido e consistente a dados partilhados para um processamento e uma análise eficientes.
- Tem acesso a sistemas de ficheiros paralelos totalmente geridos como armazenamento através das APIs Kubernetes.
- O controlador CSI Parallelstore do Google Kubernetes Engine suporta os modos de acesso ReadWriteMany, ReadOnlyMany e ReadWriteOnce.
- Pode usar o controlador CSI Parallelstore do Google Kubernetes Engine para aprovisionar dinamicamente os seus PersistentVolumes.
- Pode aceder a instâncias existentes do Parallelstore em cargas de trabalho do Kubernetes. Também pode criar dinamicamente instâncias do Parallelstore e usá-las em cargas de trabalho do Kubernetes com um StatefulSet ou uma implementação.
Limitações
Persistência de dados: o Parallelstore é um sistema de ficheiros "scratch plus". É suportado por SSD local com codificação de eliminação 2+1 e o tempo médio para perda de dados é de dois meses. O Parallelstore não é um armazenamento de longo prazo e deve, em alternativa, ser considerado um sistema de ficheiros extremamente rápido para cargas de trabalho específicas.
Limitação por pod: o GKE suporta a montagem de apenas uma instância do Parallelstore por pod.
- Transferências de dados: a transferência de dados do Cloud Storage para o Parallelstore não é suportada pela API GKE. Para fazer a transferência, use a API Parallelstore.
- Capacidade utilizável: pode configurar a capacidade de armazenamento de 12 GiB a 100 GiB.
- Zonas suportadas: o Parallelstore é suportado nestas zonas. Se a região do cluster for diferente da da instância do Parallelstore, vai verificar-se uma diminuição notória no desempenho de E/S.
- Limitações do VPC-SC para o Parallelstore: se usar a VPC partilhada e os VPC Service Controls, tem de ter o projeto anfitrião que fornece a rede e o projeto de serviço que contém a instância do Parallelstore dentro do mesmo perímetro para que a instância do Parallelstore funcione corretamente. A separação do projeto anfitrião e do projeto de serviço com um perímetro pode fazer com que as instâncias existentes fiquem indisponíveis e pode não criar novas instâncias.
- Compatibilidade com máquinas ARM: o controlador CSI Parallelstore só suporta nós de arquitetura amd64. De momento, os nós baseados em ARM não são suportados.
Requisitos
Para usar o controlador CSI Parallelstore, os seus clusters têm de cumprir os seguintes requisitos:
- Certifique-se de que instalou a versão mais recente da CLI do Google Cloud. A versão mínima suportada da CLI gcloud para esta funcionalidade é a 469.0.0 ou posterior.
- Use a versão 1.29 ou posterior do cluster do Google Kubernetes Engine.
O que se segue?
- Crie e use um volume suportado por uma instância do Parallelstore no Google Kubernetes Engine.
- Aceda a uma instância do Parallelstore existente a partir do Google Kubernetes Engine.