40 anos analisando grandes quantidades de dados em física de alta energia: uma entrevista com Rene Bran

Mais de 40 anos de sua carreira no CERN (Laboratório Internacional de Pesquisa Nuclear, localizado em Genebra), Rene Brun desenvolveu uma série de pacotes de software que foram amplamente utilizados na Física de Alta Energia. Por essa contribuição fundamental, ele recebeu recentemente um prêmio especial da Divisão de Física de Partículas de Alta Física da Sociedade Europeia de Física (EPS). Conversamos com ele sobre os principais eventos desta história.

imagem

É difícil imaginar que a mesma pessoa possa criar tantos dos pacotes de software mais importantes e amplamente utilizados desenvolvidos no CERN e no campo da física de alta energia: HBOOK, PAW, ROOT e GEANT. Essa pessoa apaixonada e perspicaz é Rene Bran, agora membro honorário do CERN , que recentemente recebeu o prêmio especial do Departamento de Física de Partículas de Alta Energia (Sociedade de Física Europeia) " por sua excelente e original contribuição às ferramentas de software para processamento de dados, modelagem e análise de detectores, que ajudou a criar experimentos em partículas e física de alta energia por décadas . " Mais de 40 anos de carreira no CERNele trabalhou com vários cientistas brilhantes e não podemos esquecer que a realização de tais esforços é sempre o resultado de esforços conjuntos. Não obstante, René tinha um mérito indiscutível em gerar novas idéias, propor projetos e trabalhar com diligência e entusiasmo para transformá-las em realidade.

Uma de suas criações, ROOT , é uma ferramenta de análise de dados amplamente usada em experimentos em física nuclear e de alta energia, no CERN e em outros laboratórios. RAIZjá foi além da física e agora é usado em outros campos científicos e até em finanças. O GEANT é um pacote de software extremamente bem-sucedido desenvolvido por Rene Bran, que permite simular experimentos físicos e interações de partículas em detectores. Sua versão mais recente, GEANT4 , é atualmente a principal ferramenta de modelagem de detectores.

Mas, antes do advento do ROOT e do GEANT4 , que são bem conhecidos mesmo entre os físicos mais jovens, eles receberam muitos outros projetos e ferramentas de software. Esta é uma história emocionante que Rene contou em um seminário organizado no CERN pelo Departamento de Física Experimental em 2017.

Tudo começou em 1973, quando ele foi contratado pelo departamento de processamento de dados do CERN para trabalhar com Carlo Rubbia (Nobel Laureate, um dos diretores do CERN) no experimento R602 no ISR (o primeiro colisor de hádrons do mundo). Sua responsabilidade era ajudar a desenvolver um processador de hardware especial para a reconstrução on-line de modelos de colisão. Mas como esse desenvolvimento foi lento e não demorou muito tempo, Rene foi convidada a escrever um software para reconstruir eventos em câmeras proporcionais com vários fios. "Naquela época, eu odiava software " , Rene admite, sorrindo. “Escrevi software durante minha tese de doutorado, estudando em Clermont-Ferrand e trabalhando emCERN no fim de semana, e eu realmente não gostei. Entrei para o grupo Carlo Rubbia com uma “promessa” de trabalhar no hardware, mas rapidamente me tornei um “cara de software” ...

Logo Rene percebeu em software (programação no Fortran4) que eles não poderiam implementar com usando hardware e, além disso, ele desenvolveu um pacote de histograma chamado HBOOK. Isso tornou possível realizar uma análise de dados muito simples, criar histogramas, preenchê-los e enviar os resultados para uma impressora linear. Ele também escreveu um programa chamado HPLOT, especializado em desenhar histogramas gerados pelo HBOOK.

Naquela época, não havia dispositivos gráficos; portanto, a única maneira de visualizar os histogramas era imprimi-los em uma impressora linear, e os programas eram escritos na forma de cartões perfurados.

René lembra com carinho o tempo gasto em cartões perfurados, não no procedimento em si, que era lento e cansativo, mas nas longas reuniões que ocorriam na sala onde estavam localizados os perfuradores e impressoras do Departamento de Processamento de Dados, bem como o café nas proximidades ( na época ela trabalhava dia e noite com a venda de álcool ). Durante essas longas horas, ele poderia discutir idéias e novas tecnologias com os colegas.

