March
  • 2009-03-24
    • Versão funcional das primitivas MPI_Comm_Spawn e MPI_Comm_get_parent.

February
  • 2009-02-20
    • Implementação da primitiva MPI_Comm_Spawn funcionou.

December
  • 2008-12-08
    • Término da realização do artigo para o ERAD 2009. Total de 4 páginas a ser submetido hoje. O evento de submissão trata-se da Sessão de Iniciação Científica do ERAD 2009 e será realizado na cidade de Caxias do Sul/RS.
  • 2008-12-05
    • Início da realização do artigo para o ERAD 2009;
  • 2008-12-04
    • Pesquisa em bibliografias, reunião de idéias e anotações para escrita do artigo para o ERAD 2009.

November
  • 2008-11-26
    • Ajustes de antigo programa do PingPong com o MPI.NET para se enquadrar nas metodologias citadas abaixo. Esse programa será utilizado para uma bateria de testes na máquina dual core, a fim de disponibilizar informações para artigo do ERAD 2009 a ser entregue até o dia 8 de dezembro.
  • 2008-11-25
    • Término das execuções de comparações seqüênciais de programas de fatoração LU entre o C e o C#.
    • Geração de gráficos comparando os tempos de execução, o desvio-padrão, a diferença de tempo encontrada e a porcentagem de diferença entre o C e o C#.
Exemplo de gráfico gerado (os demais gráficos podem ser visualizados aqui: Gráficos - Fatoração LU):

comparacaoFat.JPG
  • 2008-11-21
    • Término das execuções de comparações seqüênciais de programas de multiplicação de matrizes entre o C e o C#.
    • Geração de gráficos comparando os tempos de execução, o desvio-padrão, a diferença de tempo encontrada e a porcentagem de diferença entre o C e o C#.
Exemplo de gráfico gerado (os demais gráficos podem ser visualizados aqui: Gráficos - Multiplicação de Matrizes):

comparacaoMult.JPG
  • 2008-11-19
    • Estudo de formas de paralelizar com MPI o algoritmo de fatoração LU (não é trivial).
    • Estudo de formas de otimização de código no Visual Studio para as linguagens C e C#. C -> utilização de 03. C# -> Ativação de 'Optimize' em Propriedades->Build. Recompilação dos códigos e início de novas execuções das baterias de testes com os códigos agora otimizados.
  • 2008-11-18
    • Observação dos resultados dos testes para multiplicação de matrizes. Estudo do gnuplot para formação de gráficos com os resultados. Obtenção de gráficos iniciais. C# está com uma pequena vantagem em relação ao C. Os motivos para esse fato serão analisados.
  • 2008-11-13
    • Realização e término do código para multiplicação de matrizes com MPI.NET e C#. Decisão de metodologia empregada para cálculo do tempo foi realizada. Essa metodologia será empregada nos outros testes também.
    • Início da realização do código para multiplicação de matrizes com o MPI/C utilizando a mesma metodologia citada acima.
    • Pré-análise de alguns resultados obtidos nos benchmarks seqüênciais.
  • 2008-11-12
    • Ajustes nos arquivos batch e término do programa para calcular a média e o desvio-padrão automaticamente dos diversos testes a serem realizados.
    • Início da banda de testes em máquina dual-core. Ficarão rodando durante a noite automaticamente.
  • 2008-11-11
    • Instalação e verificação do funcionamento e modo de compilação de programas MPI em C no Visual Studio 2008.
    • Desenvolvimento de código para multiplicação de matrizes com MPI em C. Ainda não terminado.
    • Criação de um arquivo batch para executar automaticamente 30 testes para cada uma das entradas da multiplicacao de matrizes seqüêncial em C. As entradas, em um 1º momento, variam de 100 a 1000 (dimensões das matrizes), com incrementos de 10. Esses valores podem ser ajustados conforme o desvio-padrão for analisado.
    • Criação de uma implementação em C para automatizar a obtenção da média de execuções de todos os testes gerados pelo arquivo batch mencionado acima.
  • 2008-11-10
    • Pesquisas e análises de arquivos batch no Windows para a execução automática de programas com diferentes parâmetros de entrada (importante para os benchmarks).
    • Análise de alguns códigos MPI existentes na Internet para serem reaproveitados nos benchmarks.
