elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo...

78
Elementos de conexão e condições de paralelismo Aleardo Manacero Jr.

Upload: others

Post on 06-Nov-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Elementos de conexão e condições de paralelismo

Aleardo Manacero Jr.

Page 2: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Elementos de Conexão

Page 3: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

O que é conectividade?

Define como os elementos de processamento (CPU e memória) de um sistema de alto desempenho serão interligados.

Page 4: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

O que se deve considerar?

Número de conexões que cada nó deve ter. Esse valor é o GRAU do nó.

Caminho mínimo entre dois nós. O maior desses caminhos mínimos é definido como DIÂMETRO da rede.

Page 5: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

O que se deve considerar?

Quantos canais são necessários entre duas metades de uma rede. Isso é denominado LARGURA DE BISSECÇÃO.

Formas de tráfego dos dados. Isso é definido através de uma FUNÇÃO DE ROTEAMENTO.

Page 6: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo

Page 7: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Tipos de redes de conexão

Redes estáticas Nessas redes as conexões entre os nós

são fixas. As ligações são diretas entre cada dois pontos.

Redes dinâmicas Aqui as conexões variam com o tempo.

Não existem ligações diretas entre dois nós.

Page 8: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 9: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 10: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 11: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 12: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 13: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 14: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Toróide

Page 15: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Page 16: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes estáticas

Cubo 3-conexo

Page 17: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Sumário de características de redes estáticas

Page 18: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Redes multiestágios (ômega)

Redes Crossbar

Redes em barramento

Page 19: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Page 20: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Page 21: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

1

Page 22: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Page 23: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Page 24: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplos de redes dinâmicas

Page 25: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Sumário de características de redes dinâmicas

Page 26: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Myrinet

Estrutura de rede logaritmica (Clos) em fat-tree

Faz uso de acesso remoto direto a memória (RDMA), evitando overhead do SO

Latência para msg pequenas de 2.2s na versão MX-10G

Page 27: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Myrinet

Page 28: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Myrinet

Page 29: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Desempenho unidirecional da myrinet (1G)

Page 30: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Desempenho bidirecional da myrinet (1G)

Page 31: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Custos da Myrinet 2000 (dados de 2009)

Switch 16 portas – 6.600 dolares

Switch 256x256 – 128.000 dolares

Placa de rede – 500 a 800 dolares

Cabos – 75 a 200 dolares por 3 metros

Page 32: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

QsTenGProduzida pela Quadrics

Banda de passagem de 1.3 Gbyte/s

Latência inferior a 3s

Estrutura de fat-tree

Page 33: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

QsNet

Page 34: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

QsTenG

Produtos comerciais

Page 35: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Infiniband

Introduzida pela Intel e um consórcio envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001

Estrutura totalmente configurável, porém a mais usada é também a fat-tree

Largura de banda de até 20 Gbits/s

Produtos comerciais

Page 36: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Page 37: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Page 38: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Infiniband

(Mellanox 648 portas)

Produtos comerciais

Page 39: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Infiniband

Page 40: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Custos Infiniband

Switch Mellanox 36 portas – 10.000 dolares

Switch Mellanox 648 portas – 60.000 dolares

Placa de rede – 300 a 500 dolares

Cabos – 150 a 200 dolares por 3 metros

Page 41: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

10 Gigabit Ethernet

Page 42: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

10 Gigabit Ethernet

Page 43: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Custos Ethernet 10G

Switch 48 portas – 15.000 dolares

Placa de rede – 200 a 300 dolares

Cabos – 100 a 200 dolares por 3 metros

Page 44: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Produtos comerciais

Switches de 40Gbps e 100Gbps

Uso em conexões em Datacenters

Interessantes para clouds e HPC

Tecnologia Infiniband

Page 45: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de Paralelismo

Page 46: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de paralelismo

Solução para a computação de alto desempenho é paralelismo, porém ...

Nem tudo pode ser paralelizado e mesmo quando isso é possível, existem restrições na forma em que isso ocorre.

Essas restrições estão bem definidas através das chamadas condições de paralelismo.

Page 47: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de paralelismo

São três:Dependência de dados

(ou Condições de Bernstein)

Dependência de controle

Dependência de recursos

Page 48: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Dependência de recursos

É bastante natural, restringindo o paralelismo ao volume de recursos que podem ser simultaneamente utilizados.

Trata de recursos como registradores, memória, canais de conexão, acesso a arquivos, etc.

Page 49: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Dependência de controle

Ocorre quando as instruções que devem ser executadas (e portanto paralelizadas) dependem de resultados que serão conhecidos apenas em tem po de execução

Não se pode contornar essa dependência quando ela ocorre.

Page 50: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Dependência de dados

Assume três formas:

Fluxo

Antidependência

Saída

Page 51: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Dependência de fluxo de dados

Ocorre quando o resultado (saída) de um grupo de instruções (S1) é necessário (entrada) para a execução de um segundo grupo de instruções (S2)

A = X + Y

B = A + C

D = B * 2

Page 52: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Antidependência

Ocorre quando a saída de um grupo de instruções (S2) for entrada para um grupo de instruções (S1), que o anteceda numa execução sequencial.

A = 2

X = A + 1

A = 5

Page 53: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Dependência de saída de dados

Ocorre quando uma das saídas de dois grupos de instruções (S1 e S2) forem comuns.

A = 2

X = A + 1

A = 5

