Nome da Atividade
INTROD PROCESSAMENTO PARALELO E DISTRIBUÍDO
CÓDIGO
1110146
Carga Horária
68 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CRÉDITOS
4
CARGA HORÁRIA TEÓRICA
4
CARGA HORÁRIA OBRIGATÓRIA
4
FREQUÊNCIA APROVAÇÃO
75%
Ementa
Classificação de arquiteturas para sistemas paralelos e distribuídos. Modelos de programação concorrente. Memória compartilhada. Troca de Mensagens. Estudos de casos.
Objectives
Objetivo Geral:
A disciplina tem o objetivo de estender os conhecimentos de programação concorrente obtidos em Sistemas Operacionais para a aplicação em sistemas modernos com memória compartilhada ou troca de mensagens. Para sistemas paralelos, são apresentados os aspectos de modelagem de sistemas, sincronização e ambientes de programação. Para sistemas distribuídos, são apresentados o paradigma de troca de mensagens, os problemas clássicos relacionados ao uso de redes e ambientes de programação. No final da disciplina, espera-se que o aluno seja capaz de programar sistemas paralelos e distribuídos e compreender as principais questões relacionadas ao desenvolvimento nessas plataformas.Conteúdo Programático
1. Revisão de programação concorrente
2. Definição de dependência
3. Classificação de arquiteturas para sistemas paralelos e distribuídos
• Classificação de Flynn
4. Modelos para programação concorrente
• PRAM
• BSP
5. Programação com memória compartilhada
• Memórias Transacionais
• Estudo de caso
6. Programação com troca de mensagens
• Relógios lógicos
• Mensagens síncronas, assíncronas, caixas postais
• Estudo de caso
2. Definição de dependência
3. Classificação de arquiteturas para sistemas paralelos e distribuídos
• Classificação de Flynn
4. Modelos para programação concorrente
• PRAM
• BSP
5. Programação com memória compartilhada
• Memórias Transacionais
• Estudo de caso
6. Programação com troca de mensagens
• Relógios lógicos
• Mensagens síncronas, assíncronas, caixas postais
• Estudo de caso
Bibliografia
Bibliografia Básica:
- Couloris, G. Dollimare, J. , Kindberg, T. Sistemas distribuídos: conceitos e projeto. Bookman, 2007
- Rauber, T., Rünger, G. Parallel Programming for Multicore and Cluster Systems. Berlin: Springer-Verlag, 2010.
- Comissão Regional de Alto Desempenho - RS. Caderno dos Cursos Permanentes das ERADs. Porto Alegre: SBC, 2006.
Bibliografia Complementar:
- Wilkinson, B., Allen, M. Parallel programming: techniques and applications using networked workstations and parallel computers. UpperSaddle River, New Jersey: Prentice-Hall, 2004.
- Navaux, P. O. A., De Rose, C. A. F. Arquiteturas Paralelas. Porto Alegre: Sagra Luzzatto, 2003.
- Tanenbaum, A. S. Redes de Computadores. 5. ed. Rio de Janeiro: Pearson, 2011.
- Kurose, J. F., Ross, K. W. Redes de Computadores e a Internet.5.ed. São Paulo: Pearson Addison Wesley, 2010.
- Tanenbaum, A., Van Steen, M. Distributed Systems: Principles and Paradigms. 2nd ed. Prentice Hall, 2006.