Os algoritmos na física de partículas

Por Malu de Oliveira

Pesquisa básica e computação se impulsionam mutuamente. Na busca de respostas sobre a estrutura da matéria, são construídos aceleradores cada vez mais potentes, que demandam algoritmos mais complexos que, por sua vez, aumentam o conhecimento não só no âmbito estrito da física e da computação, mas também nas mais variadas atividades humanas.

A busca pelos constituintes mais elementares do Universo e os mecanismos que regem seu comportamento tem fascinado a humanidade por milênios. Uma das formas mais eficazes de realizar esse tipo de estudo é provocar colisões entre partículas geradas em grandes aceleradores. No LHC – Large Hadron Collider, maior acelerador de partículas do mundo, localizado na fronteira franco-suíça, prótons (um dos constituintes do núcleo atômico) e núcleos de elementos químicos pesados (como o chumbo) são acelerados em sentidos contrários em um anel com 27 km de circunferência para colidirem em quatro pontos, onde ficam os grandes experimentos do LHC: Alice, Atlas, CMS e LHCb.

Na colisão, as partículas resultantes são captadas por detectores, gerando informações na forma de sinais elétricos que são, por sua vez, canalizados para um batalhão de chips que os digitalizam. É o primeiro elo da cadeia computacional, em que algoritmos selecionam as entradas mais significativas. Assim, os cientistas estudam a física de partículas por meio de gráficos e tabelas resultantes dos dados depurados pelos sistemas computacionais.

“O processamento de dados em física de altas energias compreende a execução de uma enorme sequência de algoritmos que definem regras minuciosas para os sistemas computacionais fazerem aquisição, transformação e seleção dos dados. Os sistemas reconhecem padrões nesses dados e os classificam como pertencentes ou não a grandezas físicas definidas por modelos teóricos”, relata Rogério Iope, físico e engenheiro de computação da Unesp.

Atualmente, chegam a 15 milhões de gigabytes por ano o total de dados gerados no LHC. Como um único centro de computação não conseguiria processar, analisar e armazenar tudo, as tarefas são distribuídas em centros espalhados pelo mundo. Essa rede forma o WLCG – Worldwide LHC Computing Grid, presente em 42 países, com 170 centros de computação. O sistema permite que o pesquisador de um país utilize dados armazenados em outro. Assim, os mais de 8 mil cientistas ligados ao superacelerador desenvolvem suas pesquisas usando o WLCG para compartilhar resultados, dúvidas e hipóteses.

Também chamada de GRID, a rede funciona segundo uma hierarquia de quatro camadas ou tiers. Cada camada engloba diversos centros de computação e provê um conjunto diferente de serviços. O mais central, Tier-Zero, localizado no LHC, tem menos de 20% da capacidade total do GRID. O Tier-1 é um conjunto de 13 centros localizados principalmente na Europa e nos Estados Unidos.

Em torno de 155 centros em universidades e institutos de pesquisa ao redor do mundo compõem o Tier-2. Essa modalidade está presente no Brasil, com três centros de processamento que distribuem para a América do Sul: o Sprace – São Paulo Research and Analysis Center, instalado no Núcleo de Computação Científica (NCC) da Unesp (SP); o Sampa – Sistema de Análise e Multiprocessamento Avançado, no Campus Butantã da USP (SP); e o datacenter do CBPF – Centro Brasileiro de Pesquisas Físicas (RJ), do MCTIC.

O Tier-3 corresponde a serviços providos por pesquisadores individuais ou departamentos em universidades.

Algoritmos regem também o funcionamento do GRID. Rogério Iope, Ricardo Romão e Renato Santana, que administram os Tiers-2 brasileiros, têm uma visão muito clara dessa estrutura.

Ricardo Romão, físico e analista de sistemas da USP, lembra que “no dia a dia aplicamos algoritmos, por exemplo, para atravessar a rua com segurança”. Descrevendo essa coisa incorpórea que é o algoritmo, diz que “ele é composto por três partes em sequência: entrada (um problema conhecido, bem definido e delimitado), rotina, saída (resultado esperado, conclusão, resposta, construção de algo)”.

A etapa intermediária, a rotina, “é composta por funções e procedimentos sequencialmente organizados e sistematizados, estruturados em linguagem apropriada, considerando a semântica e a lógica para a composição de instruções simples ou complexas, que podem ser encadeadas linearmente ou em laço, com desvio de fluxo condicional ou saída de exceção em caso de um evento inesperado interromper a rotina”.

Rogério Iope explica algoritmo como uma “sequência de tarefas para a resolução de problemas”. A função do programa é concretizar um algoritmo – mais ou menos como uma receita de bolo só se concretiza quando alguém pega os ingredientes, mistura e coloca no forno.

Nas palavras de Renato Santana, cientista da computação do CBPF, “algoritmos são ferramentas que nos permitem resolver problemas complexos, de forma estruturada. Sua maior aplicação está na computação –  o computador interpreta e executa as instruções de forma eficiente e rápida. No caso do GRID, algoritmos complexos são usados para que os físicos “vejam” o que procuram. Por exemplo, o bóson de Higgs foi descoberto através da visualização de gráficos dos resultados de algoritmos”.

Quando um usuário submete uma tarefa ao GRID, como buscar um arquivo, ele já insere uma sequência de comandos e rotinas próprios do ambiente. Segue-se, então, um fluxo do tipo: (a) a tarefa é confrontada com recursos disponíveis, (b) um serviço de validação autentica a entrada, que (c) é contabilizada por outro serviço, (d) a tarefa é encaminhada para um servidor e, caso os dados não estejam lá, (e) vai para o site mais próximo, que (f) enviará, se tiver, a cópia requisitada. O fluxo continua até o arquivo entrar na pasta do usuário e “todo o ambiente computacional que foi montado e destinado àquela tarefa é, então, liberado e desmontado”, explica Ricardo Romão.

 

Tela do Sampa (USP) mostrando o status de todos os pontos ligados a ele. São 2.408 células, cada uma representando uma CPU ou um slot (conector para arquivos em grandes lotes).

Rogério Iope explica que “são feitas simulações definidas por algoritmos complexos que geram dados como se fossem produzidos por detectores reais e permitem aos pesquisadores, por exemplo, calibrar os detectores e, ainda, avaliar o comportamento deles antes mesmo de serem construídos. Permitem, inclusive, que os próprios algoritmos sejam desenvolvidos e testados”.

Atualmente, o experimento Alice registra, por segundo, 500 colisões. Se a taxa já é grande, será multiplicada por 100 a partir de 2020, quando completar o upgrade que será feito no LHC. Então, muito mais dados correrão pelo GRID.

E ele dará conta. No final dos anos 1990, bem antes de se falar em big data, físicos, cientistas da computação e engenheiros de redes desenvolveram o projeto Monarc – Models of Networked Analysis at Regional Centers for LHC Experiments, que deu origem à arquitetura em tiers do GRID. Iope lembra que o termo grid computing tornou-se popular no início da década de 2000. “Essa visão foi denominada grid por analogia (imperfeita, diga-se) com a rede de energia elétrica (electrical grid). Em 2002, como resultado do projeto Monarc e da disseminação do conceito, foi escolhido esse modelo para o WLCG”.

Malu de Oliveira é mestra em divulgação científica e cultural pelo Labjor (Unicamp). Licenciada em física pela USP.
Concluiu em outubro/2018 estágio de Jornalismo Científico/Fapesp no Departamento de Física Nuclear do Instituto de Física (USP).