UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Coordenação do Curso de Graduação em Engenharia de Computação

Av. João Naves de Ávila, 2121 - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: -
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

Sistemas Distribuídos

Unidade Ofertante:

Faculdade de Engenharia Elétrica (FEELT)

Código:

FEELT31830

Período/Série:

Turma:

C

Carga Horária:

Natureza:

Teórica:

30h

Prática:

15h

Total:

45h

Obrigatória:

( X )

Optativa:

( )

Professor(A):

Igor Santos Peretta

Ano/Semestre:

2023-1

Observações:

 

 

EMENTA

Introdução aos Sistemas Distribuídos; Modelos de Sistemas Distribuídos; Comunicação entre Processos Distribuídos; Consistência Global; Memória Compartilhada Distribuída; Sistemas de Arquivos Distribuídos; Serviços de Nomes/Diretórios; Transações Distribuídas.

JUSTIFICATIVA

Fornecer aos estudantes uma compreensão aprofundada dos conceitos essenciais e das complexidades inerentes à concepção, desenvolvimento e operação de sistemas distribuídos. Em um mundo cada vez mais interconectado e dependente de tecnologias de rede, a habilidade de criar sistemas que explorem eficazmente a distribuição de recursos computacionais é crucial. Este curso oferece uma análise abrangente dos modelos arquiteturais, padrões de comunicação, gerenciamento de recursos compartilhados e técnicas para garantir a integridade dos dados em ambientes distribuídos. Ao final do curso, os alunos estarão preparados para enfrentar os desafios práticos de criar sistemas escaláveis, resilientes e confiáveis, ao mesmo tempo em que compreenderão os princípios subjacentes que sustentam o funcionamento harmonioso dessas complexas infraestruturas de computação distribuída.

OBJETIVO

Capacitar o discente a identificar as principais propriedades e modelos de sistemas distribuídos, compreender os componentes essenciais para a construção de sistemas distribuídos e entender os principais problemas e soluções inerentes aos sistemas distribuídos.

PROGRAMA

Aug, 1    TER    Apresentação do curso e introdução
Aug, 8    TER    Comunicação: Redes, Internet, Sockets, Representação, Middlewares, RPC, MOM, Epidêmicos, Referências
Aug, 15    TER    Feriado
Aug, 22    TER    Arquiteturas: P2P, Microsserviços
Aug, 29    TER    Modelos: Tipos, Processador
Sep, 5    TER    Coordenação: Concorrência, Coordenação
Sep, 12    TER    Tempo: Tempo Físico, Tempo Lógico
Sep, 19    TER    Tolerância a Faltas: Falta/Erro/Falhas, Replicação, Detectores de Falhas, Acordo, Grupos, Falhas bizantinas, Dependabilidade
Sep, 26    TER    Consistência: Modelos, Centrado nos Dados, Centrados no Cliente, Gerenciamento de Réplicas, Checkpointing, Referências
Oct, 3    TER    Bancos de Dados
Oct, 17    TER    Sistemas de Arquivos: Leituras, Google File System
Oct, 24    TER    Estudos de Casos: Cassandra, Chord, Pastry, Dynamo, gRPC, Mosquito, RMI, Thrift
Oct, 31    TER    Estudos de Casos: Kafka, Swim, Copycat, Ratis, BFT-Smart, Etcd, Zookeeper, Referências
Nov, 7    TER    (Não haverá aulas) TDE - Trabalho Discente Efetivo: Tecnologias
Nov, 14    TER    Apresentação dos requisitos do projeto final
Nov, 21    TER    Preparação do projeto pelos alunos
Nov, 28    TER    Apresentação do projeto final pelos alunos
Dec, 3 a Dec, 7    SEG a QUI    Recuperação: Semana de apresentação de esforço discente no semestre, com possibilidade de apresentação de projeto final

METODOLOGIA

A carga horária total da disciplina é de 45 horas, ou seja, 54 horas-aula. Entretanto, de acordo com o cronograma apresentado estão previstas apenas 45 horas-aula. As 9 horas-aula restantes serão realizadas por meio de atividades assíncronas com o intuito de produção dos Projeto em Simulação e em Otimização.

Referência principal:    https://lasarojc.github.io/ds_notes/

Sobre a metodologia

Aulas expositivas dialogadas com demonstrações práticas, diagramas e codificação-exemplo, acompanhadas de indicação para materiais de apoio.

Os materiais de referência e de apoio, assim como links relevantes, avaliações e repositório de materiais complementares, serão disponibilizados com o suporte do Moodle da UFU.

AVALIAÇÃO

ATIVIDADE DE RECUPERAÇÃO (REC): [Dec, 3 a Dec, 7] Aceite da entrega de trabalhos atrasados com 10% de desconto na nota dos trabalhos entregues até o final do semestre letivo.

BIBLIOGRAFIA

Básica

BIRMAN, Kenneth P. Reliable distributed systems: technologies, Web servies, and applications. New Yorl: Springer, c2010.

COULOURIS, George R. SIstemas distribuídos: conceitos e projeto. Porto Alegre: Bookman, 2013.

TANENBAUM, A. S.; STEEN, M. V. Sistemas distribuídos: princípios e paradigmas. [S.1]: Prentice Hall, 2007.

Complementar

ANDERSON, Ross. Security engineering: a guide to building dependable distributed systems. 2nd ed. Indianapólis: J. Wiley, c2008.

ANDREWS, George R. Foundation of mutithreaded, parallel and distributes programming. Reading, Mass.: Addison-Wesley, c2000.

BEN-ARI, M. Principles of concurrent and distributed programming. 2nd ed. Harlow; New York: Addison-Wesley, 2006.

FOKKINK, Wan. Distributed algorithms: an intuitive approach. Cambridge: The Mit Press, 2013.

MUNIR, Arslan; GORDON-ROSS, Ann; RANKA, Sanjay. Modeling and optimization of parallel and distributed embedded systrems. Wiley, 2016.

TEL, Gerard. Introduction to distributed algorithms. 2nd ed. Cambridge: Cambridge University Press, 2000.

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Igor Santos Peretta, Professor(a) do Magistério Superior, em 16/08/2023, às 22:06, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 4742930 e o código CRC 5B7DDAF3.




Referência: Processo nº 23117.054632/2023-86 SEI nº 4742930