Professor: Rodolfo Jardim de Azevedo (email)
Aula: Ter: 08h-12h
Atendimento: Enviar email marcando, indicando preferência de horário. Vejam mais detalhes na seção de atendimento abaixo.
Sala: CC01/CC02
14/06 |
Todos os membros dos grupos
devem estar presentes na apresentação do dia 22/06. A ausência de um
dos membros do grupo impedirá a apresentação. |
14/06 |
Notas parciais nesta planilha. Dúvidas quanto às avaliações, procurem-me na sala de aula ou agendem um horário. |
24/05 |
Veja instruções detalhadas sobre o trabalho mais abaixo nesta página. |
24/05 |
Houve uma queda prolongada na rede da Unicamp e o prazo de entrega do Exercício 6 foi ampliado em 2 dias. |
17/05 |
Alunos sem grupos foram agrupados na planilha.
Vocês ainda podem alterar os grupos até a próxima semana (25/05). Todos
os temas devem ser definidos até esta data. Procurem-me antes para
conversar. |
04/05 | Montem seus grupos para o trabalho da disciplina utilizando esta planilha. |
26/04 | Houve um problema com o Susy, agora esta OK. Aumentei o prazo em um dia. Enviem apenas o relatorio. |
24/03 | Site colaborativo para dúvidas de alunos. Utilize tag mc723. |
08/03 |
Mudada a forma de submissão das
atividades. Todas as submissões agora serão feitas via Susy. Pegar as
senhas comigo no horário de aula. |
01/03 | Modelo de Relatório. |
01/03 | Datas importantes do calendário de graduação. |
Aprimorar os conceitos aprendidos no curso de Projeto de Sistemas Computacionais através de exercícios e da modelagem de sistema(s) com processador(es) e periférico(s). Reforçar conceitos de programação em grandes bases de código.
O semestre será dividido em duas partes: exercícios e projeto. Na parte de exercícios, cada aluno implementará pequenas atividades para garantir o entendimento de alguns tópicos básicos. Na segunda parte, cada grupo implementará um projeto que será definido até o meio do semestre.
Todas as entregas possuem uma carência automática de 24 horas, mas não aceitarei nenhuma justificativa de adiamento com base em fatos ocorridos nessas 24 horas. A carência não é válida se ultrapassar o limite do período letivo.
Além do horário reservado para a disciplina, posso atender os alunos em vários horários alternativos, incluindo pedaços do horário do almoço e também horários no início da noite (até 20h).
Para facilitar seu atendimento, procure marcar por email para garantir que eu esteja disponível no dia. Envie uma mensagem sugerindo um horário de atendimento (olhe minha agenda atualizada). Se você quer me demonstrar algum código, procure tê-lo instalado na máquina ssh.students.ic.unicamp.br para que seja fácil demonstrar na hora (por favor, evite trazer algo para instalar na minha máquina, minha experiência diz que teremos grande trabalho para instalar).
Todos devem fazer, individualmente, cada um dos exercícios a seguir:
Os exercícios deverão ser realizados predominantemente em sala de aula.
Vejam os prazos de entrega no calendário:
Cada entrega deve ser na forma de um relatório com tamanho máximo de
2 páginas. Todos os grupos devem guardar o código definido por cada
entrega para apresentação. Haverá um sorteio para as fases
intermediárias e todos os grupos farão uma apresentação final
diretamente com o professor.
O trabalho consiste em montar uma plataforma com, no mínimo, 2
processadores e 2 periféricos novos (você pode utilizar todos os
periféricos feitos até agora, mas terá que criar 2 novos). Esta
plataforma deverá executar um software que deve tirar proveito do
paralelismo oferecido. Vocês estão liberados para escolherem o
programa, não deve ser nenhum dos programas utilizados no exercício 6.
Sugestões de programas: os escolhidos no exercício 3, um dos programas
do benchmark SPLASH-2, ou qualquer outro que você possa extrair
paralelismo.
Os dois periféricos devem ser criados para aumentar o desempenho da
plataforma. Utilize profilling para descobrir o que melhorar do código,
migre para periféricos esta parte do código conforme o Exercício 4.
Você não precisa utilizar as caches implementadas no Exercício 5.
Seu programa tem que trabalhar de forma paralela. Não vale executar
a primeira parte no primeiro processador enquanto o segundo fica parado
e, depois, executar a segunda parte no segundo processador enquanto o
primeiro fica parado. Você, provavelmente, vai precisar do periférico
de Lock, da implementação de barreiras, etc. Este periférico não conta
como um dos dois solicitados pois já deve ter sido implementado no
exercício 4.
Este é o primeiro relatório onde o grupo deve descrever, em
detalhes, o que será feito no trabalho. O limite é de 2
páginas, por isto, escreva apenas o necessário. Recomendo que siga as seguintes partes:
Qualquer entrega fora da especificação que não contar com um acordo prévio com o professor será terminantemente desconsiderada.
02/03T | Apresentação da disciplina e Exercício 1. |
09/03T |
|
16/03T |
Exercício 2 |
23/03T |
|
30/03T |
Exercício 3 |
06/04T |
|
13/04T |
Exercício 4 |
20/04T |
|
27/04T |
Exercício 5 |
04/05T |
|
11/05T |
Exercício 6 |
18/05T |
|
25/05T |
Trabalho: Composição dos Grupos e Definição do Tema até 8h. |
01/06T |
Trabalho:
Entrega da Especificação até 8h. Apresentação da especificação por pelo
menos um dos membros do grupo durante o horário da aula. |
08/06T |
|
15/06T |
|
22/06T |
Trabalho: Entrega Final e Apresentação (sem carência) |
29/06T |
Divulgação de notas |