Sei sulla pagina 1di 37

ALGORTMOS PARALELOS

(Aula 2)

Neyval C. Reis Jr.


OUTUBRO/2004

LCAD
Laboratrio de Computao de Alto Desempenho DI/UFES

Programa do Curso
1. Introduo 2. Arquitetura de Computadores

LCAD

3. Arquiteturas de Sistemas Paralelos 4. Computao de Alto Desempenho 5. Programao Paralela (modelos e paradigmas) 6. Anlise de Desempenho e Instrumentao 7. Aplicaes

Arquitetura de processadores e Processamento de Alto Desempenho

Modelo de computador proposto por Von-Neumann


UC Unidade de controle EP Elemento de processamento M - Memria

UC

EP

S I - Fluxo de Instrues SD - Fluxo de Dados

Arquitetura de um microprocessador

Modelo de computador proposto por Von-Neumann


UC Unidade de controle EP Elemento de processamento M - Memria

UC

EP

S I - Fluxo de Instrues SD - Fluxo de Dados

Processadores Escalares

Processadores Escalares

Processadores Superescalares

2 pipelines

Dependncias de dados e desvios podem reduzir consideravelmente o desempenho de arquiteturas superescalares

Processadores Superescalares (exemplo: AMD ATLHON)

Processadores Vetoriais

Processadores Vetoriais

Hierarquia de Memria
Memory

I/O

Hierarquia de Memria

MFLOPS obtained for a single processor simulation as a function of the number of nodal points.

1000

Mflop/s

100

10 100

1000

10000

100000 1E+006

Number of nodal points

Otimizao

1. Evitar desvios de execuo 2. Uso eficiente da memria hierarquia de memria 3. Evitar divises 4. Permitir Loop-unrolling

Programa do Curso
1. Introduo 2. Arquitetura de Computadores

LCAD

3. Arquiteturas de Sistemas Paralelos 4. Computao de Alto Desempenho 5. Programao Paralela (modelos e paradigmas) 6. Anlise de Desempenho e Instrumentao 7. Aplicaes

Arquiteturas de Sistemas Paralelos

Classificao de arquiteturas de processamento paralelo

2 formas principais de classificao:


1. Fluxo de dados e instrues (Flynn) 2. Compartilhamento de memria

Classificao de Flynn segundo fluxos de instrues e dados


SD (Single Data) SISD Mquinas von Neumann Convencionais, PCs e estaes de trabalho MD (Multiple Data) SIMD Mquinas Vetoriais (ICL Distributed Array Processor DAP, Thinking Machine Corporations CM200) MIMD Multiprocessadores e Multicomputadores (nCUBE, Intel Paragon, Cray T3D)

SI (Single Instrution)

MI (Multiple Instrution)

MISD Sem representante

Diagrama da classe SISD


UC Unidade de controle EP Elemento de processamento M - Memria

UC

EP

S I - Fluxo de Instrues SD - Fluxo de Dados

Diagrama da classe MISD

UC UC

EP EP

M M

UC

EP

MI - Fluxo de Instrues SD - Fluxo de Dados

Diagrama da classe SIMD

EP UC EP

M M

EP

SI - Fluxo de Instrues MD - Fluxo de Dados

Diagrama da classe MIMD

UC UC

EP EP

M M

UC

EP

MI - Fluxo de Instrues MD - Fluxo de Dados

Classificao segundo o compartilhamento de memria

Esse um outro critrio que classifica mquinas paralelas segundo sua memria. Nas mquinas com memria compartilhada (shared memory) existe apenas um espao de endereamento, que usado de forma implcita para a comunicao entre os processadores, com operaes de load e store. O outro caso quando existem mltiplos espaos de endereamento privados ( multiple private address spaces), um para cada processador (memria distribuda). A comunicao tem que ser explcita, atravs do uso de troca de mensagens com operaes send e receive.

Memria Compartilhada

Interconexo M M M Memria M M

Memria Distribuda

Memria Compartilhada Distribuda (DSM)

Endereamento nico (memria compartilhada) Fisicamente distribuda Tempo de acesso no uniforme (NUMA ? Non-Uniform Memory Access) Implementao atravs de Hardware ou Software

COMPARAO ENTRE OS MODELOS FSICOS PARA CONSTRUO DE MQUINAS PARALELAS

Processadores Vetoriais Paralelos (PVP)

