Computação Distribuída
- Detalhes
- Categoria: Disciplina
- Communication models: message passing, remote function invocation, and multicast communication. Communication security. Threats and attacks. Secure communication channels. Processing in distributed systems. Stateful services. Concurrent implementations based on events vs. threads.Fault tolerance. Election algorithms. Two-phase commit protocol. Primary-backup protocol. Basic techniques for improving scalability. Case study: Domain Name System (DNS). George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair Distributed Systems, Concepts and Design, 5th Edition, ISBN 978-0-273-76059-7, Pearson, 2012. Cloud Computing: Theory and Practice (2nd Edition), Dan C. Marinescu, Ed. Morgan Kaufmann/Elsevier, 2018
- Engenharia Informática (ISMAT)
- 587
- 7348
- Computação Distribuída
- ISMAT587-7348
- 3
- 6
- 0
- 12
- Não
- Português
- As aulas teóricas são de exposição. Sempre que necessário, exemplos que ajudem à compreensão dos tópicos serão apresentados. A matéria exposta segue de perto a bibliografia principal recomendada. Para complementar, em tópicos muito pontuais, serão fornecidos apontamentos ou artigos. Ao longo do semestre serão propostos problemas para a consolidação dos conceitos apresentados nas aulas teóricas. Estes problemas serão discutidos nas aulas teórico-práticas, mas espera-se que os estudantes os resolvam fora das aulas. Os estudantes deverão ainda realizar 2 pequenos projetos, onde deverão aplicar os conceitos apresentados nas aulas teóricas
- Obrigatório
- Esta unidade curricular visa o desenvolvimento de competências na compreensão, implementação e gestão de infraestruturas de computação distribuída. São abordadas arquiteturas fundamentais, modelos de suporte a serviços distribuídos, contentorização, orquestração e mecanismos de resiliência. No final da unidade, os mestrandos deverão ser capazes de: O1 compreender o conceito de infraestrutura distribuída, as suas características, vantagens e desafios; O2 conhecer modelos de virtualização, contentorização e deployment de serviços; O3 configurar e administrar ambientes distribuídos com Docker e Kubernetes, assegurando comunicação entre serviços, escalabilidade, disponibilidade e persistência; O4 compreender mecanismos de sincronização, tolerância a falhas, monitorização e recuperação em infraestruturas distribuídas.
- Modelos de comunicação: troca de mensagens, invocação remota de funções. Comunicação multicast. Segurança na comunicação. Ameaças e ataques. Canais de Comunicação seguros. Processamento em sistemas distribuídos. Serviços com manutenção de estado. Implementações concorrentes baseadas em eventos vs. "threads". Tolerância a falhas. Algoritmos de eleição. Protocolo "two-phase commit". Protocolo primário-apoio ("primary-backup"). Técnicas básicas para aumentar a escalabilicade. Estudo de caso: Domain Name System (DNS).
Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.
Exemplo:
Descrição
Data limite
Ponderação
Teste de avaliação
dd-mm-yyyy
30%
Portfolio
dd-mm-yyyy
40%
(...)
Adicionalmente poderão ser incluídas informações gerais, como por exemplo, referência ao tipo de acompanhamento a prestar ao estudante na realização dos trabalhos; referências bibliográficas e websites úteis; indicações para a redação de trabalho escrito...
- Semestral
- A disciplina de Computação Distribuída foca-se nas infraestruturas que suportam aplicações distribuídas modernas, combinando bases teóricas com uma forte componente prática. São abordados conceitos como escalabilidade, disponibilidade, tolerância a falhas, resiliência, segurança e gestão de serviços distribuídos. A unidade curricular destaca a contentorização com Docker e a orquestração com Kubernetes, incluindo deployment, balanceamento de carga, escalabilidade horizontal, configuração de serviços, persistência e recuperação. Na componente prática, os estudantes trabalham na preparação, automatização e administração de ambientes distribuídos. O curso culmina num projeto final, no qual aplicam os conhecimentos adquiridos na implementação e gestão de uma infraestrutura distribuída completa.