UFABC - Sistemas Distribuídos (MCTA025-13)
Segundo Quadrimestre de 2024

Índice

Permalink

Turmas: NA1MCTA025-13SA e NA2MCTA025-13SA
Professor: Emilio Francesquini
E-mail: e.francesquini@ufabc.edu.br

1. Avisos

  • [2024-07-12 Fri] Lista de exercícios 01 (relativa ao Quiz 1) já disponível.
  • [2024-07-11 Thu] Palestra 15/07 18h (Sala A-111-0) - Vale um ponto bônus na média final para os alunos que comparecerem. Veja mais informações aqui.
  • [2020-02-09 Sun] Página colocada no ar.


div.png

2. Informações Gerais

2.1. Horários e locais das aulas

  • NA1MCTA025-13SA
    • Teoria
      • Terças das 21:00 às 23:00 - Quinzenal II sala A-114-0
      • Quintas das 19:00 às 21:00 - Quinzenal II - Sala A-114-0
    • Prática
      • Terças das 19:00 às 21:00 - Quinzenal I - Sala 404-2
  • NA2MCTA025-13SA
    • Teoria
      • Terças das 21:00 às 23:00 - Quinzenal II - Sala A-114-0
      • Quintas das 19:00 às 21:00 - Quinzenal II - Sala A-114-0
    • Prática
      • Terças das 21:00 às 23:00 - Quinzenal I - Sala 404-2

2.2. Sobre este oferecimento

Este oferecimento da disciplina será completamente presencial, incluindo aulas, plantões e avaliações. Contudo, o professor poderá responder a eventuais questionamentos e dúvidas no servidor do Discord no canal da disciplina cujo endereço está disponível abaixo.

Todo o material das aulas é disponibilizado online segundo a Licença Creative Commons Atribuição-NãoComercial 4.0 Internacional (CC-BY-NC).