Sistemas compostos de poucos processadores poderosos. A interconexo feita, em geral, por uma matriz de chaveamento (crossbar) de alta vazo. A memria compartilhada, e os sistemas podem ser classificados como multiprocessadores UMA. Normalmente no utilizam memria cache, usando para essa funo um grande nmero de registradores vetoriais e um buffer de instruo. Exemplos: Cray C-90 (mximo de 16 processadores), Cray T-90 (mximo de 32 processadores), Fujitsu VPP 700 (mximo de 256 processadores). O NEC Sx-6 tambm um PVP, e o Earth Simulator, que um NEC Sx-6, o nmero 1 na lista das 500 mquinas mais poderosas do mundo, possuindo 5120 processadores.

Multiprocessadores simtricos (SMP)


Os Symmetric Multiprocessors so sistemas constitudos de processadores comerciais conectados a uma memria compartilhada, podendo tambm ser classificados como multiprocessadores UMA. Utilizam-se amplamente de memria cache e todos os processadores tm igual acesso ao barramento e memria compartilhada. So mais fceis de programar que mquinas que se comunicam pro troca de mensagens, j que a forma de programao se aproxima daquela feita em sistemas convencionais, mas tem como desvantagem o uso de um barramento de interconexo (permitindo apenas uma transao por vez). Esta limitao pode reduzir a escalabilidade desta classe de sistemas, fazendo com que sistemas comerciais estejam, geralmente, limitados a 64 processadores. Exemplos: IBM R50 (mximo de 8 processadores), SGI Power Challenge (mximo de 36 processadores), SUN Ultra Enterprise 10000 (mximo de 64 processadores) e HP/Convex Exemplar X-Class (mximo de 32 ns de 16 processadores cada).

Mquinas maciamente paralelas (MPP)

Os MPPs (Massively Parallel Processors) so multicomputadores NORMA construdos com milhares de processadores comerciais conectados por uma rede de alta velocidade. O alto desempenho obtido com o grande nmero de processadores. O fato de haver troca de mensagens torna a programao mais difcil que nos casos em que a memria compartilhada. Exemplos: Intel Paragon (mximo de 4000 processadores), Connection Machine CM-5 (mximo de 2048 processadores), IBM SP2 (mximo de 512 processadores) e Cray T3D (mximo de 2048 processadores).

Mquinas com memria compartilhada distribuda (DSM)

Nos sistemas DSM (Distributed Shared Memory), mesmo com a memria sendo distribuda entre os ns, todos os processadores podem acessar todas as memrias. O espao de endereamento nico, o compartilhamento de dados e o controle de coerncia de cache so conseguidos com software. Podem ser sistemas NUMA com memria entrelaada distribuda, ou sistemas NORMA (com memrias locais), onde as memrias podem ser ligadas atravs de adaptadores de rede (AR) a uma rede de interconexo especfica, que permite o acesso a memrias remotas. A mquina, nos dois casos, considerada CC-NUMA ou SC-NUMA dependendo da implementao da coerncia de cache. Exemplo: SGI Origin (mximo de 512 processadores).

Redes de estaes de trabalho (NOW)


As redes de estaes de trabalho (NOW Network of Workstations ) so constitudas de vrias estaes de trabalho interligadas por alguma tecnologia tradicional de rede, como Ethernet e ATM. Na prtica so redes locais utilizadas na execuo de aplicaes paralelas. Podem ser vistas como mquinas NORMA de baixo custo, ou sem custo algum caso a rede j exista, ou seja, esta uma soluo significativamente mais barata em relao aos MPPs. A desvantagem clara que se v em uma rede de estaes de trabalho o fato de que as redes tradicionais costumam ser usadas apenas em tarefas menores (para compartilhar arquivos e acessar impressoras remotas, por exemplo), e geralmente no so otimizadas para operaes de comunicao de uma aplicao paralela. O resultado uma alta latncia nessas operaes, o que compromete o desempenho da mquina como um todo. So usadas principalmente em instituies de ensino para o estudo de processamento paralelo e distribudo. Exemplo: Estaes de trabalho interligadas por tecnologia Ethernet.

COMPARAO ENTRE OS MODELOS FSICOS PARA CONSTRUO DE MQUINAS PARALELAS

Algoritmos Paralelos (disciplina regular) Ementa: 1. Modelos de computao paralela: Memria compartilhada: PRAM sncrona e assncrona, QSP, QWQR, BSP, LogP, SMP Memria distribuda: SMPD circuitos combinatoriais 2. paradigmas de programao: multi-threaded, BSP, passagem de mensagem, funcional, tuple space, CSP 3. desempenho: profundidade de computao, trabalho, custo, speed-up, eficincia 4. Famlias fundamentais de algoritmos: rvore binria balanceada, divide-and-conquer, jumping pointer, compresso, randomizao 5. aplicaes ordenao grafos processamento de strings lgebra linear otimizao Complexidade paralela: P-completeness

Potrebbero piacerti anche