Projeto em Computação II (2008/1)
Bacharelado em Ciência da Computação
- Código: 750050
- Horário: A definir
- Sala: T1: Laboratório 111
Avisos
- 21/Dez: Interessados na disciplina, contatar o professor.
Cronograma
Em construção!
| Data |
Semana |
Assunto |
Material |
|
1 |
Apresentação. Objetivos da disciplina. Arquiteturas multi-core. Dataflow. |
|
|
2 |
ERAD 2008 |
|
|
3 |
Algoritmos de escalonamento de lista. |
|
|
4 |
Entrega das propostas de projeto. |
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
Entrega da implementação. |
|
|
16 |
Entrega da avaliação de desempenho e documentação. |
|
|
17 |
Recuperação. |
|
Avaliações
- Freqüência mínima: 75%
- Avaliação do semestre: Proposta + Implementação + Documentação + Avaliação de desempenho
- Implementação
- Tema 1: Implementação de suporte de execução à Anahy com Posix Threads (Anahy Vanilla: Athreads).
- Tema 2: Implementação de suporte de execução à Anahy com OpenMP (Anahy Vanilla: ApenMP).
- Tema 3: Implementação de suporte de execução à PFun (linguagem funcional).
- Documentação:
- Parte 1: Proposta do projeto. Entrega: Semana 4.
- Parte 2: Documentação da implementação e manual do usuário: Entrega: Semana 16.
- Recuperação: Reapresentação do projeto.
- Aprovação sem exame: média do semestre igual ou superior à 7,0.
- Aprovação com exame: média do semestre igual ou superiorà 5,0.
- Somente poderá fazer o exame o aluno que não obteve nota igual ou supoerior a 7.0 mas teve freqüência mínima de 75% e média igual ou superior a 3,0.
- A média do exame será calculada com média aritmética simples entre a média obtida no semestre e a nota obtida no exame.
Objetivos
Aplicar conhecimentos de arquiteturas de computadores, sistemas operacionais e linguagens de programação na construção de uma infra-estrutura de suporte à execução de programas em arquiteturas paralelas.
Ementa
Programação em arquiteturas de computadores paralelos: multiprocessadores e processadores multi-core. Ferramentas e ambientes de programação concorrente. Técnicas de escalonamento e execução.
Conteúdo programático
- Multprocessadores: arquiteturas UMA e NUMA.
- Técnicas de execução em arquiteturas multi-core.
- Ferramentas de programação concorrente.
- Estratégias de escalonamento.
- Desenvimento de projeto prático.
Bibliografia
- Akhter, S. and Robert, J. (2006). Multi-Core Programming: Increasing Performance through Software Multithreading. Intel Press, Hillsboro.
- Andrews, G. R. (2000). Foundations of multithreaded, parallel, and distributed programming. Addison-Wesley, Reading, Mass. [u.a.].
- Cavalheiro, G. G. H.; Santos, R. R. (2007) Multi-programação leve em arquiteturas multi-core. In Atualizações em Informática. Kowaltowski, T.; Breitman, K. K. Rio de Janeiro: PucRio. Cap. 7.
- Nichols, B.; Buttar, D.; Farrell, J. P. (1998). Pthreads Programming. O’Reilly, Cambridge, 2 edition.
== Recursos ==
- Processadores dual-core;
- Linguagem C;
- Linux;
- Posix Threads;
- OpenMP;
- Linguagens funcionais;
- Projeto Anahy;
- Projeto PFun.
<< Volta