Page 54: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de Bernstein

Formalizam as dependências de fluxo de dados.

Algumas definições:

Processo fragmento de um programa

Conjunto de entrada (Ii) entradas necessárias para executar Pi

Conjunto de saída (Oi) saídas produzidas pela execução de Pi

Page 55: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de Bernstein

Dois processos podem executar em paralelo (Pi // Pk ; i<k) se:

Ii Ok = antidependência

Ik Oi = fluxo

Oi Ok = saída

Page 56: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Condições de Bernstein

Ampliando-se tais condições para n processos temos:

P1 // P2 // P3 // ... // Pn se e somente se:

Pi // Pj para todo i,j = 1...n e i j

Page 57: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Situações indeterminadas

Embora existam situações facilmente verificáveis quanto ao paralelismo, existem várias outras em que é impossível saber se duas ou mais instruções podem ou não ser paralelizadas.

Essa situações, tipicamente, estão relacionadas com ciclos de repetição

Page 58: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Situações indeterminadas

Índice de uma variável indexada também é indexado

A[i] = A[b[i]] + C;

Índice (em um ciclo) não contém a variável de indexação

for (i=0; i<k; i++)

A[ j ] = b[ j+3 ] * C;

Page 59: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Situações indeterminadas

Variável tem índices diferentes numa expressão

A[i] = B[j] * A[j];

Índice não é linearmente dependente da variável de indexação do ciclo

for (i=0; i<k; i++)

A[i*j] = b[j];

Page 60: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo de paralelização

Dado o conjunto de instruções:P1: C = D*EP2: M = G+CP3: A = B+CP4: C = L+MP5: F = G/E

Pode-se chegar ao seguinte grafo de dependências....

Page 61: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo (continuação)

Grafo de dependência

Page 62: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo (continuação)

Page 63: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Extração de paralelismo

Análise de dependência indica quais pontos de um programa não podem ser paralelizados

O problema é como identificar os pontos passíveis de paralelização

Todas as técnicas para isso fazem uso de grafos dirigidos

Page 64: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Extração de paralelismo

O grau de paralelismo de um programa depende das restrições de dependência aqui examinadas (dados, controle e recursos) e também do tipo de arquitetura de conexão existente na máquina.

Essa última dependência resulta na granulação de um programa.

Page 65: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo de grafo

Page 66: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Responsabilidade na extração (1)

Depende da granulação do programa

Então o que significa, exatamente, granulação?

Page 67: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Granulação de um programa

Diz respeito ao tamanho dos conjuntos de instruções cujas instruções devem, obrigatoriamente, serem executadas sequencialmente.

Tipicamente são definidos três tamanhos de grãos:

FinoMédioGrosso

Page 68: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Grão fino

São os menores grãos possíveis.

Normalmente envolvem conjuntos de poucas instruções, até, no máximo, pequenos ciclos não-recursivos (ILP – Instruction-Level Parallelism).

Representam um alto grau de paralelismo.

Demandam muita comunicação e controle.

Page 69: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Grão médio

Envolvem procedimentos, funções, rotinas, tarefas, etapas de um trabalho ou partes pouco complexas de um programa.

Grau médio de paralelismo

Necessidades intermediárias de comunicação e controle.

Em geral é pouco usado

Page 70: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Grão grosso

Obviamente são os maiores.

Envolvem programas inteiros ou partes complexas de um programa.

Pequeno grau de paralelismo

Pouca necessidade de comunicação e controle.

Grande uso em sistemas de troca de mensagens, como clusters.

Page 71: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Impacto da granulação

O tamanho do grão ótimo para uma dada aplicação é fortemente dependente do modo de comunicação do sistema.

Se a comunicação é rápida o grão pode ser fino (precisa de muita comunicação)

Se a comunicação é lenta o grão deve ser médio ou grosso (evitando comunicação)

Page 72: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Responsabilidade na extração (2)

Para granulação fina a extração do paralelismo deve ser feita pelo compilador (nível de instruções e laços)

Para granulação média e grossa a extração deve ser feita pelo programador (funções e programas)

Esses parâmetros estão mudando com a introdução de arquiteturas manycores, como GPUs

Page 73: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Extração de paralelismo

Outro aspecto a resolver na obtenção de paralelismo diz respeito a quem o restringe

Nesse caso temos dois tipos:

Paralelismo de hardwareMultiplicidade de elementosArquitetura

Paralelismo de softwareDependências de dados e controleEstilo de programação

Page 74: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Software X Hardware

A existência dos paralelismos de hardware e software cria o problema do correto casamento entre os dois.

Esse casamento é medido pelo balanceamento entre o número de instruções paralelas e o número de elementos de processamento.

Page 75: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo de balanceamento

Paralelismo de software

Paralelismo de hardware

Page 76: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Exemplo de balanceamento

Uso de replicação de instruções

Page 77: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Balanceamento por multiplicação de grãos

Page 78: Elementos de conexão e condições de paralelismoaleardo/cursos/hpc/conexao2019.pdf · envolvendo gigantes como IBM, HP, Cisco, Microsoft e outros, a partir de 2001 Estrutura totalmente

Comentários finais

Os aspectos relativos à obtenção de paralelismo e definição de granulosidade voltarão a ser trabalhados em outros momentos do curso

É importante aqui compreender que o paralelismo é a solução para computação de alto desempenho, mas

... não é uma fonte inesgotável de recursos