Skip to main content

O que é tungstênio?

Como o projeto Tungsten otimiza o mecanismo de execução do Spark com uso mais inteligente de memória, algoritmos com reconhecimento de cache e geração de código para aproximar o desempenho ao nível do hardware puro.

by Equipe da Databricks

  • Veja como a Tungsten se concentra em aprimorar a eficiência de memória e CPU no mecanismo de execução do Spark para se aproximar dos limites de hardware modernos para aplicativos Spark.
  • Saiba mais sobre as principais iniciativas da Tungsten, incluindo gerenciamento explícito de memória, computação com reconhecimento de cache, geração de código e redução de despachos de funções virtuais.
  • Entenda como técnicas como manter dados intermediários em registradores da CPU, desenrolamento de loops e suporte a SIMD proporcionam ganhos significativos de velocidade para cargas de trabalho Spark SQL e DataFrame.

O que é o Projeto Tungsten?

Tungsten é o codinome do projeto guarda-chuva que modifica o mecanismo de execução do Apache Spark. Seu foco é melhorar drasticamente a memória e a eficiência da CPU para aplicativos Spark, aproximando o desempenho dos limites do hardware moderno.

Relatório

O manual de IA agêntica para empresas

Iniciativas incluídas no Projeto Tungsten

  • Gerenciamento de memória e processamento binário: uso da semântica do aplicativo para gerenciar explicitamente a memória e eliminar o modelo de objeto JVM e a sobrecarga da coleta de lixo.
  • Computação com reconhecimento de cache: uso de algoritmos e estruturas de dados para explorar hierarquias de memória.
  • Geração de código: uso de geração de código para explorar compiladores e CPUs mais recentes.
  • Sem dispatches de função virtual: reduz várias chamadas de CPU que podem afetar gravemente o desempenho em bilhões de dispatches.
  • Dados intermediários na memória e registradores da CPU: Tungsten Phase 2 coloca dados intermediários nos registradores da CPU. Isso reduz drasticamente o número de ciclos para recuperar dados dos registradores da CPU em vez da memória.
  • Desenrolamento de loop e SIMD: o mecanismo de execução do Apache Spark foi otimizado para aproveitar os compiladores mais recente e os recursos de CPU para compilar e executar com eficiência loops for simples (em oposição a gráficos de chamada de função complexos).

O motivo do foco na eficiência da CPU é que o uso da CPU e da memória são os gargalos para as cargas de trabalho do Spark, em vez de E/S e comunicação de rede. Um estudo recente sobre o desempenho de cargas de trabalho de big data mostra essa tendência.
 

Recursos adicionais

Get the latest posts in your inbox

Subscribe to our blog and get the latest posts delivered to your inbox.