MAC 440/5759 - Sistemas de Objetos Distribuídos

Exercício-Programa 2: Experimentação e Análise de Desempenho

Descrição

A sua empresa decidiu desenvolver um sistema distribuído baseado em CORBA mas ainda não escolheu qual ORB irá utilizar. Para auxiliar na escolha, o seu chefe encomendou um relatório sobre o desempenho de um dos ORBs candidatos. A sua tarefa será escrever alguns programas-teste e realizar uma série de experimentos para analisar o desempenho deste ORB. O produto final do seu trabalho será um relatório sobre o desempenho do ORB que será comparado a outros relatórios sobre outros ORBs.

Especificação

Os experimentos serão realizados utilizando-se um ou mais programas cliente/servidor onde os clientes devem ser instrumentados para medir o tempo total para a execução de cada chamada a operações remotas. A resolução das medidas deve ser da ordem de microsegundos (caso a medição seja feita em C++) e da ordem de milissegundos (caso a medição seja feita em Java (opportunity for flame war?)).

Você deve realizar os seguintes experimentos:


Você deve repetir cada um dos experimentos entre 5 e 10 vezes. O resultado que você apresentará para cada experimento será a média aritmética dos valores obtidos em cada repetição juntamente com o desvio padrão. Opcionalmente, você pode descartar os valores extremos ou comparar os resultados obtidos descartando-se e não descartando-se os valores extremos.

Os resultados dos experimentos de (1) a (4) devem ser mostrados em um gráfico de barras elegantemente formatado com indicação do desvio padrão através de barras verticais. Algo similar a este exemplo.

Os resultados dos experimentos de (7) a (9) devem ser mostrados em um único gráfico de linhas elegantemente formatado com indicação do desvio padrão através de barras verticais. Algo similar a este exemplo.

Os resultados do experimento (5) devem ser mostrados em um gráfico separado. O resultado do experimento (6) é apenas um valor médio e o seu desvio padrão. Então vocês podem ou simplesmente indicar os valores no relatório ou criar uma tabela contendo todos os valores coletados nas diversas repetições do experimento (mais a média e o desvio padrão).

Cada grupo deverá entregar um arquivo compactado contendo:

  1. Código-fonte. (20% da nota)
  2. Documentação sucinta mas completa explicando como compilar o código e executar os experimentos. (10%)
  3. Um relatório indicando a plataforma de HW e SW utilizada, descrevendo os experimentos realizados, mostrando os resultados obtidos e contendo um texto analisando os dados coletados. (70%)

ORBs que podem ser utilizados

Qualquer ORB CORBA tá valendo!

FAQ

Questão 1: Posso usar um ORB diferente do que usei no EP1?
Resposta: Sim!

Questão 2: Pode fazer em grupo?
Resposta: Pode-se fazer em grupos de 1 a 4 integrantes. Sugiro que a escrita do código seja feita através de programação pareada (dois programadores compartilhando simultaneamente um único computador).

Questão 2: Que ferramenta posso usar para desenhar os gráficos?
Resposta: Você tem inumeras opções, dentre elas gnuplot, Excel, StarOffice, etc.

Entrega

O trabalho deve ser entregue através do panda até 23/4.