Grandes progressos foram possíveis graças à introdução do teletipo, que substituiu os perfuradores de cartões. Os usuários podem criar programas em disco e trocar dados com uma máquina central chamada FOCUS e, ao mesmo tempo, ver em um rolo de papel o que estavam fazendo, como em uma máquina comum. “ A maneira como funciona pode fazer as pessoas sorrirem hoje ”, lembra Rene, “ para entrar no FOCUS, era preciso digitar uma equipe que acendesse o sinal vermelho no centro de computação. Vendo a luz, o operador teve que inserir na memória da máquina uma fita de uma pessoa conectada que poderia iniciar uma sessão em disco. Quando o usuário efetuou logout, a sessão foi redefinida para fita novamente. Você pode imaginar o movimento! Mas foi muito mais rápido que cartões perfurados ".

Algum tempo depois, o teletipo foi, por sua vez, substituído pelo terminal Tektronix 4010, que levou a uma revolução ainda maior, uma vez que permitiu exibir os resultados em forma gráfica. Esse novo dispositivo, muito caro, permitiu a Rene acelerar o desenvolvimento de seu software: primeiro o HBOOK, depois outro pacote chamado ZBOOK e a primeira versão do GEANT. O GEANT1 foi criado em 1974 por ele, juntamente com seus colegas do grupo Electronic Experiments, e era uma ferramenta para modelar detectores simples usando o método Monte Carlo. Gradualmente, eles adicionaram recursos a este software e foram capazes de detectar colisões de partículas: foi assim que o GEANT2 nasceu.

Em 1975, Renee se juntou ao experimento NA4, um experimento profundo de dispersão inelástica de múons que levouCarlo Rubbia . Lá, ele participou do desenvolvimento de novas ferramentas gráficas que permitiam imprimir histogramas usando um dispositivo chamado plotter CalComp. Essa máquina, que trabalhava com um rolo de papel de 10 metros de comprimento, apresentava uma resolução muito melhor do que as impressoras lineares, mas era muito cara. Em 1979, um sistema de microfilmes foi introduzido: os histogramas salvos no filme podiam ser verificados antes de serem enviados à plotadora para imprimir apenas os interessantes. Isso reduziu o custo do uso do CalComp .

Rene deveria continuar trabalhando com Carlo Rubbia no experimento da UA1para o qual ele fez muita modelagem. Mas, no final de 1980, ele se juntou ao experimento OPAL , onde fez toda a modelagem do detector e criou o GEANT3 .

Enquanto trabalhava no sistema HBOOK, em 1974, Rene desenvolveu um sistema de gerenciamento de memória e E / S chamado ZBOOK. Essa ferramenta foi uma alternativa ao sistema HYDRA, desenvolvido por Julius Zoll, um grupo de câmaras de bolhas (também autor de outro sistema de controle chamado Patchy).

Considerando que ter dois sistemas concorrentes é inútil, em 1981, Emilio Pagiola sugeriu o desenvolvimento de um novo pacote de software chamado GEM. Enquanto três pessoas trabalharam duro no projeto GEM, Renee e Julius começaram a testar juntos para comparar seus sistemas, ZBOOK e HYDRA, com GEM. Como resultado desses testes, eles concluíram que o novo sistema era muito mais lento que eles.

Em 1983, Jan Butterworth, então diretor do Departamento de Informática, decidiu que apenas o ZBOOK seria suportado no CERN, que o GEM deveria ser interrompido e o desenvolvimento do HYDRA foi congelado. "Meu líder do grupo, Hans Grote, veio ao meu escritório, apertou minha mão e disse: "Parabéns, Renee, você venceu". Mas imediatamente pensei que essa decisão era injusta, porque na verdade os dois sistemas tinham boas funções e Julius Zoll era um excelente desenvolvedor de software.

Como resultado dessa decisão, Renee e Julius começaram uma colaboração e uniram forças para desenvolver um pacote que combina os melhores recursos do ZBOOK e HYDRA. O novo projeto foi chamado ZEBRA, devido à combinação dos nomes de dois sistemas originais. "Quando Julius e eu anunciamos que estávamos cooperando, Jan Butterworth imediatamente chamou nós dois para o escritório dele e nos disse que se após 6 meses o sistema ZEBRA não funcionasse, seríamos demitidos do CERN. De fato, em menos de dois meses, pudemos mostrar uma versão principal funcional do sistema ZEBRA. »

