Abaixo, encontram-se detalhes sobre os seis minicursos aceitos para apresentação na ERAD/RS 2024.
Minicurso 1
Avaliação do Impacto de Containeres Docker em Docker para a Programação Paralela
Horário e local: 24/04 (09:00 - 11:30) — Laboratório G23
Resumo: Contêineres representam um paradigma de isolamento sem comprometer a velocidade e a eficiência. Docker, uma implementação específica de contêiner, revolucionou o cenário. Docker não apenas introduziu um formato de embalagem atraente, mas também forneceu ferramentas indispensáveis e promoveu um ecossistema diversificado. Uma imagem de contêiner Docker é como um pacote de software simplificado e independente, encapsulando tudo o que é essencial para executar um aplicativo: código, tempo de execução, ferramentas de sistema, bibliotecas e configurações. Quando implantadas, essas imagens de contêiner se transformam em contêineres ativos, uma transformação facilitada perfeitamente no Docker Engine para contêineres Docker. Compatível com aplicativos Linux e Windows, o software em contêiner garante uma operação consistente, independentemente da infraestrutura subjacente. Ao isolar o software do seu entorno, os contêineres garantem funcionalidade uniforme em diferentes ambientes, como desenvolvimento e preparação. Existem dois modelos predominantes para implementação baseada em contêiner dentro da estrutura de microsserviços: o modelo mestre-escravo e o modelo de contêiner aninhado (Docker in Docker - DinD). O modelo mestre-escravo compreende um contêiner mestre orquestrando outros como escravos, onde operam os processos da aplicação. O mestre é responsável por monitorar os contêineres subordinados e facilitar sua comunicação. Em contraste, a abordagem de contêiner aninhado envolve a criação hierárquica de contêineres subordinados (filhos) dentro de um contêiner principal (pai). O encapsulamento de todos os contêineres ocorre em um único contêiner. Essa abordagem simplifica o gerenciamento. Ele facilita a comunicação entre processos, garante o compartilhamento de destino e permite o compartilhamento de memória, disco e recursos de rede. No entanto, esta abordagem pode introduzir mais sobrecarga em comparação com o modelo mestre-escravo devido às suas duas camadas de daemon Docker. Nosso objetivo é mostrar como a avaliação de desempenho do Docker versus Docker in Docker (DinD) pode ser feita em diferentes distribuições GNU/Linux usando benchmarks estabelecidos. Ao avaliar CPU, memória, E/S de disco e E/S de rede, pode-se explorar o impacto do DinD em plataformas de infraestrutura como serviço (IaaS) em nuvem, como Google Compute Engine (GCE) e ambientes próprios. Para tanto, será fornecido uma coleção de scripts automatizados para construção de imagens de contêiner e realização de benchmarks em Docker e DinD em diversas distribuições GNU/Linux. Esses scripts são adaptáveis, permitindo a adição de novas versões e fácil replicação de experimentos de avaliação de performance paralela.
Autores
Claudio Schepke
Claudio Schepke tem experiência em programação paralela e ministra a mais de 10 anos disciplinas relacionadas à arquitetura e organização de computadores, programação estruturada e programação paralela, sistemas operacionais e compiladores. Tem sido um ativo colaborador da ERAD/RS nas mais diferentes formas, destacando-se nas atividades de minicursos. É doutor, mestre e graduado em Ciência da Computação.
Felipe Bedinotto Fava
Felipe Bedinotto Fava é concluinte do Curso de Ciência da Computação da Unipampa. Atua profissionalmente como desenvolvedor de software para diferentes finalidades e fazendo uso de distintas interfaces de programação e ambiente de processamento, sejam aplicativos de celular, servidores Web ou em ambientes de nuvem.
Diego Luiz Kreutz
Diego Luis Kreutz realizou estágio de pós-doutorado na Universidade de Monash (Austrália), possui doutorado pela Universidade de Luxemburgo (Luxemburgo), mestrado em Informática pelo PPGI/UFSM, mestrado em Engenharia de Produção pelo PPGEP/UFSM e graduação em Ciência da Computação pela UFSM. Possui experiências internacionais em pesquisa, desenvolvimento e inovação no LaSIGE/ULisboa/Portugal e CritiX/UNI/Luxemburgo. Durante essas experiências, atuou em projetos internacionais com pesquisadores e especialistas de instituições estrangeiras como CMU/USA, UPorto/Portugal, UCoimbra/Portugal, Portugal Telecom/Portugal, TUM/Alemanha, Infineon/Alemanha, Ether Trust/França, UPMC/França e SnT/Luxemburgo. Atualmente é professor e pesquisador na Unipampa. Possui experiência na área de Ciência da Computação, com ênfase em Segurança da Informação, Redes de Computadores, Sistemas Distribuídos, Tolerância a Falhas e Intrusões e Desenvolvimento de Software, atuando principalmente nos seguintes temas: segurança de infraestruturas de redes; segurança de sistemas; proteção de dados; projeto, implementação e verificação automática de protocolos e mecanismos de segurança avançados; privacidade; tolerância a falhas e intrusões; sistemas de larga escala e alta disponibilidade com computação em nuvem; e desenvolvimento e avaliação de sistemas e aplicações.
Minicurso 2
Exploração do Paralelismo nas Arquiteturas de Computadores Atuais (Básico)
Horário e local: 24/04 (09:00 - 11:30) — Sala G22
Resumo: A exploração do paralelismo em arquiteturas de computadores atuais tem se tornado uma área de extrema relevância e interesse, impulsionada pela necessidade de lidar com cargas de trabalho cada vez mais complexas e exigentes. Com o avanço das tecnologias e a demanda por desempenho computacional escalável, tem-se buscado diferentes formas de aproveitar o paralelismo em diversos níveis, desde instruções vetoriais do processador até a exploração de sistemas de memória distribuída e aceleradores. Essa abordagem permite a execução de múltiplas tarefas simultaneamente, resultando em ganhos significativos de desempenho. Sob este escopo, este minicurso tem o objetivo de oferecer uma visão geral dos diferentes aspectos do paralelismo nas arquiteturas de computadores atuais.
Autores
Guilherme Galante
Bacharel em Informática pela Universidade Estadual do Oeste do Paraná (2003), Mestre pela Universidade Federal do Rio Grande do Sul (2006) e Doutor pela Universidade Federal do Paraná (2014). É Professor do curso de Ciência da Computação da Universidade Estadual do Oeste do Paraná desde 2006 e do Programa de Pós-Graduação em Computação (PPGComp) desde 2019. As áreas de atuação são: Sistemas Computacionais, Computação Paralela, Computação em Nuvem e Computação Aplicada.
Minicurso 3
Programação Paralela com OpenMP: Modelos de Tarefas
Horário e local: 25/04 (09:00 - 11:30) — Laboratório G23
Resumo: Este minicurso tem como objetivo apresentar técnicas de programação paralela utilizando diretivas do OpenMP, com ênfase nos modelos de tarefas. Serão abordadas as modificações necessárias no código-fonte para implementar esses modelos, e os resultados obtidos serão avaliados por meio de métricas de desempenho, como aceleração e eficiência.
Autores
Gabriel P. Silva
Gabriel P. Silva tem doutorado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro. Atualmente é Professor Titular do Instituto de Computação da UFRJ. Tem larga experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação, atuando principalmente nos seguintes temas: arquitetura de computadores, programação paralela, computação de alto desempenho e internet das coisas.
Calebe P. Bianchini
Calebe P. Bianchini tem mais de 20 anos de experiência com computação paralela e distribuída, participação em diversos projetos de pesquisa e desenvolvimento de software de diversos tamanhos, para diversas empresas (por exemplo, Petrobras, Shell, Intel etc.). Hoje é professor da Universidade Presbiteriana Mackenzie, atuando também com pesquisa, e gerencia pequenas equipes de desenvolvimento de software in-house. Formou-se em Ciência da Computação na UFSCar (2000), com mestrado na UFSCar (2002) e doutorado na POLI/USP (2009).
Evaldo B. Costa
Evaldo B. Costa é Engenheiro de telecomunicações, mestre e doutor em informática pela Universidade Federal do Rio de Janeiro (UFRJ). Possui mais de vinte anos de experiência na área de Tecnologia da Informação e atua principalmente nos seguintes temas: programação paralela e computação de alto desempenho.
Minicurso 4
Armazenamento – Melhores Práticas – Entendendo do básico ao avançado
Horário e local: 25/04 (09:00 - 11:30) — Sala G22
Resumo: O minicurso de armazenamento abordará as principais formas de conexões existentes, tais como SATA, SCSI, SAS, iSCSI, Fibre Channel, entre outras. Os participantes poderão compreender as vantagens e desvantagens de cada uma dessas opções, bem como entender a importância da escolha correta na hora de definir a solução de armazenamento adequada para cada situação, desde o seu notebook até um sistema de storage distribuido. Serão discutidos os diversos tipos de dispositivos de armazenamento existentes no mercado, tais como unidades de disco rígido (HDD), unidades de estado sólido (SSD), unidades de fita (tape drive), cartões de memória, entre outros. O treinamento disponibilizado será interativo, com vários equipamentos para serem vistos durante o minicurso.
Autores
Guilherme Friol
Guilherme Friol é especialista em computação com anos de experiência em ambientes computacionais de alta demanda, virtualização e HPC. Atua como consultor em arquitetura e otimização de sistemas de alto desempenho. Desenvolveu projetos relevantes junto a grandes instituições de pesquisa e notórios nomes da computação nacional em machine learning e redes neurais. Entre os projetos estão: Predição de Inibidores de Protease de Cisteína para Agentes Tripanocidas e Câncer (USP); Simulação de controle de veículo espacial e orientação de órbita (LAC-INPE); Pesquisa sobre plasmas astrofísicos e turbulências espaciais (ITA); Pesquisa em Astrofísica e física molecular (UNIVAP), entre outros.
Minicurso 5
Programação de sistemas heterogêneos em OpenMP
Horário e local: 26/04 (09:00 - 11:30) — Laboratório G23
Resumo: Arquiteturas heterogêneas com CPUs e GPUs têm se tornado cada vez mais frequentes em sistemas de computação de alto desempenho. Extrair todo o seu potencial de desempenho, assim como a capacidade de escrever e otimizar códigos de aplicações que possam ser executadas de forma eficiente em diferentes infra-estruturas de HPC, são requisitos importantes para a resolução de problemas e aplicações da indústria. Este minicurso explora a abordagem de programação por diretivas oferecida pelo OpenMP, mostrando de forma simplificada alguns caminhos para a implementação e otimização de aplicações para sistemas heterogêneos com foco em GPUs.
Autores
Hermes Senger
Hermes Senger é professor da UFSCAR desde 2009, atuando no ensino, pesquisa e extensão em temas relacionados à computação de alto desempenho.
Minicurso 6
Desvendando Data Science em Sistemas Distribuídos com Apache Spark
Horário e local: 26/04 (09:00 - 11:30) — Sala G22
Resumo: Na era atual da tecnologia, onde dados são gerados e consumidos em uma escala sem precedentes, a Ciência de Dados emergiu como um campo crucial para transformar esses dados em insights valiosos. Com a crescente complexidade e o aumento do volume de dados, torna-se essencial empregar técnicas eficientes em sistemas distribuídos para lidar com esses desafios. O Apache Spark, uma ferramenta poderosa para o processamento de dados em larga escala, desempenha um papel vital nesse cenário, permitindo a análise e o processamento de dados de maneira rápida e eficiente. Neste minicurso, os participantes serão imersos no mundo da Ciência de Dados aplicada a sistemas distribuídos. O curso abordará desde conceitos fundamentais de Data Science e suas aplicações práticas até o uso do Apache Spark. Será dada ênfase especial à capacidade do Spark de realizar processamento de dados em ambientes de alto desempenho. Os alunos aprenderão como o Apache Spark facilita o trabalho com grandes volumes de dados, além de explorar suas funcionalidades em análises de dados e machine learning. Um dos destaques do curso será o desenvolvimento de um projeto de Data Science end-to-end, que envolverá desde a extração dos dados e transformação até o treinamento de um modelo de Machine Learning, deployment e integração via frontend. Este curso oferece uma oportunidade única para profissionais e entusiastas da área entenderem como maximizar o potencial da Ciência de Dados em sistemas distribuídos, utilizando uma das ferramentas mais influentes da atualidade.
Autores
Alexandre Castro
Alexandre Castro é Data Engineer e está concluindo sua especialização em Big Data no Instituto Infnet. Ele se destaca na implementação de soluções de Data Lakehouse e Data Warehouse, com experiência em ambientes Azure e AWS, e também tem contribuições em projetos On-Premises. Alexandre é especializado no desenvolvimento de algoritmos de Machine Learning utilizando Spark, e suas certificações incluem Microsoft Certified: Azure Data Fundamentals, Microsoft Certified: Azure Fundamentals e Academy Accreditation - Databricks Lakehouse Fundamentals. Reconhecido por sua versatilidade e dedicação, é um profissional comprometido com a excelência em projetos de engenharia de dados.
Letícia Moura
Letícia Moura é graduada em Engenharia de Produção pelo Centro Universitário Serra dos Órgãos (UNIFESO) e atua como Analytics Engineer. Nessa posição, ela aplica sua expertise para transformar dados em insights valiosos, utilizando ferramentas como Power BI, Tableau, Google Data Studio e Python. Suas habilidades são fundamentais para impulsionar decisões estratégicas e promover o crescimento sustentável dos negócios. Com experiência em gestão de produtos e projetos, Letícia contribuiu de forma eficaz com clientes renomados, utilizando análises de dados para enfrentar desafios complexos e contribuir significativamente para o sucesso das empresas.
Matheus da Silva Serpa
Matheus da Silva Serpa é Tech Lead de Ciência de Dados e Doutor em Computação pela Universidade Federal do Rio Grande do Sul (UFRGS). Especializou-se no desenvolvimento de produtos de dados, abrangendo desde a construção de pipelines eficientes para extração, validação e carregamento de dados até o desenvolvimento e implementação de soluções avançadas de machine learning, com foco na otimização e eficiência em ambientes empresariais. Possui Mestrado em Computação pela UFRGS, incluindo um período sanduíche na Université de Neuchatel, Suíça. Reconhecido com o Prêmio Aluno Destaque da Sociedade Brasileira de Computação (SBC), Matheus também tem contribuído para a comunidade acadêmica ministrando minicursos de programação paralela e distribuída em eventos como ERAD/RS, WSCAD e no Programa de Verão do Laboratório Nacional de Computação Científica (LNCC).