O Blog Técnico da META, ligado ao Facebook, apresentou nesta terça-feira, 15, a VESPA, uma técnica desenvolvida entre 2020 e 2022 no Laboratório de Compiladores do Departamento de Ciência da Computação da Universidade Federal de Minas Gerais (DCC/UFMG). O método foi criado e implementado pela aluna de doutorado Angélica Moreira, com orientação do professor do DCC/UFMG Fernando Magno Quintão Pereira e do engenheiro da Facebook/META, Guilherme Ottoni.
Segundo o professor Fernando, programadores escrevem software usando alguma linguagem de programação. Desta forma, o texto que seres humanos conseguem ler, eventualmente é traduzido para um formato binário, isso é, uma sequência de zeros e uns. “É esse formato que computadores entendem. O formato binário codifica instruções que os computadores executam. Algumas dessas instruções levam a escolhas: se certa condição for verdade, então faça isso, senão tome essa outra ação. De um ponto de vista de desempenho, é interessante prever quais serão as sequências de escolhas mais comuns executadas por um programa. Essa capacidade de previsão permite ao compilador organizar as instruções binárias que formam o programa, colocando juntas aquelas instruções mais prováveis de executarem em sequência”, explicou.
Ainda segundo o professor, a META possui uma ferramenta que faz exatamente isso: o sistema BOLT de otimização de código binário, mas o BOLT precisa executar o programa algumas vezes para conhecer as sequências mais comuns de instruções binárias que formam aquele programa. “Esse passo de pré-execução é chamado comumente de “profiling”. Entre 2020 e 2021, contudo, junto aos pesquisadores da META, desenvolvemos uma técnica para prever essas sequências sem a necessidade de executar o programa”, contou.
Além disso, Fernando explicou que a VESPA usa um modelo estocástico que aproxima as escolhas mais prováveis tomadas por um programa. Essa aproximação, conforme o professor, é feita a partir da análise de milhares de programas diferentes. “Essas observações permitiram a Angélica criar um modelo das ações de programas. Assim, é possível prever as ações mais comuns de programas desconhecidos, a partir do comportamento de programas conhecidos. VESPA, atualmente software aberto, vem sendo incorporada ao sistema BOLT, a fim de poder ser utilizada não somente pela META, mas por
qualquer desenvolvedor de código para gerar programas executáveis mais eficientes”, concluiu.
Para ler o texto da META completo, acesse o link.