Ao mesmo tempo, as ferramentas de histograma e visualização estavam em desenvolvimento. Rene montou uma versão interativa do HBOOK e HPLOT chamada HTV, que roda em máquinas Tektronix. Mas, em 1982, o advento das estações de trabalho pessoais marcou uma revolução. A primeira estação de trabalho pessoal a aparecer na Europa, a Apollo, demonstrou um salto em termos de desempenho e desempenho: era mais rápido, tinha mais memória e uma interface de usuário melhor do que qualquer outro dispositivo anterior. " Apollo me convidou para ir a Boston e visitá-los ", diz René. “ Quando vi a estação de trabalho Apollo pela primeira vez , fiquei chocado. Percebi imediatamente que isso poderia acelerar nosso desenvolvimento em 10 vezes. Eu me forcei a trabalhar e acho que em apenas três dias adaptei cerca de 20.000 linhas de código para isso. ”

O trabalho de Rene na adaptação do HTV para a estação de trabalho Apollo despertou interesse entre Rudy Beck, Luke Pape e Jean-Pierre Revol da colaboração da UA1que também sugeriram algumas melhorias. Portanto, em 1984, três deles desenvolveram uma proposta para um novo pacote que será baseado no HBOOK e ZEBRA, que eles chamaram de PAW (Estação de Trabalho de Análise Física).

imagem
Equipe PAW: (esquerda) Rene Bran, Pietro Zanarini, Olivier Cue (em pé) e Carlo Vandoni .

Após o primeiro período de incerteza, o projeto PAW se desenvolveu rapidamente e muitas novas funções foram introduzidas, inclusive devido ao aumento da memória das estações de trabalho. “Em algum momento, o software PAW cresceu tão rápido que começamos a receber reclamações de usuários que não conseguiam acompanhar o desenvolvimento ”, diz Rene, sorrindo. "Talvez sejamos um pouco ingênuos, mas definitivamente entusiasmados .

A linguagem de programação comumente usada para computação científica era FORTRAN. Em particular, naquele momento, o FORTRAN 77 (introduzido em 1977) era difundido na comunidade de físicos de alta energia, e a principal razão para seu sucesso era o fato de ser bem estruturado e bastante fácil de aprender. Além disso, implementações muito eficazes estavam disponíveis em todas as máquinas usadas naquele momento. Como resultado, quando o novo FORTRAN 90 apareceu, parecia óbvio que substituiria o FORTRAN 77 e seria tão bem-sucedido quanto a versão anterior. "Lembro-me bem do chefe da divisão de computação Paolo Zanella, que disse: "Não sei o que a próxima linguagem de programação fará, mas sei o nome: FORTRAN . »

Em 1990 e 91, Rene, juntamente com Mike Metcalf, um grande especialista em FORTRAN, trabalhou duro para adaptar o pacote ZEBRA ao FORTRAN 90. Mas esses esforços não levaram a um resultado satisfatório e surgiram discussões sobre a possibilidade de continuar trabalhando com o FORTRAN ou mudar para outra linguagem. Este foi um período em que a programação orientada a objetos estava dando seus primeiros passos e também quando Tim Berners Lee (criador da Internet) se juntou ao grupo Rene.

Timteve que desenvolver um sistema de documentação chamado XFIND para substituir o FIND anterior, que só funcionava em máquinas IBM que deveriam ser usadas em outros dispositivos. No entanto, ele acreditava que o procedimento que ele deveria realizar era um pouco desajeitado e, é claro, não era uma abordagem melhor para o problema. Assim, ele propôs outra solução com uma abordagem mais descentralizada e adaptável, que exigia principalmente muito trabalho de padronização. Nesse contexto, Tim desenvolveu sua famosa idéia de servidores e clientes - a World Wide Web , desenvolvida usando uma linguagem orientada a objetos ( Objective-C ). Uma vez perguntei a René: "Como foi?" Sua resposta me chocou -“Isso não foi nada gratificante, mas contrário ao CERN.”

Foi um período muito quente, porque a fase de projeto e simulação das experiências do novo acelerador do LHC (Large Hadron Collider) começou. Era importante decidir sobre a linguagem de programação e as ferramentas de software que serão usadas nesses novos projetos.

No seminário ERICE organizado pelo INFNem novembro de 1990 e, em seguida, na conferência sobre engenharia da computação em física de alta energia (CHEP) em Annecy (França) em setembro de 1992, o “guru” em física de alta energia do mundo se reuniu para discutir linguagens de programação e possíveis orientações para o desenvolvimento de software em Física de alta energia para o Large Hadron Collider. Entre as muitas línguas propostas estavam Eiffel, Prolog, Modula2 e outras.

Em 1994, dois projetos de pesquisa e desenvolvimento foram lançados: RD44 para desenvolver em C ++ uma nova versão do GEANT (que se tornará GEANT4 ) e RD45 para estudar soluções de banco de dados orientadas a objetos para experimentos no Large Electron-Positron Collider LEP .

