|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Av. João Naves de Ávila, 2121 - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 |
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular: |
|||||||||
Unidade Ofertante: |
|||||||||
Código: |
Período/Série: |
Turma: |
|||||||
Carga Horária: |
Natureza: |
||||||||
Teórica: |
Prática: |
Total: |
Obrigatória: |
Optativa: |
|||||
Professor(A): |
Ano/Semestre: |
||||||||
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
Entrega de atividades avaliativas semanais de cada tópico abordado (avaliação continuada) / 50% da nota final
Avaliação Final / 50% da nota final
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: _________________________
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. |
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 |