cursos:if67c
Table of Contents
<html> <!– Global site tag (gtag.js) - Google Analytics –> <script async src=“https://www.googletagmanager.com/gtag/js?id=UA-116569507-1”></script> <script>
window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date());
gtag('config', 'UA-116569507-1');
</script> </html>
IF67C: Sistemas Distribuídos
- Disciplina: IF67C - Sistemas Distribuídos
- Carga Horária (horas): teoria 30h, prática 30h, total 60h
- Pré-requisito: IF66B - Redes de Computadores 1 e IF66D - Sistemas Operacionais
- Professor: Mauro Fonseca
- IF67C - Plano de aula 2015/1
Objetivos
- Proporcionar aos alunos conhecimentos teóricos e práticos em Sistemas Distribuídos.
Ementa
- Modelos de máquinas paralelas.
- Granularidade, níveis de paralelismo.
- Máquinas multiprocessadores e multi-computadores: topologia, arquiteturas fortemente acopladas e fracamente acopladas.
- Processos: threads, clientes, servidores, código móvel e agentes de software.
- Middlewares para aplicações distribuídas.
- Sincronização em Sistemas distribuídos.
- Coordenação e acordo em Sistemas distribuídos.
- Transações distribuídas: modelos, classificação e controle de concorrência.
- Tópicos de Tolerância a falhas e segurança.
Conteúdo
- Modelos de máquinas paralelas.
- Modelos de Máquinas paralelas:
- PRAM (Parallel Random Access Machine);
- BSP (Bulk Synchronous Parallel Model);
- CGM (Coarse Grained Multicomputer);
- LogP.
- Granularidade, níveis de paralelismo.
- Conceitos de granularidade e paralelismo.
- Granularidade fina e grossa.
- Níveis de paralelismo: nível de instrução, ambiente multi-thread, nível de chip, cluster, grid.
- Máquinas multiprocessadores e multi-computadores: topologia, arquiteturas fortemente acopladas e fracamente acopladas.
- Máquinas multiprocessadores.
- Máquinas multi-computadores.
- Ambientes fortemente acoplados e fracamente acoplados.
- Conceito de sistemas operacionais distribuídos e sistemas operacionais de rede.
- Processos: threads, clientes, servidores, código móvel e agentes de software.
- Definição e principais características de sistemas distribuídos.
- Motivação para o desenvolvimento de aplicações distribuídas.
- Exemplos de sistemas distribuídos.
- Desafios no desenvolvimento de aplicações distribuídas: heterogeneidade, abertura, segurança, gerenciamento de falhas, escalabilidade, controle de concorrência e transparência.
- Arquiteturas em sistemas distribuídos: cliente-servidor, processos pares (peer-to-peer), servidores múltiplos, códigos móveis, agentes de software.
- Middlewares para aplicações distribuídas.
- Comunicação entre objetos distribuídos.
- Referência de objetos remotos.
- Serviço de nomes.
- Representação externa de dados.
- Arquitetura de eventos e notificações.
- Middlewares para aplicações distribuídas.
- Atividade em laboratório: desenvolvimento de aplicações distribuídas.
- Sincronização em Sistemas distribuídos.
- Modelo de Interação: sistemas distribuídos síncronos e sistemas distribuídos assíncronos.
- Sincronização interna e externa de relógios físicos.
- Tempo lógico e relógios lógicos.
- Características da comunicação entre processos.
- Primitivas de comunicação.
- Atividade em laboratório: comunicação entre processos via soquetes.
- Coordenação e acordo em Sistemas distribuídos.
- Coordenação e acordo em sistemas distribuídos: algoritmos para implementação de exclusão mútua entre processos.
- Transações distribuídas: modelos, classificação e controle de concorrência.
- Propriedades ACID de uma transação.
- Estados de uma transação.
- Protocolos de efetivação de uma transação.
- Transações planas e aninhadas.
- Leituras sujas, cancelamento em cascata, escritas prematuras.
- Controle de concorrência: travas e bloqueios; ordenação por indicação de tempo; controle de concorrência otimista.
- Impasses (deadlocks).
- Atividade em laboratório: desenvolvimento de aplicações distribuídas.
- Tópicos de Tolerância a falhas e segurança.
- Modelo de Falhas: falhas em processos e em canais de comunicação.
- Tópicos de tolerância a falhas.
- Modelo de Segurança: ameaças, formas de ataque e mecanismos de segurança.
Metodologia
Teoria: aulas expositivas, com análise e discussão dos temas abordados e textos de apoio.
Prática: atividades referentes aos temas abordados nas aulas teóricas (Regras das atividades de laboratório).
Avaliação
Nota final= ( (AL*90%) + (RP*10%) ) Av = Atividades em laboratório (AL) + Relatórios de Pesquisa e/ou Seminários (RP)
Frequência mínima = 75%
Bibliografia
Básica
- COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Distributed Systems: Concepts and Design. 4th ed. Harlow, Essex: Addison-Wesley, 2005. ISBN: 0321263545.
- TANENBAUM, Andrew S. Distributed Operating Systems. Upper Saddle River, NJ: Prentice-Hall, 1995. ISBN: 0131439340.
- TANENBAUM, Andrew S.; STEEN, Maarten Van. Sistemas Distribuídos: Princípios e Paradigmas. 2. ed. São Paulo, SP: Prentice Hall Brasil: 2007. ISBN: 8576051427.
Complementar
- IEEE Transactions on Parallel and Distributed Systems. New York: IEEE Computer Society. ISSN: 1045-9219. Disponível em: <http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=71> ou no Portal de periódicos da CAPES <http: www.periodicos.capes.gov.br/>. * Distributed Computing Journal. Springer. ISSN: 0178-2770 (print version). ISSN: 1432-0452 (electronic version). Disponível em: <http://www.springer.com/computer/communication+networks/journal/446> ou no Portal de periódicos da CAPES <http: www.periodicos.capes.gov.br/>.
- Journal of Parallel and Distributed Systems. Elsevier. ISSN: 0743-7315. Disponível em: <http://www.sciencedirect.com/science/journal/07437315> ou no Portal de periódicos da CAPES <http: www.periodicos.capes.gov.br/>. * KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: uma Abordagem Top-down. 3. ed. São Paulo, SP: Pearson Addison Wesley, 2006. ISBN 8588639181. * TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3. ed. São Paulo: Pearson, 2008. ISBN: 9788576052371. Outros recursos:
cursos/if67c.txt · Last modified: 2023/03/17 12:21 by fonseca