Melhorando a Previsão do Tempo Numérica com DAOS
Este artigo fala sobre o potencial do DAOS pra melhorar a gestão de dados de previsão do tempo.
― 8 min ler
A Previsão Numérica do Tempo (NWP) é essencial pra prever as condições climáticas. Na NWP, modelos matemáticos complexos preveem o estado da atmosfera e como isso vai mudar com o tempo. Isso envolve processar uma quantidade enorme de dados, que cresceu bastante nos últimos anos. A quantidade de dados produzida e usada nesses modelos tá aumentando rapidinho, e incorporar novas tecnologias como Aprendizado de Máquina deve adicionar ainda mais dados e complexidade.
Pra gerenciar esses dados gigantescos de forma eficiente, os sistemas de NWP tradicionalmente usam sistemas de arquivos paralelos compatíveis com POSIX pra armazenamento e compartilhamento de dados. Mas, neste artigo, a gente vai explorar uma nova abordagem, usando o DAOs, um armazenamento de objetos de alta performance feito pra ambientes de computação modernos.
Desafios nos Fluxos de Trabalho da NWP
Os fluxos de trabalho da NWP são bem intensivos em dados, gerando e processando uma quantidade tremenda de informação todos os dias. Atualmente, esses fluxos rodam várias vezes ao dia e envolvem um monte de cálculos em vários nós de computação. Com as demandas científicas aumentando, a necessidade de uma melhor Gestão de Dados se torna crítica.
As soluções atuais de armazenamento de dados enfrentam limitações, principalmente quando lidam com várias operações de leitura e escrita ao mesmo tempo. Essas limitações podem causar atrasos sérios e ineficiências na hora de fazer previsões. Sistemas de arquivos tradicionais exigem que os desenvolvedores gerenciem o acesso aos dados com cuidado, criando complexidade e potenciais erros.
Limitações dos Sistemas de Arquivos Tradicionais
Os sistemas de arquivos tradicionais operam sob normas criadas há décadas. Essas normas eram adequadas quando o armazenamento era geralmente local. Porém, se tornam problemáticas em ambientes de Computação de Alta Performance (HPC), onde muitos processos precisam acessar dados compartilhados.
Os principais problemas com sistemas de arquivos tradicionais incluem:
- Sobrecarga de Metadados: Cada arquivo e diretório requer manutenção pelo sistema operacional, criando trabalho extra e atrasando operações.
- Acesso Inflexível: Os desenvolvedores têm que criar estratégias pra gerenciar o acesso simultâneo, o que pode levar a mais complexidade e erros.
- Mecanismos de Bloqueio: Sistemas distribuídos usam bloqueios pra acesso a dados, e isso pode introduzir atrasos e reduzir a performance quando várias aplicações precisam acessar os mesmos dados ao mesmo tempo.
Rumo a uma Solução Melhor
Pra enfrentar esses desafios, o Centro Europeu de Previsão do Tempo a Médio Prazo (ECMWF) desenvolveu uma biblioteca de armazenamento chamada FDB. Essa biblioteca tem como objetivo simplificar o acesso aos dados pra aplicações de NWP, abstraindo algumas das complexidades dos sistemas de arquivos tradicionais.
Esforços recentes dividiram a biblioteca FDB em duas partes: uma pra catalogar dados e a outra pra armazená-los. Embora essas mudanças ajudem a melhorar a performance, as limitações inerentes dos sistemas de arquivos tradicionais ainda criam obstáculos significativos.
Introdução do DAOS
DAOS, ou Armazenamento de Objetos Assíncrono Distribuído, é uma nova tecnologia de armazenamento que oferece uma forma diferente de gerenciar dados. O DAOS é projetado especificamente pra ambientes com muitos usuários e processos acessando dados ao mesmo tempo. Ele oferece as seguintes vantagens:
- Redução das Requisitos de Metadados: O DAOS minimiza a quantidade de metadados necessários, diminuindo a sobrecarga associada à gestão de dados.
- Gerenciamento de Contenção do Lado do Servidor: Ele resolve conflitos diretamente no servidor, evitando atrasos que ocorrem com bloqueios distribuídos.
- Acesso Rápido a Dados: O DAOS permite acessar pequenas partes de dados, em vez de exigir blocos inteiros, o que pode acelerar bastante as operações.
Esse artigo vai detalhar como o FDB foi adaptado pra usar o DAOS e avaliar sua performance em comparação ao sistema POSIX tradicional.
Como a NWP Funciona e Fluxos de Dados Atuais
Na NWP, a previsão envolve rodar modelos regularmente pra prever as condições climáticas. Cada execução de modelo gera grandes quantidades de dados. Por exemplo, o ECMWF faz cerca de quatro execuções de modelos por dia, cada uma gerando em torno de 70 terabytes de dados.
Durante cada execução, muitos nós de computação trabalham juntos, processando dados simultaneamente. Isso cria uma carga pesada nos sistemas de armazenamento, principalmente porque muitos processos leem e escrevem dados ao mesmo tempo.
Pra gerenciar os fluxos de dados de forma eficiente, o ECMWF depende de sistemas especializados pra armazenar e compartilhar informações. Esses sistemas precisam ser rápidos e confiáveis pra garantir previsões em tempo hábil.
Problemas com a Abordagem Atual
O sistema atual, usando sistemas de arquivos POSIX, enfrenta várias dificuldades pra atender às demandas dos fluxos de trabalho da NWP:
- Complexidade no Acesso aos Dados: Cada processo tem que lidar com o acesso aos dados de uma maneira que evite conflitos, tornando o design da aplicação mais complicado.
- Limitações de Performance: A estrutura dos sistemas de arquivos tradicionais leva a gargalos quando muitos processos estão tentando acessar os mesmos recursos.
- Garantias de Consistência: Garantir que os dados permaneçam consistentes enquanto são acessados por vários processos pode atrasar as operações.
Esses desafios limitam o quão bem a NWP pode escalar e se adaptar ao aumento do volume de dados.
Por que o DAOS Oferece uma Abordagem Melhor
O DAOS traz várias características que podem superar as limitações dos sistemas de arquivos tradicionais. Os principais benefícios incluem:
- Alta Performance: O DAOS mostrou desempenho mais rápido no manuseio de cargas de dados comparado aos sistemas POSIX, especialmente em situações de alta contenção.
- Simplicidade no Acesso: O design do DAOS permite uma gestão de dados mais fácil, o que ajuda a aliviar a carga sobre os desenvolvedores e reduz a probabilidade de erros.
- Gerenciamento Avançado de I/O: O DAOS pode gerenciar múltiplas operações de leitura e escrita simultaneamente, sem os atrasos vistos em sistemas de bloqueio tradicionais.
Implementando o DAOS na NWP
Pra integrar o DAOS, a biblioteca FDB foi adaptada pra trabalhar com esse novo modelo de armazenamento. Isso envolve criar dois novos componentes pro DAOS: os backends de Catálogo e Armazenamento. O Catálogo gerencia a indexação de dados, enquanto o Armazenamento lida com o armazenamento real dos dados.
Ambos os componentes são projetados pra fornecer uma interface tranquila com a API existente do FDB, facilitando pros desenvolvedores adotarem e implementarem o DAOS sem mudanças significativas em suas aplicações.
Avaliação de Performance
Pra avaliar como a nova configuração do DAOS se sai em comparação aos sistemas tradicionais, uma série de testes de benchmark foi realizada.
Os testes incluíram:
- Performance de Processo Único: Examinar como o DAOS lida com dados quando um único processo tá escrevendo ou lendo.
- Acesso Concorrente: Ver como o DAOS se comporta quando múltiplos processos acessam dados ao mesmo tempo.
- Testes de Escalabilidade: Avaliar como a performance muda à medida que o número de nós e processos aumenta.
Configuração de Testes e Metodologia
Os testes de performance foram realizados usando um sistema de computação de alta performance de pesquisa chamado NEXTGenIO. Esse sistema tem uma configuração específica de nós de processamento e armazenamento, permitindo que vários testes sejam executados de forma eficaz.
Os participantes desses testes usaram uma ferramenta de benchmark de performance chamada fdb-hammer. Essa ferramenta é projetada pra simular como os processos de modelos na NWP interagiriam com o sistema de armazenamento, fornecendo métricas de performance realistas.
Resultados da Avaliação de Performance
Os resultados dos benchmarks mostraram que o DAOS oferece performance melhor do que os sistemas POSIX tradicionais, especialmente na presença de alta contenção. Aqui estão algumas das principais descobertas:
- Maior Largura de Banda: O DAOS conseguiu uma largura de banda maior, indicando que mais dados poderiam ser processados em um determinado período de tempo.
- Melhor Escalabilidade: À medida que mais nós e processos eram adicionados, o DAOS continuou a se sair bem, demonstrando sua capacidade de lidar com cargas crescentes sem quedas significativas de performance.
Conclusão
A transição pro DAOS oferece melhorias promissoras pros fluxos de trabalho de previsão numérica do tempo. A capacidade de gerenciar grandes volumes de dados de forma eficiente enquanto simplifica a complexidade do desenvolvimento de aplicações vai beneficiar não só o ECMWF, mas também outras organizações que trabalham com tarefas intensivas em dados semelhantes.
No futuro, mais testes em sistemas maiores vão ajudar a validar essas descobertas e refinar a integração do DAOS nos fluxos de trabalho operacionais. As percepções obtidas vão guiar o desenvolvimento contínuo de soluções de armazenamento de alta performance adaptadas aos desafios emergentes de computação.
Direções Futuras
À medida que a tecnologia continua a evoluir, haverá novas oportunidades pra otimizar os fluxos de trabalho da NWP. A adaptabilidade do DAOS pode abrir caminho pra um desempenho aprimorado não só na previsão do tempo, mas também em várias outras áreas científicas que exigem processamento extensivo de dados.
Construindo em cima dessa pesquisa, o foco vai se deslocar pra implementar estratégias de gestão de dados aprimoradas que aproveitem as vantagens do DAOS, levando a previsões meteorológicas mais precisas e rápidas.
Título: Reducing the Impact of I/O Contention in Numerical Weather Prediction Workflows at Scale Using DAOS
Resumo: Operational Numerical Weather Prediction (NWP) workflows are highly data-intensive. Data volumes have increased by many orders of magnitude over the last 40 years, and are expected to continue to do so, especially given the upcoming adoption of Machine Learning in forecast processes. Parallel POSIX-compliant file systems have been the dominant paradigm in data storage and exchange in HPC workflows for many years. This paper presents ECMWF's move beyond the POSIX paradigm, implementing a backend for their storage library to support DAOS -- a novel high-performance object store designed for massively distributed Non-Volatile Memory. This system is demonstrated to be able to outperform the highly mature and optimised POSIX backend when used under high load and contention, as per typical forecast workflow I/O patterns. This work constitutes a significant step forward, beyond the performance constraints imposed by POSIX semantics.
Autores: Nicolau Manubens, Simon D. Smart, Emanuele Danovaro, Tiago Quintino, Adrian Jackson
Última atualização: 2024-04-03 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2404.03107
Fonte PDF: https://arxiv.org/pdf/2404.03107
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://www.ecmwf.int/en/forecasts/documentation-and-support
- https://doi.org/10.1038/nature14956
- https://www.nas.nasa.gov/hecc/support/kb/lustre-best-practices
- https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/
- https://www.nextplatform.com/2017/09/11/whats-bad-posix-io/
- https://www.usenix.org/legacy/publications/library/proceedings/fast02/full
- https://wiki.lustre.org/Understanding
- https://github.com/ecmwf/fdb
- https://ngioproject.github.io/nextgenio-docs/html/index.html
- https://doi.org/10.1145/3581576.3581577
- https://doi.org/10.1145/3624062.3624193
- https://doi.org/10.1145/3341301.3359656
- https://io500.org/list/sc23/ten-production
- https://github.com/hpc/ior
- https://www.ecmwf.int/en/forecasts/access-forecasts/access-archive-datasets
- https://docs.lib.purdue.edu/ccpubs/97
- https://foundation.daos.io
- https://docs.daos.io/latest/overview/architecture
- https://docs.daos.io/v2.4/user/filesystem/
- https://doi.org/10.1145/3357526.3357528
- https://destination-earth.eu
- https://warmworld.de
- https://horizon-opencube.eu
- https://eupex.eu