Embora com atraso, cá estou eu a cumprir o prometido: dar a conhecer o que se estuda nas faculdades, através do relato das cadeiras que fiz no semestre de Outono deste ano académico. Entretanto já iniciei o semestre da Primavera, estando inscrito a:
- Configuração e Gestão de Sistemas;
- Estrutura e Gestão das Organizações;
- Tecnologias para Ambientes Industriais;
- Desenho e Análise de Algoritmos, e;
- Tecnologias de Segurança.
Mas voltando ao semestre que passou, é agora a vez de falar da cadeira de Tolerância a Faltas Distribuída — na qual foram estudados conceitos, metodologias e mecanismos (técnicas de programação, protocolos) para a construção de sistemas confiáveis em rede. A cadeira seguiu, principalmente, o livro Introduction to Reliable Distributed Programming, tendo sido abordados, na componente teórica, os seguintes tópicos:
- detecção de faltas;
- difusão fiável;
- ordenação de mensagens;
- memória partilhada (registos regulares e atómicos);
- acordo distribuído (consensus) e variantes (e, claro, o incontornável resultado FLP)
Na componente teórico-prática, foram feitos exercícios sobre estes tópicos — concepção/melhoramento de algoritmos, verificação de propriedades de liveness/safety — e foi colocado o projecto de conceber, e posteriormente, concretizar, uma máquina de estados distribuída. No âmbito deste projecto, de realçar:
- na fase de concepção, o contacto proporcionado com a realidade da elaboração e revisão de artigos científicos, com incentivo para a utilização de LaTeX — tudo novidades para a esmagadora maioria de quem tenha concluída a licenciatura que este mestrado segue naturalmente (ou outra semelhante);
- na fase de concretização, foi utilizada a plataforma de composição de protocolos Appia, que conta mais recentemente com a preciosa ajuda da interface jGCS.
No contexto desta cadeira, tivémos ainda oportunidade de assistir a uma palestra pelo sr. Maarten van Steen com o título “Gossip-based Peer Sampling” — selecção de nós, para troca de informação, em sistemas baseados em protocolos de disseminação epidémica.