Você está na página 1de 70

Centro Baiano de Computao de Alto Desempenho

Computao de Alto Desempeho


Prof. Leandro Coelho

Sumrio

Viso Geral Classificao das Arquiteturas Tipos de Paralelismo Programao Paralela Modelos de Computao Paralela Paradigmas da Computao Paralela Metricas de avaliao do desempenho Cluster de computadores Bibliotecas de passagem de mensagem MPI (Message Passing Interface) Prticas Bibliografia

Terminologias importantes

Tarefa

Uma seo logicamente discreta de um trabalho computacional Exemplos:


Calcular a transformada de Fourier Calcular a mdia de 1000 valores

Tarefas paralelas

Tarefas cujo processamento independente um dos outros Execuo de um programa de forma seqencial, uma instruo de cada vez

Execuo serial

Melhorando o desempenho

Existem 3 maneiras para melhorar o desempenho:


Trabalhar

duro Trabalhar inteligentemente Pedir ajuda

Melhorando o desempenho

Existem 3 maneiras para melhorar o desempenho: Usar hardware


Trabalhar

duro Trabalhar inteligentemente Pedir ajuda

rpido: reduzir o tempo por instruo (clock cycle).

Melhorando o desempenho

Existem 3 maneiras para melhorar o desempenho: Usar hardware


Trabalhar

duro Trabalhar inteligentemente Ciclo de busca Pedir ajuda


(Fetch Cycle) Partid a Buscar instruo / Prxima instruo

rpido: reduzir o tempo por instruo (clock cycle).

Executar instruo Ciclo de execuo (Execute Cycle)

Parad a

Ciclo de instruo bsico

Melhorando o desempenho

Existem 3 maneiras para melhorar o desempenho:


Trabalhar

duro Trabalhar inteligentemente Pedir ajuda

Otimizar os algoritmos

Melhorando o desempenho

Existem 3 maneiras para melhorar o desempenho:


Trabalhar

duro Trabalhar inteligentemente Pedir ajuda


Mltiplos computadores para resolver o problema: isto, aumenta o nmero de instrues executadas por ciclo de clock.

Melhorando o desempenho
Ciclo de busca (Fetch Cycle) Buscar instruo / Executar

Ciclo de execuo (Execute Cycle)