Segundo Rene, sua divisão era dividida em três grupos: aqueles que queriam ficar com o FORTRAN 90, aqueles que dependiam de C ++ e aqueles que estavam interessados ​​em usar produtos comerciais. " Enviei uma proposta para desenvolver um pacote que permitisse que o PAW fosse transferido para o mundo da Programação Orientada a Objetos. Mas o projeto, que chamei de ZOO, foi rejeitado e até me ofereceram férias " , admite Rene.

Esse golpe, no entanto, mais tarde acabou sendo realmente uma boa sorte para Renee. Seu líder David Williams o convidou para participar do experimento NA49na parte norte do CERN, onde alguém era necessário para ajudar no desenvolvimento de software. A princípio ele recusou. Por muitos anos, ele liderou os projetos GEANT e PAW e se engajou em modelagem ou desenvolvimento de software para vários grupos e aplicativos; portanto, o consentimento em retornar ao trabalho em um experimento específico pareceu-lhe uma grande limitação.

Mas, ele pensou sobre isso e percebeu que era uma oportunidade de gastar algum tempo desenvolvendo novo software com total liberdade. Ele visitou o prédio da NA49 no local de Privesan e, vendo pinheiros e esquilos das janelas, sentiu que esse era realmente o ambiente muito calmo que ele precisava para seu novo projeto. Portanto, ele mudou sua estação de trabalho de seu escritório para o site da Privessan ("Fiz isso no fim de semana sem sequer contar a David Williams ") e, enquanto trabalhava no NA49 , ele aprendeu C ++, traduzindo a maior parte do software HBOOK para C ++.

No início de 1995, Rennes juntou-se à NA49 pela Fons Raidemakers, com quem ele já havia colaborado. Eles trabalharam muito juntos e criaram a primeira versão do que se tornou o famoso sistema ROOT. O nome vem simplesmente de uma combinação da letra inicial dos endereços de e-mail dos dois fundadores (René e Rdm, para Rademakers), o duplo O Orientado a Objetos e a palavra Tecnologia. Mas o significado ou a palavra "raiz" também foi adequada para ser a base para o desenvolvimento de mais software e o uso de estruturas de árvores em sua arquitetura.

Em novembro daquele ano, René realizou um seminário para introduzir o sistema ROOT. “ A sala de computadores estava inesperadamente cheia! ” Rene lembra: “ Acho que é porque as pessoas pensavam que Fons e eu havíamos desaparecido da arena do software e de repente estávamos de volta! ” E, de fato, o sistema ROOT despertou um interesse considerável .

Mas, enquanto Rene e Fons estavam completamente absorvidos no trabalho em seu novo pacote de software, o projeto RD45, que tinha autoridade para decidir qual novo software deveria ser adotado nos novos experimentos do LHC, sugeriu o uso do produto comercial “ Objetividade" e muito trabalho continuou a desenvolver aplicativos para atender às necessidades da física de alta energia. Segundo Rene, havia uma clara intenção de impedir o desenvolvimento e a disseminação do ROOT. Na primavera de 1996, o diretor de computação do CERN, Lorenzo Foa, anunciou que o projeto ROOT era visto como uma iniciativa privada NA49, que não era apoiada pela gerência do CERN, e que a linha de desenvolvimento oficial era voltada para a objetividade .

Acho que o Conselho de Computação do LHC não teve a idéia certa sobre a arquitetura dessas ferramentas de software, para que se possa julgar qual solução foi a melhor. Assim, eles tiveram que confiar no que lhes disseram, comenta Rene. "Sempre é um problema quando existe uma lacuna entre especialistas - e usuários - trabalhando em algo e pessoas que precisam tomar decisões importantes ".

No entanto, Renee e Fons continuaram o desenvolvimento do ROOT e introduziram novos recursos, usando as lições aprendidas dos pacotes de software anteriores (em particular, solicitações e críticas aos usuários). Além disso, eles acompanharam de perto o desenvolvimento da linha oficial com a Objetividade para descobrir o que as pessoas que estavam usando estavam procurando e quais eram os problemas ou dificuldades. " Quanto mais analisamos a objetividade , mais percebemos que ela não poderia satisfazer as necessidades da nossa comunidade ", acrescenta Rene, "sabíamos que o sistema entraria em colapso e que as pessoas acabariam percebendo. Isso nos deu ainda mais energia e motivação para trabalhar duro e melhorar nosso produto. »