October
  • 2008-10-08
    • Implementação dos algoritmos de fatoração LU em C e em C#. Esses códigos serão executados para a realização dos diversos benchmarks. Argumentos variáveis por linha de comando : dimensão da matriz A e número de iterações. Apenas as operações de cálculo da fatoração são calculados pelo benchmark. Operações de alocação de memória para as matrizes são desprezadas pelo cálculo.
    • Ajustes das traducões da implementação MPI_Bsend e atualização do Release.
    • Término da implementação em C e em C# da multiplicação de matrizes. Criação de tática para benchmark e pesquisa de bibliotecas para contagem de tempo. Em C# -> classe DateTime. Em C -> time.h. Alocações de memória não entram na contagem de benchmark. Apenas a multiplicação efetiva através dos laços é contada.
  • 2008-10-06
    • Início da implementação dos primeiros passos do Plano de Benchmarks decidido na reunião. Implementação da multiplicação de matrizes em C . Argumentos variáveis por linha de comando : dimensão das matrizes e número de iterações.
September
  • 2008-09-30
  • 2008-09-29
    • Reunião para definição dos próximos passos do projeto.
    • Criação de uma documentação a respeito de toda a solução criada para o Bsend, desde os problemas enfrentados até a forma como foi implementado e o modo de utilização no MPI.NET desse método.
  • 2008-09-25
    • Pesquisa e leitura de como utilizar sockets em C# diretamente, sem o uso do MPI. Esses sockets serão utilizados para diversos tipos de benchmarks e comparações nos próximos passos do projeto.
  • 2008-09-23
    • Término da implementação da solução geral para o MPIBsend, MPIBufferAttach e MPI_BufferDetach, com fornecimento de comentários e testes no formato já previamente desenvolvido pela solução MPI.NET pela Universidade de Indiana.
  • 2008-09-11
    • Implementação da classe BufferMPI, e término de implementações das funções MPIBsend, MPIBufferAttach e MPI_BufferDetach. Testes com passagens de mensagens com o Bsend relativas a inteiros, booleanos, estruturas e objetos funcionou! A interface foi um pouco alterada da última versão, devido a problemas relativos a melhor distribuição correta das estruturas nas classes, de forma a manter a melhor interface possível. Tipo de código final para o usuário:

BufferMPI buf = new BufferMPI(numBytes);
env.BufferAttach(buf);
...
if (rank == 0)
comm.Bsend(valor,1,0);
else
comm.Receive(0,0,out valor);
  • 2008-09-09
    • Começo da implementação da classe BufferMPI e as implementações do MPI_Bsend. Teste simples funcionou! A importação das funções nativas do C foi feita com sucesso. A interface realizada pelo BufferMPI está sendo aprimorada para tratar excessões e casos especiais.
  • 2008-09-05
    • Elaboração de uma possível solução para a implementação das funções MPIBsend, MPIBufferAttach e MPI_BufferDetach. Estudos para viabilizar a realização da mesma e implementá-la serão realizados nos próximos dias.
  • 2008-09-03
    • Lida geral no artigo desenvolvido pelo pessoal da Universidade de Indiana a respeito do modo como utilizaram o CLR e primitivas como o fixed e o unsafe.
    • Estudo da alocação de bytes, modo de operação do Garbage Collector para com os objetos e criação de possíveis soluções através de uma nova classe para o MPI.NET que implemente o Buffer para o MPI_Bsend.
    • Estudo e testes da forma de serialização de um objeto qualquer, a sua transferência para um array de bytes e deserialização para um objeto novamente.
  • 2008-09-01
    • Conseguiu-se compilar o código MPI.NET. Criou-se um método 'ola' na classe Communicator para verificar se a criação da dll estava sendo feita corretamente. Criou-se um projeto teste para utilizar a biblioteca compilada e vericou-se que o método 'ola' pôde ser acessado e executado. Não se conseguiu criar os instaladores ainda.
    • Estudou-se a participação do Garbage Collector no C# e suas interferências possíveis de serem causadas na solução planejada para o MPIBsend. Aparentemente, o uso da primitiva fixed_ identifica regiões de memória que não serão deslocadas no heap pelo Garbage Collector. Estudar-se-á melhor essa primitiva, suas limitações e outros aspectos do GC.

August
  • 2008-08-29
    • Fizemos uma reunião para descutir os pontos do MPI.NET a serem estudados para fins de identificar o porquê do MPI_Bsend não ter sido implementado e como devemos proceder para implementá-lo.
  • 2008-08-27
    • Estudo da implementação do MPI_Send no MPI.NET.
  • 2008-08-26
    • Leitura sobre o método MPI_Bsend, o qual será provavelmente estudado e implementado para a solução MPI.NET.
  • 2008-08-25
    • Submetemos um artigo para o evento WSPPD 2008 - VI Workshop de Processamento Paralelo e Distribuído http://gppd.inf.ufrgs.br/wsppd/2008/. O artigo estará disponível em nossos releases.
    • Blog criado.

Last edited Apr 22, 2009 at 2:26 PM by faafonso, version 62

Comments

No comments yet.