Inscreva-se o quanto antes no servidor do Discord da disciplina (https://discord.gg/FcKjW8WmSY). Todos os anúncios e comunicações serão feitos por lá.

discordqr.png

Figura 1: Servidor do Discord da disciplina.

Quinzenalmente teremos uma aula de prática, onde os conceitos vistos serão explorados.

  • Presencial
    • Horário de atendimento
      • No horário listados abaixo não é preciso confirmar ou marcar, apenas apareça!
      • Quinta-feiras às 18h00 - Bloco A Sala: 509-2
    • Agendado por e-mail
      • Verifique minha agenda e sugira pelo menos dois possíveis horários!
    • Em sala de aula - Após as aulas
  • Online - A qualquer horário (tempo de resposta pode variar em função do horário)


div.png

3. Sobre a Disciplina

MCTA025-13 Sistemas Distribuídos

  • TPI 3-1-4
  • Recomendação: Redes de Computadores

Ementa

Introdução e caracterização de sistemas distribuídos. Evolução histórica. Modelos arquiteturais, objetivos, aplicações e tendências modernas. Comunicação e sincronização em Sistemas distribuídos. Servidores remotos. Servidor de arquivos, diretórios, impressora, nomes, correio eletrônico, etc. Sistema de Arquivos: organização, segurança, confiabilidade e desempenho. Estudos de Casos.

Objetivos

O objetivo geral do curso é apresentar aos alunos a importância dos sistemas distribuídos, conhecer os conceitos básicos referentes aos sistemas distribuídos; compreender a necessidade de estruturação adequada dos sistemas de informação distribuídos e conhecer os principais componentes dos sistemas de informação distribuídos e técnicas usadas para desenvolvê-los.

3.1. Requisitos preliminares

Os pré-requisitos para o estudante matriculado na disciplina são:

  • Acesso a computador com Internet
  • No computador, acesso a navegador de Internet, como Chrome, Mozilla, Edge, etc.
  • No computador, acesso a usar programas como Java (java e javac) e Eclipse.
  • Acesso ao sistema SIGAA da UFABC.


div.png

4. Datas Importantes

  • Quizzes
  • Exercícios Programas
    • EP1 - 04/08 \(\to\) 11/08
    • EP2 - 08/09 \(\to\) 15/09
  • Quizzes Substitutivos: 19/09/2024
  • Rec.: Data a ser definida (Durante o Q3)

Enunciados dos EPs serão disponibilizados no site da disciplina.


div.png

5. Exercícios Programas

  • EP1 - 04/08 - Enunciado será disponibilizado em breve
  • EP2 - 08/09 - Enunciado será disponibilizado em breve

5.1. Orientações

  • As entregas serão feitas via GitHub Classroom. Os links serão divulgados aqui em breve.
  • O projeto pode ser feito em grupos de no máximo 3 pessoas
    • Apenas um dos integrantes do grupo deve fazer o upload do projeto para o GitHub e deve estar bem claro quais são os integrantes da equipe no relatório.
  • Todos os commits e o push final devem ter sido feitos até no máximo às 23h59 do respectivo dia de entrega.
    • Atenção, caso ocorram/commits/pushes após o prazo, será considerada apenas a última versão para avaliação. Caso o último esteja com atraso > 3 dias, então será considerado o último commit até 3 dias (valendo no máximo 5).
    • Entregas em atraso sofrerão descontos conforme a tabela abaixo.

      Dias em atraso Nota máxima
      1 dia 7
      2 dias 6
      3 dias 5
      >3 dias 0
  • No mesmo repositório do seu código, deverá haver um relatório de no máximo 1 páginas (em PDF! nada de .md, .docx, .odt, ou qualquer outro formato da moda…) descrevendo:
    • O seu projeto
    • Como utilizar o seu código
    • Dificuldades, surpresas e destaques do seu código
  • O seu relatório também deverá conter obrigatoriamente um link para um vídeo que:
    • Esteja abrigado no Youtube (ou qualquer serviço semelhante)
    • Seja privado/não listado e disponível apenas àqueles com o link
    • Tenha no máximo 3 minutos (ou seja, <= 180 segundos). Sem exceções.
    • Mostre a compilação, o uso e uma apresentação do código do projeto
  • Durante a correção o professor pode pedir por esclarecimentos adicionais.


div.png

6. Aulas

Aulas marcadas com P são aulas práticas que ocorrerão nos laboratórios. Atenção aos horários da sua turma aqui.

Sem. Aula Data Assunto Referências Material
1 25/06 - Ter Apresentação da disciplina [ST] Cp. 1; [CDKB] Cp. 1 Slides Cp. 1
Qz 2 2 27/06 - Qui Introdução a SD - Parte 1 [ST] Cp. 1 Slides Cp. 1
3 02/07 - Ter P Sockets UDP+TCP   sockets.zip
Qz 1 4 04/07 - Qui Introdução a SD - Parte 2 [ST] Cp. 1 Slides Cp. 1
- 09/07 - Ter Não haverá aula. - Revolução Constitucionalista Wikipedia  
Qz 2 5 11/07 - Qui Arquiteturas de SDs [ST] Cp. 2 Slides Cp. 2
6 16/07 - Ter P - -  
Qz 1 7 18/07 - Qui Quiz 1 [ST] Cp. 3; [CDKB] 4ª Ed. Cp. 6, 5ª Ed. Cp. 7  
8 23/07 - Ter - [ST] Cp. 4; [CDKB] 4ª e 5ª Eds. Cp. 4, 5, 6  
Qz 2 9 25/07 - Qui - [ST] Cp. 5; [CDKB] 4ª Ed. Cp. 9, 5ª Ed. Cp. 13  
10 30/07 - Ter P - -  
Qz 1 11 01/08 - Qui - [ST] Cp. 5; [CDKB] 4ª Ed. Cp. 9, 5ª Ed. Cp. 13  
12 06/08 - Ter Quiz 2 [ST] Cp. 6; [CDKB] 4ª Ed. Cp. 11 e 12, 5ª Ed. Cp. 14 e 15  
Qz 2 13 08/08 - Qui - [ST] Cp. 6; [CDKB] 4ª Ed. Cp. 11 e 12, 5ª Ed. Cp. 14 e 15  
14 13/08 - Ter P - -  
Qz 1 15 15/08 - Qui - [ST] Cp. 6; [CDKB] 4ª Ed. Cp. 11 e 12, 5ª Ed. Cp. 14 e 15  
16 20/08 - Ter Não haverá aula. - Feriado Municipal São Bernardo do Campo Wikipédia  
Qz 2 17 22/08 - Qui - [ST] Cp. 7; [CDKB] 4ª Ed. Cp. 13 a 15, 5ª Ed 16 a 18  
10ª 18 A definir P - -  
Qz 1 19 A definir - [ST] Cp. 7; [CDKB] 4ª Ed. Cp. 13 a 15, 5ª Ed 16 a 18  
11ª 20 A definir Quiz 3 [CDKB] 5ª Ed Cp. 20 a 21  
Qz 2 21 A definir - [CDKB] 5ª Ed Cp. 20 a 21  
12ª 22 A definir P - -  
Qz 1 23 A definir Quiz 4 e Quizzes Substitutivos -  


div.png

7. Notas

As notas serão divulgadas aqui.


div.png

8. Critério de Avaliação

warning.png Honestidade Acadêmica

Entre outros, o código de ética da UFABC estabelece em seu artigo 25 que é eticamente inaceitável que os discentes:
I - fraudem avaliações;
II - fabriquem ou falsifiquem dados;
III - plagiem ou não creditem devidamente autoria;
IV - aceitem autoria de material academico sem participação na produção;
V - vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.

Muitos ainda têm dúvidas sobre a interpretação das regras definidas pelo Código de Ética da UFABC. Por esta razão, diversos professores elaboraram um documento (disponível aqui) com vários exemplos e esclarecendo a interpretação das regras acima. Abaixo uma versão resumida. Sempre consulte o documento completo ou converse com o seu professor em caso de dúvidas!

  • Regra 1 - Você não pode enviar para avaliação um trabalho que não seja de sua própria autoria ou que seja derivado/baseado em soluções elaboradas por outros.
  • Regra 2 - Você não pode compartilhar a sua solução com outros alunos nem pedir aos seus colegas que compartilhem as soluções deles com você.
  • Regra 3 - Nos trabalhos enviados para avaliação você deve indicar eventuais assistências que você tenha recebido.

    ATENÇÃO: todos os trabalhos enviados para avaliação poderão ser verificados por um sistema automatizado de detecção de plágio.

Qualquer violação às regras descritas acima implicará:

  • Descarte dos conceitos atribuídos a TODAS as tarefas avaliativas regulares de TODOS os envolvidos, causando assim suas reprovações automáticas com conceito F .
  • Possível denúncia à Comissão de Transgressões Disciplinares Discentes da Graduação, a qual decidirá sobre a punição adequada à violação que pode resultar em advertência, suspensão ou desligamento , de acordo com os artigos 78-82 do Regimento Geral da UFABC.
  • Possível denúncia apresentada à Comissão de Ética da UFABC, de acordo com o artigo 25 do Código de Ética da UFABC.

Regulamentações relevantes:

8.1. Presença

A resolução CONSEPE nº 139 estabelece no seu Artigo 2º, § 4 que nas disciplinas presenciais, a frequência mínima obrigatória para aprovação é de 75% das aulas ministradas e/ou atividades realizadas. Alunos que não atingirem a frequência mínima receberão conceito O.

  • Abonos de faltas: Conforme descrito no portal do MEC, na educação superior não há abono de faltas . Há, contudo, casos especiais para alunos reservistas , alunos com representação na CONAES, gestantes e em dias de guarda religiosa.
  • Substituição de faltas por exercícios domiciliares: As situações em que a falta às aulas podem ser preenchidas por exercícios domiciliares são regulamentadas pelo Decreto-Lei nº 1.044, de 21 de outubro de 1969, e estendidos pela Lei nº 6.202, de 17 de abril de 1975. Nestes casos os alunos devem protocolar requerimento diretamente junto à Central de Atendimento ao Estudante da Pró-reitoria de Graduação da UFABC. A Resolução nº 25/2020 da CG dispõe o procedimento a ser seguido para o Regime de Exercícios Domiciliares na UFABC.
  • Mecanismos de avaliação substitutivos:
    • Atividades não presenciais: Não existe adiamento ou reposição de mecanismos de avaliação não presenciais (como, por exemplo, listas de exercícios) devido a faltas justificadas, afastamentos médicos, etc., uma vez que tais atividades tem um prazo de entrega extenso. Em particular, o Artigo 1º, da Resolução 227 do CONSEPE deixa claro que mecanismos de avaliação substitutivos só se aplicam a "avaliações presenciais".
    • Atividades presenciais: No caso de ausência justificada em uma avaliação presencial (e.g., prova escrita) através de um dos comprovantes previstos na Resolução 227 do CONSEPE, o aluno terá direito a requerer uma avaliação substitutiva em uma data a ser combinada.

Regulamentações Relevantes:

8.2. Mecanismos de avaliação

A avaliação da disciplina será composta pelas seguintes notas:

  • \(M_Q\) é média dos quizzes
  • \(M_{EP}\) é a média dos exercícios programas

A \(M_Q\) será calculada como a média aritmética entre as notas dos quizzes 1 a 4 (\(Q_1\), \(Q_2\), \(Q_3\), \(Q_4\)) conforme a fórmula abaixo:

\begin{equation*} M_Q = \frac{Q_1 + Q_2 + Q_3 + Q_4}{4} \end{equation*}

Os quizzes substitutivos substituem algum quizz que tenha sido perdido (com justificativa).

A \(M_{EP}\) é a média ponderada dos dos exercícios programas (\(EP_1\) e \(EP_2\)) com pesos 2 e 3 respectivamente, conforme a fórmula abaixo:

\begin{equation*} M_{EP} = \frac{2 EP_1 + 3 EP_2}{5} \end{equation*}

A nota final (\(N_F\)) será determinada pela média harmônica ponderada de \(M_Q\) e \(M_{EP}\) com pesos 2 e 3 respectivamente, conforme a fórmula abaixo:

\begin{equation*} N_F = \frac{5}{\frac{2}{\max\{0.1, M_Q\}} + \frac{3}{\max\{0.1, M_{EP}\}}} \end{equation*}

O conceito final (\(C_F\)) será obtido de acordo com a equação abaixo:

\begin{equation*} C_F = \begin{cases} \textbf{F} ,& \text{se } N_F \in [0,0;5,0) \\ \textbf{D} ,& \text{se } N_F \in [5,0;6,0) \\ \textbf{C} ,& \text{se } N_F \in [6,0;7,0) \\ \textbf{B} ,& \text{se } N_F \in [7,0;8,5) \\ \textbf{A} ,& \text{se } N_F \in [8,5;10,0] \end{cases} \end{equation*}

8.3. Recuperação

A resolução ConsEPE nº 182 assegura a todos os alunos de graduação com \(C_F\) igual a D ou F o direito a fazer uso de mecanismos de recuperação.

A recuperação será feita através de uma prova \(P_R\), sem consulta, e a sua nota será utilizada para compor a o conceito pós-recuperação \(C_R\) conforme as equações abaixo:

\[N_R = \frac{P_R + N_F}{2}\]

Caso 1 \(C_F = D\):

\begin{equation*} C_R = \begin{cases} \textbf{C} ,& \text{se } N_R \geq 6,0 \\ \textbf{D} ,& \text{caso contrário} \end{cases} \end{equation*}

Caso 2 \(C_F = F\):

\begin{equation*} C_R = \begin{cases} \textbf{D} ,& \text{se } N_R \geq 5,0 \\ \textbf{F} ,& \text{caso contrário} \end{cases} \end{equation*}


div.png

9. Bibliografia

st4.png

[ST] - Texto principal - M. Van Steen and A. S. Tanenbaum. Distributed Systems. Fourth edition, 2023.

A 4ª edição do livro (em inglês) está disponível gratuitamante no site do autor no seguinte link:

https://www.distributed-systems.net/index.php/books/ds4/

A 2ª edição (que mantém um bom nível de compatibilidade, ainda que incompleta, com a 3ª e 4ª edições) tem uma versão em português (para aqueles que não tem tanta familiaridade com o inglês). Versões em português e inglês estão disponíveis na biblioteca:


CDKB5.jpeg

[CDKB] Coulouris, J. Dollimore, T. Kindberg, and Blair. Distributed Systems: Concepts and Design. 5th Edition, Addison-Wesley, 2011.

Utilizaremos principalmente a 5ª edição. Contudo a 4ª edição (que mantém um bom nível de compatibilidade está disponível na biblioteca):

9.1. Bibliografia complementar

[KS] A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms, and Systems. Paperback edition, Cambridge University Press, 2011.


[NL] Lynch, Nancy Ann. Distributed algorithms, Morgan Kaufmann Publishers, 1997.


div.png


Última atualização: 2024-07-12 22:27
Emacs 29.3 (Org-mode 9.6.15)

Autor: Emilio Francesquini
e.francesquini@ufabc.edu.br

Criado em: 2024-07-12 Fri 22:27