Objetivos
- Criar um benchmark e medir o desempenho de vários computadores.
- Definir critérios para medir o desempenho de um computador
- Listar, em ordem de desempenho, todos os computadores avaliados pela turma.
Atenção: Esse exercício é individual, com um resultado final coletivo. Você deve realizar as medidas e colocá-las
online até o dia 10/03. O relatório só pode ser feito após esta data.
Antes de começar
Você deve relembrar os conceitos de medidas de desempenho estudados em MC722. Eis algumas perguntas para guiar seu exercício:
- O que é um benchmark?
- Quantos programas devem existir em um benchmark?
- Qual medida deve ser utilizada para dizer que um programa/computador é mais rápido que outro?
- Como obter essa medida?
- Você sabe a diferença das 3 medidas de tempo retornadas por este comando?
- A medida utilizada é confiável?
- A escala utilizada é confiável?
- Existe algum erro nesses números? Como minimizá-lo?
- O que significa dizer que um computador é X vezes mais rápido que outro?
- Você sabe diferenciar um programa sequencial de um paralelo?
- Se seu programa for sequencial, faz diferença executá-lo numa máquina paralela?
- Se seu programa for paralelo, como medir seu desempenho numa máquina sequencial?
Você deve saber responder todas estas perguntas mas não é necessário
colocar as respostas no relatório. Não escreva o relatório sem saber as
respostas para estas perguntas.
Atividade
Este exercício é resultado de um trabalho coletivo, onde cada
componente deverá entregar um relatório e realizar uma parte da
atividade. Cada aluno deve realizar apenas uma
das seguintes atividades:
- Definir um programa para medir o desempenho de um computador:
Escolha um programa (não pode fazer parte de um benchmark já existente)
que possa ser utilizado para medir o desempenho do computador.
Atividades e recomendações:
- Execute o programa num computador da sala 302 para tirar suas medidas
- Não use um programa que seja, por si só, um benchmark
- O programa deve ter código fonte aberto para permitir que ele seja
compilado e executado em diversas máquinas (você não precisa executa-lo
em diversas máquinas). Você deve fornecer procedimentos para instalação
dos programas
- Defina, se necessário, um conjunto de entrada(s) e saída(s) padrões
para o seu programa, de forma que todas as execuções sejam idênticas em
comportamento
- Prepare um script ou defina uma linha de comando para que o programa seja executado com as configurações (se existirem) e parâmetros corretos
- Cuidado para não escolher programas que possam gerar números de
desempenho sucetíveis a grandes erros (números muito pequenos, por
exemplo). Tempos de execução inferiores a 10s podem causar erros de
precisão e por isto não serão aceitos como medidas no computador da
sala 302 (execute mais coisas para aumentar seu tempo).
- Defina seu critério de desempenho e meça-o em um computador base da
sala 302. É necessário medir mais de uma vez o desempenho e consolidar
as medidas. Defina quantas vezes tem que ser medido. Se for utilizar
tempo, especifique qual tempo utilizar
- Publique as informações acima para que outros alunos da turma possam reproduzir seus dados em outros computadores. Use esta planilha para colocar seus dados. Descreva os programas neste documento.
- Justifique o motivo da escolha desse programa, descrevendo-o brevemente
- Preencha três células da planilha:
Preencha células em branco da planilha colocando os resultados da
execução dos programas Coloque as informações de desempenho na mesma
página descrita no item 1. A célula referente ao computador da sala 302
está reservada para quem definiu o programa.
- Se for necessário, inclua novos computadores na planilha.
- Se você incluir um computador pessoal, você deve dar instruções
explícitas aos demais alunos sobre os momentos onde ele estará
disponível (traga para a sala de aula, por exemplo, e deixe seus
colegas utilizarem). Medidas de apenas 1 aluno num computador valerão
menos nota.
Com base nos resultados disponíveis na planilha, faça seu relatório comparando o desempenho de todos os computadores. Utilize todos os pontos fornecidos
(Você pode questionar a qualidade de certas medidas se achar necessário
e excluí-las). Não se esqueça de informar, para cada medida, as
configurações do computador que foi utilizado. Classifique os
computadores em ordem de desempenho.
Entrega
Enviar um relatório de apenas 1 página descrevendo a atividade
realizada. Utilize uma seção/subseção apenas para descrever sua
atividade individual. Analisar e comentar o resultado.