instruo Existem 3 Prxima instruo para melhorar o maneiras Partid Ciclo de busca Parad desempenho: Cycle) a (Fetch a

Trabalhar

duro Executar Trabalhar inteligentemente Prxima instruo instruo Pedir ajuda Ciclo de instruo duplo
Buscar instruo /

Ciclo de execuo (Execute Cycle)

Mltiplos computadores para resolver o problema: isto, aumenta o nmero de instrues executadas por ciclo de clock.

Taxonomia de Arquiteturas de Computadores


Taxonomia de Flynn

SISD: a clssica mquina seqencial de Von Neumann; SIMD: uma mquina que trabalha com uma unidade de controle nica, isto , resolve uma instruo por vez; MISD: Multiple Instruction Single Data; MIMD: Envolve a maior parte dos computadores paralelos. So mquinas construdas com CPUs mltiplas que resolvem muitas instrues e conjuntos de dados ao mesmo tempo.

Taxonomia de Arquiteturas de Computadores

Single Instruction, Single Data (SISD)


Serial

Instrues so executadas uma aps outra Pode-se saber o que est ocorrendo exatamente em cada instante de tempo e reproduzir o processo passo a passo mais tarde Computadores pessoais, estaes de trabalho com uma nica CPU, minicomputadores e mainframes

Determinismo

Exemplos:

Taxonomia de Arquiteturas de Computadores

Single Instruction, Single Data (SISD)


B(I)=A(I)*4 LOAD A(I) MULT 4 STORE B(I)
Processador P LOAD A(1) Processador P

TEMPO:

t1

t2

MULT 4 Processador P

t3

STORE A(1)

Taxonomia de Arquiteturas de Computadores

Single Instruction, Multiple Data (SIMD)

Sncrono

Todas as unidades devem receber a mesma instruo no mesmo instante de tempo de modo que todas possam execut-la de forma simultnea Em cada instante de tempo s existe uma instruo sendo executada por vrias unidades, ento se o programa executado com os mesmos dados de entrada, utilizando o mesmo nmero de unidades de execuo, o resultado ser o mesmo

Determinismo

Apropriado para aplicaes que utilizam paralelismo orientado a instruo Hoje em dia existem poucos supercomputadores SIMD vetorizados pipelined

Quadrics Apemille Cambridge Parallel Processing Gamma II Plus

Taxonomia de Arquiteturas de Computadores

Single Instruction, Multiple Data (SIMD)


B(I)=A(I)*4 LOAD A(I) MULT 4 STORE B(I)

TEMPO:

P1 LOAD A(1) P1

P2 LOAD A(2) P2 MULT 4 P2 STORE A(2)

P3 LOAD A(3) P3 MULT 4 P3 STORE A(3) ... ...

t1

t2

MULT 4 P1

...

t3

STORE A(1)

Taxonomia de Arquiteturas de Computadores

Mltiple Instruction, Multiple Data (MIMD)


Sncrono

ou assncrono Determinismo ou no determinismo


Sistemas MIMD pode ter comportamento determinstico tomando cuidado com alguns fatores, como a ordem de recepo das mensagens

Adequado

subrotinas

para paralelismo orientado a bloco, loop ou

Requerimentos de comunicao menos restritos que paralelismo orientado a instruo (Ass) IBM SP - *NOW - Intel Paragon - Fujitsu VPP5000 (Sin) IBM RS/6000

Exemplos:

Taxonomia de Arquiteturas de Computadores

Multiple Instruction, Multiple Data (MIMD)


TEMPO: P1
Programa principal

P2

P3

Inicializa Dispara tarefa A Dispara tarefa B Tarefa B Espera por processador Fim Dispara tarefa C Espera por processador Dispara tarefa D Espera fim de todas as tarefas Junta resultados Fim Fim Tarefa C

Tarefa A

Fim

Tarefa D Fim

Taxonomia de Arquiteturas de Computadores


Taxonomia de arquiteturas de computadores

SISD

SIMD

MIMD

Vectorprocessors

Arrayprocessors

Multiprocessors

Multicomputers

Von Neumann

UMA*

COMA*

NUMA*

MPP

COW

NOW
* Uniform Memory Access Cache-only Memory Architecture Non-Uniform Memory Access

HNOW

CoHNOW

Tipos de paralelismo

Paralelismo de dados
Cada

tarefa executa uma mesma srie de clculos sobre diferentes dados Localidade dos dados parte essencial do algoritmo Exemplos:

clculo da mdia de temperatura em um estado, procura de pessoas com mais de 65 anos em uma populao Jogo de xadrez:

Tipos de paralelismo

Paralelismo funcional
Cada

tarefa executa clculos diferentes para resolver um problema Tarefas podem ser executadas sobre mesmos dados ou dados diferentes
Exemplo:

Modelagem de um ecossistema, onde cada programa calcula a populao de um determinado grupo que depende dos vizinhos

Programacao Paralela
Um sistema paralelo e distribudo consiste de colees de processadores, dos mesmos tipos ou no, interconectados de acordo com uma determinada topologia, possibilitando assim a realizao de atividades e troca de informaes entre os mesmos
Cceres, SBC 2001.

Objetivos
Reduzir o tempo total do processamento Aumentar o desempenho de um sistema

Problemas

grandes de difcil soluo.

Reducao dos custos

Problemas especificos podem ser executados em modelos paralelos a um custo menor que em um super computador dedicado.

Computing Platforms Evolution


Breaking Administrative Barriers

2100

2100

2100

2100

P E R F O R M A N C E

?
2100 2100 2100 2100

2100

Administrative Barriers
Individual Group Department Campus State National Globe Inter Planet Universe

Desktop
(Single Processor?)

SMPs or SuperCom puters

Local Cluster

Enterprise Cluster/Grid

Global Cluster/Grid

Inter Planet Cluster/Grid ??

Por que utilizar Supercomputadores alternativos?


Grande nmero de workstations subutilizadas e disponveis para utilizao; Grande nmero de ciclos de processador e recursos no utilizados, que podem ser postos em uso para uma variada gama de aplicaes; Relutncia em comprar Supercomputadores devido ao alto custo e curto tempo de utilizao.

Modelos de acesso memria

Um computador convencional consiste de um processador executando um programa armazenado na memria:


M

Instrues para o processador Dados para ou do processador

Memoria Compartilhada

Cada processador tem acesso a uma memria global.


Acesso

global aos dados. Controle de acesso a memria complexo. Evitar que dois processadores acessem a memria simultaneamente. Este tipo de controle (acesso a memria) torna-se o grande "gargalo" com uma grande quantidade de processadores.

Memoria Compartilhada

Proc

Proc

Proc

Proc

Memoria Distribuida

Possibilitam a programao paralela atravs do uso de bibliotecas de troca de mensagens.


PVM

(Parallel Virtual Machine). MPI (Message-Passing Interface)

Memoria Distribuida

Proc

Proc

Proc

Proc

Distributed Shared Memory

Tcnicas eficientes para simular memria compartilhada em mquinas inicialmente com memria distribuda. Consiste em ligar-se vrios processadores atravs de uma rede de alta velocidade e simular memria compartilhada atravs de troca de mensagens. Cada processador determina uma rea da sua memria que ser compartilhada Necessita gerenciador de memria.

Distributed Shared Memory

Proc

Proc

Proc

Proc

Interconexo

Paradigmas de Programao Paralela


Pipeline Master/Worker Variaes Master/Worker

Dois ou mais programas podem ser executados de forma coordenada, em uma determinada ordenao, de forma que o output de cada um redirecionado como input do prximo.

Paradigmas de Programao Paralela

Master / Worker
A

ideia consiste em ter um processo master, que divide uma certa tarefa em n partes independentes. Cada uma dessas partes vai sendo atribuda a um worker que a realiza. Sempre que um worker termina a sua tarefa envia o resultado para o master, que se ainda tiver tarefas a realizar, lhe envia uma nova tarefa.

Paradigmas de Programao Paralela

Master / Worker

Mestre Coordena os trabalhos e expe os resultados

Trabalhador trablho pesado.

Executa

Metricas de avaliao do desempenho

Speedup
S ( n) = tempo de execuo serial t = s tempo de execuo paralela t p

Desempenho de uma mquina no cresce proporcional ao nmero de processadores disponveis

Metricas de avaliao do desempenho

Eficincia
E= tempo de execuo serial t = s tempo de execuo paralela nmero de processado res t p n

Gera a frao de tempo que os processadores esto sendo utilizados para processamento

Cluster de computadores

uma coleo de maquinas que se utilizam das redes de computadores comerciais, locais e / ou remotas para paralelizar suas transaes; Utiliza um software de passagem de mensagem que permite que um conjunto heterogneo ou homogneo de computadores (srie, paralelo ou vetorial) seja visto como uma nica mquina.

Cluster de computadores

Vantagens

Baixo Custo Facilidade de Expanso Softwares livres

Cluster de computadores

Computador

Problema

Cluster de computadores
Problema / n Problema / n

Problema / n

Motivao para usar Clusters

As pesquisas mostram que a utilizao de ciclos da CPU de estaes de trabalho so tipicamentes < 10%;
Normalmente uma estao de trabalho utilizada por um individuo, grupo ou departamento. - elas so dedicadas para o uso exclusivo pelos "donos".

O desempenho de estaes de trabalho vem crescendo rapidamente; As organizaes relutam para comprar grandes supercomputadores , devido aos altos custos e perodo de vida til pequeno; As ferramentas de desenvolvimento para estaes de trabalho esto mais maduras que as solues proprietrias para computadores paralelos - principalmente devido natureza no normal de muitos sistemas paralelos

Motivao para usar Clusters

Clusters de estaes de trabalho so uma alternativa barata e disponvel para computadores de alto desempenho especializado (HPC); A largura de banda para comunicao entre workstations cresceu muito nas novas tecnologias de rede e os protocolos podem ser implementados em LANs e LDNs; Cluster de Workstation so fceis de serem integrados dentro de redes existentes.

Arquitetura de clusters

Os clusters podem ser ampliados: com o aumento da escalabilidade (up, down, and across):

O desempenho de ns individuais podem ser melhorados adicionando recursos adicionais (memria, disco) Novos ns podem ser adicionados ou podem ser removidos Clusters de clusters e Metacomputing Threads, PVM, MPI, C, C++, Java, Parallel C++, Compiladores, Debuggers, OS, etc Para resolver os "principais desafios" ("grand challenge")

Ferramentas de software completas:

Ampla variedade de aplicativos:

Aplicaes de Clusters

Numerosas Aplicaes Cientificas e de Engenharia. Simulaes Paramtricas Aplicaes Comerciais


Aplicaes de e-commerce Aplicaes de banco de dados Sistemas de apoio a deciso

Aplicaes Internet
Web server / searching ASPs (application service providers) eMail, eChat, ePhone, eBook, eCommerce, eBank, eSociety, eAnything! Portais

Aplicaes de Misso Critica

sistemas de controle de processo, bancos, controle de reatores nucleares, guerra nas estrelas, e muitas outras situaes.

Cluster de Computadores Projetos de Pesquisas


Beowulf (CalTech and NASA) - USA CCS (Computing Centre Software) - Paderborn, Germany CEBACAD Centro de Computao de Alto Desempenho. Salvador, Ba, Br. Condor - Wisconsin State University, USA DQS (Distributed Queuing System) - Florida State University, US. EASY - Argonne National Lab, USA HPVM -(High Performance Virtual Machine),UIUC&now UCSB,US far - University of Liverpool, UK Gardens - Queensland University of Technology, Australia MOSIX - Hebrew University of Jerusalem, Israel MPI (MPI Forum, MPICH is one of the popular implementations) NOW (Network of Workstations) - Berkeley, USA NIMROD - Monash University, Australia NetSolve - University of Tennessee, USA PBS (Portable Batch System) - NASA Ames and LLNL, USA PVM - Oak Ridge National Lab./UTK/Emory, USA

Quem j chegou!

Exemplos de Clusters: Berkeley NOW


100 Sun UltraSparcs


200 disks 160 MB/s AM, MPI, ...

Myrinet SAN Fast comm. Ether/ATM switched external net Global OS Self Config

Exemplos de Clusters: Massive Cheap Storage Cluster

Basic unit:
2

PCs double-ending four SCSI chains of 8 disks each

Exemplos de Clusters: CEBACAD


Pentium 133 12 Pentium 166 03 Pentium 500 - 01 Cluster remoto na UAB Conexo 512 Kbps Conexo 25 Mbps

Cadeia alimentcia de computadores -1984

Mainframe Mini Computer Workstation PC

Cadeia alimentcia de computadores - hoje

Bibliotecas de passagem de mensagem

PVM (Parallel Virtual Machine)


Criada em 1989, no Oak Ridge National Laboratory. Vaidy Sunderam e Al Geist desenvolveram a primeira verso (PVM 1.0.), que foi usada internamente (no saiu comercialmente). A Verso 2 do PVM foi escrita na Universidade de Tennessee e lanada em Maro de 1991.

O PVM composto de uma biblioteca de programao e um conjunto de programas que constituem a mquina virtual.

Bibliotecas de passagem de mensagem

PVM (Parallel Virtual Machine)


Tem verses para trabalhar com C, C++ e Fortran. Trabalha com o conceito de mquina virtual. Possui um programa daemon (pvmd3 ou pvmd), que responsvel por constituir e gerenciar a mquina virtual. uma capa a mais sobre o sistema operacional da mquina.

Principais problemas:
Capa extra de software sobre o S.O > Overhead No suporta CoHNOWs

Bibliotecas de passagem de mensagem

MPI (Message Passing Interface)


http://www.mpi-forum.org

Foi desenvolvido pelo MPI FORUM e lanado em Junho de 1995. O MPI Forum foi um consrcio que reuniu laboratrios de pesquisa governamentais, universidades e empresas. A idia era lanar um padro.

O MPI no uma nova linguagem de programao, sim uma biblioteca que pode ser chamada em programas escritos em C e Fortran.

MPI no trabalha com nenhuma camada extra de software.

Bibliotecas de passagem de mensagem

MPI (Message Passing Interface)

Usa rsh (ou ssh) para fazer a conexo entre as mquinas pertencentes a mquina paralela virtual Rsh Remote Shell SSh Secure Shell Possui diversas implementaes. Por ser um padro, qualquer um pode desenvolver sua verso do MPI
MPICH mais usada e documentada.

O MPI no uma nova linguagem de programao, sim uma biblioteca que pode ser chamada em programas escritos em C e Fortran.

http://www-unix.mcs.anl.gov/~gropp/

Bibliotecas de passagem de mensagem

MPI (Message Passing Interface)

Principais problemas: Pouca documentao de como funciona de fato as comunicaes Suporte deficiente a CoHNOWS

Fatores de influencia na hora de progrmar...

Balanceamento de carga

Quanto cada processador poder assumir de trabalho sem que fique sobrecarregado enquanto outro fique ocioso. Influncia do tempo de resposta dos diferentes tipos de registradores microinstrues etc. Tipo de rede que interliga os computadores certamente influenciar na transmisso de mensagens entre as mesmas.

Heterogeneidade estrutural dos processadores

Ligao fsica entre os processadores

MPI (Message Passing Interface)

Estrutura de um Programa MPI


.......... #include mpi.h .......... int main (int argc, char *argv[]) { .............. /*Nenhuma funo MPI antes daqui*/ MPI_Init(&argc,&argv); ............... MPI_Finalize( ); /*Nenhuma funo MPI depois daqui*/ .............. return(0); }
Biblioteca a ser includa em qualquer programa que utilize funes do MPI.

Inicializa o MPI. Primeira linha de qualquer programa com MPI. argc e argv - argumentos

Termina a execuo do MPI, liberando todas as estruturas alocadas pelo MPI

MPI (Message Passing Interface)

MPI_Send (pa1,pa2,pa3,pa4,pa5,pa6) :

Pa1 = Dados da mensagem que se deseja passar; Pa2 = Numero de dados dentro da mensagem; Pa3 = Tipo de dado a ser transmitido; Pa4 = Id de destino; Pa5 = Tag; Pa6 = Comunicador. Um comunicador um dado objeto que especifica o escopo de uma operao de comunicao que contem grupos de processos envolvidos na aplicao. No Caso deste projeto, o grupo de comunicao definido fora o MPI_COMM_WORLD.

MPI (Message Passing Interface)

MPI_Recv(pa1,pa2,pa3,pa4,pa5,pa6,pa7) :

Pa1 = Dados da mensagem que se deseja receptar; Pa2 = Numero de dados dentro da mensagem. Pa3 = Tipo de dado a ser receptado; Pa4 = Id de origem; Pa5 = Tag; Pa6 = Comunicador ; Pa7 = Status. Status. MPI_SOURCE, Id de quem enviou, MPI_TAG, identificador do Tag da mensagem e MPI_ERROR, cdigo de erro da mensagem.

MPI (Message Passing Interface)

mpicc Compila e "linka" programas MPI escritos em C Exemplo: mpicc o programaXPTO programaXPTO.c mpirun O "mpirun" um script de shell, usado para executar programas MPI escritos em C Exemplo: mpirun np 4 programaXPTO
Nmero de processadores

MPI (Message Passing Interface)

Alguns procedimentos MPI (MPI Routines)


MPI_Comm_rank()

Determina o rank do processo no communicador Determina o tamanho do grupo associado com um comunicador (nmero de processos que esto executando o programa. Captura o tempo em segundos Sincroniza os processos

MPI_Comm_size()

MPI_Wtime()

MPI_Barrier()

MPI (Message Passing Interface)

Cluster MPI:

Machines.LINUX

Determina os computadores de sua rede que faro parte do cluster.

Exemplo:
# Change this file to contain the machines that you want to use to run MPI jobs on. The # format is one host name per line, with either hostname or hostname:n where n is the # number of processors in an SMP. The hostname should be the same as the result # from the command "hostname # Cluster cebacad.net cebacad1.cebacad.net # Master cebacad2.cebacad.net # Trabalhador cebacad3.cebacad.net # Trabalhador cebacadn.cebacad.net # Trabalhador

MPI (Message Passing Interface)

Estrutura Bsica de um programa Al Mundo.c

MPI (Message Passing Interface)

Prtica 1 Recebe.c
Algoritmo que utiliza a rotina MPI_Recv (recebe). Ao ser compilado (mpicc o 2_recebe_1p 2_recebe_1p.c e ser executado (mpirun np <nmero de processadores> 2_recebe_1p). Os trabalhadores retornam as mensagens: Nomes dos trabalhadores; O resultado do clculo da raiz quadrada de um nmero pr-definido(16); O tempo de processamento dos trabalhadores; O tempo de processamento total do cluster (computo + comunicao.

MPI (Message Passing Interface)

Prtica 2 EnviaRecebe.c
Algoritmo que utilizam as rotinas MPI_Send (envia) e MPI_Recv (recebe). Ao ser compilado (mpicc o 3_envia_recebe_1c 3_envia_recebe_1c.c e ser executado (mpirun np <nmero de processadores> 3_envia_recebe_1c). O mestre envia um nmero para que os trabalhadores calculem a raiz quadrada. Os trabalhadores calculam a raiz do nmero recebido e retornam as mensagens: Nomes dos trabalhadores; Resultado do processamento (clculo da raiz quadrada do nmero recebido); O tempo de processamento dos trabalhadores; O tempo de processamento total do cluster (computo + comunicao).

MPI (Message Passing Interface)

Prtica 3 Funcao.c
Algoritmo que utiliza as rotinas MPI_Send (envia) e MPI_Recv (recebe). Ao ser compilado (mpicc o 4_funcao_1b 4_funcao_1b.c e ser executado (mpirun np 4 <este algoritmo foi desenvolvido para rodar com 4 hosts> 4_funcao_1b) . O mestre: Cria os processos; Mostra o formato da funo(y = a*x^3 + b*x^2 + c*x + d); Pede os valores de a, b, c e d da funo; Pede o valor de x; Envia os valores de a, b, c e de x, para os trabalhadores. Trabalhadores: Calculam a funo e retornam valor para o mestre. O mestre: Mostra o resultado da funo

MPI (Message Passing Interface)

Prtica 4 Matriz.c
Algoritmo que utiliza as rotinas MPI_Send (envia) e MPI_Recv (recebe). Ao ser compilado (mpicc o matriz matriz.c e ser executado (mpirun np 4 <numero de computadores> matriz) . O mestre: Seleciona as posies das linhas e colunas; Envia as linhas e colunas correspondentes para um trabalhador; Trabalhadores: Calculam a multiplicao e retornam um valor O mestre: Recebe um valor e armazena na matriz resultado.

Bibliografia bsica

BUYYA R. High Performance Cluster Computing: Architectures and Systems, v. 1. Prentice Hall PTR. 1999. BUYYA R. High Performance Cluster Computing: Architectures and Systems, v. 2. Prentice Hall PTR. 1999. CEBACAD. Centro Baiano de Computao de Alto Desempenho, Universidad Catlica do Salvador - UCSAL, Curso de Bacharelado em Informtica, Departamento de informtica. Instalao e configurao do MPICH Verso 1.2.5., 2003. Guia 2003.s GROPP, W.; LUX, E.; THAKUR, R. Using MPI-2: Advanced Features of the Message-Passing Interface. Scientific and Engineering Computation Series, Massachusetts Intitute of Technology. 1999a. MPIS. The Message Passing Interface (MPI) Standard. Disponvel em: <http://www-unix.mcs.anl.gov/mpi/>. Acessado en: 19 novembro 2002). 2002. SOUZA, Josemar; FURTADO, Adhvan; REBOUCAS, Andr; REXACHS, Dolores; LUQUE, Emilio; Efficient Algorithm Execution in a Collection of HNOWs. In: International Conference on Computer Science, Software Engineering, Information Technology, e-business, and Application (CSITeA'02), 1., 2002. Proceeding... Brasil: [s.n.], 2002a.

Bibliografia bsica

SOUZA, Josemar; FURTADO, Adhvan; REBOUAS, Andr; REXACHS, Dolores; LUQUE, Emilio. Architectures for an Efficient Application Execution in a Collection of HNOWs. In: D. Kranzlmller et al. (Eds.): Euro PVM/MPI 2002, LNCS 2474, pp.450460, 2002. Springer-Verlag Berlin Heidelberg 2002. Linz, Austria. 2002. SOUZA, Josemar; FURTADO, Adhvan; REBOUAS, Andr; REXACHS, Dolores; LUQUE, Emilio; ARGOLLO, Eduardo. Application Execution Over a CoHNOWS. In: International Conference on Computer Science, Software Engineering, Information Technology, e-business, and Application (CSITeA'03), 1., 2003. Proceeding... Brasil: ISBN: 0-9742059-0-7, 2003a. SOUZA, Josemar; LUQUE, Emlio; REXACHS, Dolores. Anlise da distribuio de carga em cluster heterogneo. In: Congreso Argentino de Ciencias de la Computacin (CACIC00), 6., 2000. Proceeding... Argentina: [s.n.], 2000b. SOUZA, Marcelo; SOUZA, Josemar; MICHELI, Milena. Influncia da comunicao no rendimento de uma mquina paralela virtual baseada em Redes Atm. In: Workshop de Porto Alegre Internet 2 e Redes de Alta Velocidade, 1., 2000. Proceeding... Brasil: [s.n.], 2000. Sterling, Thomas L., etal. How to Build a Beowulf A guide to the implementation and Application of PC Clusters, MIT Press.

Centro Baiano de computao de Alto Desempenho

Programao Paralela
Prof. Leandro Coelho

Você também pode gostar