Eles receberam apoio contínuo das colaborações NA49 e ALICE , bem como de muitas pessoas do ATLAS e CMS que viram um bom potencial neste pacote de software. Naquela época, Rene colaborou com muitas pessoas em ambos os experimentos, incluindo Fabiola Gianotti (atual diretor do CERN) e Daniel Frodevo, em particular, para modelar detectores. Além disso, muitos usuários confiam neles há muitos anos, graças ao suporte dos usuários do PAW e GEANT.

A situação começou a mudar quando o interesse em ROOT cresceu fora do CERN (por incrível que pareça, mas o slogan Zagranitsa nos ajudará! Trabalha fora da Rússia). Em 1998, dois experimentos os laboratoriam. Enrico Fermilab na América (Fermilab), CDF e D0 , decidiu discutir o futuro de seu software à luz da próxima sessão de Tevatron . Assim, eles abriram dois concursos para soluções de software, um para armazenamento de dados e outro para análise e visualização de dados. René enviou ROOT para ambas as competições. Durante a conferência do CHEP em Chicago (foi lá que eu me encontrei com Rene pessoalmente, embora tenha colaborado com ele à revelia por algum tempo.
Lá ele me ofereceu um emprego) foram discutidas propostas e, no último dia, foi anunciado publicamente que CDF e D0 aceitariam o ROOT. “ Eu não esperava isso ”, diz Rene, “ lembro que quando a decisão foi anunciada, todos se viraram e olharam para mim .” Logo, os experimentos do RHIC no Laboratório Nacional Brookhaven tomaram a mesma decisão. Quando os físicos do BaBar experimentam no SLAC , depois de muitos anos tentando usar o Objectivity, perceberam que o sistema não era tão bom quanto o esperado, então eles mudaram para o ROOT.

Gradualmente, ficou claro que toda a comunidade de física de alta energia estava “naturalmente” se movendo em direção ao ROOT, a liderança do CERN teve que aceitar essa situação e, no final, apoiá-la. Mas isso só aconteceu em 2002. Com o crescimento da força de trabalho alocada para o projeto (Rene brincou: “ você é o primeiro funcionário do CERN que recebe oficialmente um salário por trabalhar no ROOT ”), o ROOT continuou a se desenvolver rapidamente e o número de usuários aumentou bastante. A raiz também começou a se espalhar para outros ramos da ciência e para o mundo financeiro. " Em 2010, tivemos uma média de 12.000 downloads do pacote de software por mês, e havia mais visitantes no site ROOT do que no CERN ".

imagemLogotipo do pacote de software ROOT.


René se aposentou em 2012, mas seus dois filhos mais importantes,ROOT e GEANT continuam a evoluir graças ao trabalho de muitos jovens cientistas. “ Acho importante ter um incentivo constante que o incentive a melhorar seus produtos e o surgimento de novas soluções. A contribuição dos jovens é muito importante para isso ”, comenta Rene. Mas, como ele admite, o que realmente fez ele e seus colegas trabalharem tanto por muitos anos é que sempre houve vários concorrentes, embora em muitos casos eles tenham sido um desafio e até interferido. “ Quando você tem um adversário, mas sabe que está certo, está fadado ao sucesso . “

Grande atenção às solicitações dos usuários também foi muito importante, pois ajudou a desenvolver software e a construir relacionamentos confiáveis ​​com as pessoas. "Eu sempre disse que você deveria dar prioridade ao suporte ao usuário, explica René. “ Se você responder à solicitação em 10 minutos, receberá 10 pontos, em uma hora receberá 2 pontos e em um dia ganhará -10 pontos. As respostas às perguntas e comentários são fundamentais, porque, se os usuários estiverem satisfeitos com o suporte que você fornece, eles estão prontos para confiar no que você oferece a seguir. "

Agora que ele renunciou, Renee ainda está monitorando o desenvolvimento de software no CERN, mas apenas como observador externo. Isso não significa que ele tenha deixado de lado seus interesses científicos, pelo contrário, ele agora dedica a maior parte de sua energia a um projeto mais teórico, pois está desenvolvendo um modelo físico. Em seu tempo livre, ele adora jardinagem. Ele ama flores, mas não pode deixar de olhá-las com um olhar científico: " Meu colega, matemático, e eu desenvolvemos um modelo matemático de como as flores são estruturadas e crescem ".

Mentes brilhantes estão sempre no trabalho.



Um pouco sobre você
ROOT.
.
.
— . .
— « ».
, , « » ! .
, , , , .

All Articles