Subsections

Lista de Tabelas

  1. Vários refinamentos propostos para os modelos de clima e o crescimento computacional requerido associado a esses refinamentos. Os refinamentos, todos em conjunto podem aumentar os requisitos de computação de um factor entre $10^4$ e $10^7$.
  2. Valores aproximados dos parâmetros da máquina para alguns computadores paralelos, em micro-segundos ($\mu $seg.). Alguns dos dados foram fornecidos por T. Dunigam.
  3. Tempo de execução em mili-segundos para uma iteração simples do algoritmo das diferenças finitas executado numa estação de trabalho Sun SPARC 2, com $Z$ = 10.
  4. Tempos previstos de execução, para o código do algoritmo das diferenças finitas executado numa estação de trabalho Sun SPARC 2, com $Z$ = 10 (mili-segundos).
  5. Um perfil de execução simples para um único passo de execução de um programa paralelo de química que incorpora o algoritmo da construção da matriz de Fock da secção 2.8, como código base executado num computador IBM SP. O perfil mostra o tempo de execução gasto nas diferentes partes do programa fazendo variar o número de processadores e o tempo total de execução. A escalabilidade é razoavelmente boa, apesar de ser evidente que a rotina diag não foi paralelizada. A rotina init não escala bem, mas este custo é menos importante porque normalmente o código corre durante muitos passos.
  6. Um perfil de execução mais detalhado para o código da tabela 3.4. Aqui apresentamos frequências e tempos de execução para várias rotinas de comunicação em cada processador. Para sermos breves, apenas 6 dos primeiros 16 processadores são considerados. A carga dos instrumentos de medição fazem aumentar o tempo de 230 segundos na tabela 3.4 para 241 segundos. As rotinas get, accum, put lêem e escrevem dados em listas de dados globais. Uma operação de get que bloqueia à espera de uma resposta a um pedido remoto, leva cerca de 1.7 mili-segundos em média. Uma vez que cada uma das transferências de dados é relativamente pequena e que o $t_w$ para o IBM SP é baixo, esta medida deve incluir um tempo substancial de ócio, provavelmente em sobreposição com a computação local. A segunda maior contribuição para os custos de comunicação é a operação barrier, usada para assegurar que as actualizações de uma lista de dados global é completada antes de se darem início às leituras. Talvez seja conveniente analisar o programa para determinar até que ponto são necessárias 85 barreiras por passo de execução.
  7. Parâmetros de rendimento no estudo do algoritmo em borboleta ($N$ em palavras, tempos em $\mu $seg).
  8. Rendimento dos quatro algoritmos de optimização de percursos.

CAP. 0.

Prefácio

O texto que a seguir apresentamos com o título Projecto e Construção de Programas Paralelos é uma versão reduzida de uma tradução do livro Designing and Building Parallel Programs. O objectivo é oferecer aos estudantes, programadores e a todos os restantes interessados um livro de referência, em língua portuguesa, que possa servir de guia para o projecto e construção de programas em sistemas de computação paralelos e distribuídos.

O livro promove a visão da programação paralela como uma disciplina de engenharia, na qual os programas são desenvolvidos, de uma forma sistemática, entrando em consideração, tanto com os aspecto do custo, como do rendimento. O texto original é dividido em três partes: conceitos, instrumentos e recursos.

A primeira parte, a única contemplada na actual tradução, faz um discussão alargada do projecto de algoritmos paralelos, da análise de rendimento e da construção de programas, com numerosos exemplos para ilustrar os princípios fundamentais.

Directamente relacionados com esta versão electrónica do livro estão os relatórios dos trabalhos das displinas de Arquitecturas Paralelas I e Arquitecturas Paralelas II, 1998/1999, acessíveis electronicamente através página do GEC. Aí, poder-se-ão encontrar para além de documentos que abordam temas relacionados com o ensino e a investigação das arquitecturas de computadores e da computação paralela, programas e demonstrações construídos seguindo, de perto, a metodologia proposta pelo livro.







António Pina
Junho 1999


2000-05-22