UFABC - Sistemas Distribuídos (MCTA025-13)
Segundo Quadrimestre de 2024
Índice
Turmas: NA1MCTA025-13SA e NA2MCTA025-13SA
Professor: Emilio Francesquini
E-mail: e.francesquini@ufabc.edu.br
1. Avisos
- já disponível. Lista de exercícios 01 (relativa ao Quiz 1)
- mais informações aqui. Palestra 15/07 18h (Sala A-111-0) - Vale um ponto bônus na média final para os alunos que comparecerem. Veja
- Página colocada no ar.
![div.png](./img/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
- Teoria
- 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
- Teoria
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).
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
- Horário de atendimento
- Online - A qualquer horário (tempo de resposta pode variar em função do horário)
- Por e-mail.
- Pelo discord: https://discord.gg/FcKjW8WmSY
![div.png](./img/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](./img/div.png)
4. Datas Importantes
- Quizzes
- Quiz 1: 18/07/2024 - Lista de Exercícios 01
- Quiz 2: 06/08/2024
- Quiz 3: 29/08/2024
- Quiz 4: 19/09/2024
- Exercícios Programas
- EP1 -
04/08\(\to\) 11/08 - EP2 -
08/09\(\to\) 15/09
- EP1 -
- 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](./img/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](./img/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ª | 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 |
2ª | 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 |
3ª | - | 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 |
4ª | 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 | |
5ª | 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 | |
6ª | 10 | 30/07 - Ter P | - | - | |
Qz 1 | 11 | 01/08 - Qui | - | [ST] Cp. 5; [CDKB] 4ª Ed. Cp. 9, 5ª Ed. Cp. 13 | |
7ª | 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 | |
8ª | 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 | |
9ª | 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](./img/div.png)
7. Notas
As notas serão divulgadas aqui.
![div.png](./img/div.png)
8. Critério de Avaliação
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:
- Código de Ética da UFABC
- Resolução ConsUni nº 63 - Regimento Geral da UFABC
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:
- Resolução CONSEPE nº 139 - Estabelece frequência mínima de 75%
- Perguntas frequentes sobre educação superior - Secretaria de Educação Superior - MEC
- Decreto-Lei Nº 715, de 30 de julho de 1969 - Serviço militar
- Lei nº 6.202, de 17 de abril de 1975 - Atribui à estudante em estado de gestação o regime de exercícios domiciliares
- Lei Nº 13.796, de 3 de janeiro De 2019 - Define prestações alternativas à aplicação de provas e à frequência a aulas realizadas em dia de guarda religiosa
- Parecer CNE/CES 336/2000 e Parecer CNE/CES 224/2006 do Conselho Nacional De Educação sobre abono de faltas
- Decreto-Lei nº 1.044, de 21 de outubro de 1969 - Dispõe sobre tratamento excepcional para os alunos portadores das afecções que indica.
- Resolução nº 25/2020 da CG dispõe sobre procedimento a ser seguido para o Regime de Exercícios Domiciliares na UFABC.
- Resolução CONSEPE nº 227 - Estabelece os critérios para mecanismos de avaliação substitutivos
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](./img/div.png)
9. Bibliografia
[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:
- PT - http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=3829
- EN - http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=6676
[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.
- Uma versão antiga está disponível na biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=10972
[NL] Lynch, Nancy Ann. Distributed algorithms, Morgan Kaufmann Publishers, 1997.
![div.png](./img/div.png)
Última atualização: 2024-07-12 22:27
Emacs 29.3 (Org-mode 9.6.15)