📌 Informações Gerais da Disciplina

  • Código: CSECBJI.86
  • Período: Eletivas (optativas) | Núcleo: Básico | Carga Horária: 60
  • Docente Responsável: Docente IFF (contato@iff.edu.br)
  • Livro / Material Didático Principal: Elementos de Eletrônica Digital (Capuano & Idoeta)

📋 Ementa e Objetivos Pedagógicos

📋 Ementa

Sistemas de troca de mensagens. Processadores de comunicação. Roteamento e controle de fluxo. Programas reativos. Alocação de “buffers”. Alocação de processadores. Modelos síncrono e assíncrono de computação. Computações em sistemas anônimos; limitações intrínsecas. Noções de conhecimento em sistemas distribuídos. Eventos, ordens e estados globais. A complexidade de computações distribuídas. Algoritmos para propagação de informação. Algoritmos simples sobre grafos: teste de conectividade e distâncias mais curtas. Eleição de um líder. Técnicas para registrar estados globais. Sincronizadores. Introdução à auto-estabilização. Detecção de terminação. Detecção de “deadlocks”. Outros algoritmos sobre grafos: árvores geradoras mínimas e fluxos em redes. Algoritmos para exclusão mútua. “Dining philosophers” e “drinking philosophers”. Reexecução determinística de programas. Detecção de “breakpoints”. Introdução à simulação distribuída.

🎯 Objetivos

  • Familiarizar o discente com os conceitos, termos e técnicas básicas de algoritmos distribuídos.

🔒 Pré-requisitos e Dependências Curriculares (Trancas)

📋 Pré-requisitos Exigidos:

🔓 Disciplinas Trancadas (Liberadas após conclusão):

📖 Conteúdo Programático

  • 1. Introdução à Computação Paralela e Distribuída
    • Histórico
    • Paralelismo e Concorrência
    • Computação Paralela e Distribuída
    • Tendências
  • 2. Arquiteturas Paralelas
    • Taxonomia de Flynn
    • Níveis de Paralelismo
    • Hierarquia de Memória e Caching
    • Corretude de Programas Concorrentes
    • Propriedades
    • Interferência entre processos concorrentes
    • Não Determinismo
  • 3. Modelos, Ferramentas e Ambientes de Computação Paralela e Distribuída
    • Modelos de Programação Paralela
    • OpenMP, MPI, CUDA e OpenACC
  • 4. Tópicos Emergentes em Computação Paralela e Distribuída
    • Projeto de Paralelização
    • Padrões de Projeto para Programação Paralela
    • Técnicas Básicas de Otimização
    • Algoritmos Paralelos para Problemas de Busca, Ordenação e Grafos

📚 Bibliografia Básica e Complementar (ABNT)

📕 Bibliografia Básica

  1. COLOURIS, G., DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos: Conceitos e Projeto. 4ª Edição.
  2. Porto Alegre: Bookman, 2007.
  3. STEVENS, W. R., FENNER, B., RUDOFF, A. M. Programação de Rede Unix: API para Soquetes de Rede. Porto Alegre: Booknan, 2005.
  4. TANENBAUM, A. S., VAN STEEN, M. Sistemas Distribuídos: Princípios e Paradigmas. 2ª Edição. São Paulo: Pearson, 2007.

📗 Bibliografia Complementar

  1. CORMEN, T. H., LEISERSON, C. E., RIVEST, R. L., STEIN, C. Algoritmos: Teoria e Prática. 3ª Edição. São Paulo: Elsevier, 2012.
  2. KUROSE, J., ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 6ª Edição.
  3. Pearson, 2013.
  4. RHODES, B.
  5. GOERZEN, J. Programação de Redes com Python: Guia Abrangente de Programação e Gerenciamento de Redes com Python 3. São Paulo: Novatec, 2015.
  6. TANENBAUM, A. S. Sistemas Operacionais Modernos. 4ª Edição. Pearson, 2015.
  7. TANENBAUM, A. S., WOODHULL, A. S. Sistemas Operacionais: Projeto e Implementação. 3ª Edição.
  8. Porto Alegre: Bookman, 2018.

📝 Anotações e Arquivos Didáticos

1 item neste arquivo.



© 2026 Pedro Henrique Rocha de Andrade · Construído com Quartz