21
Projeto de Programas Paralelos (Ian Foster, DBPP) Programa¸ ao Concorrente – 2012.2 September 18, 2012 Programa¸c˜ ao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Projeto de Programas Paralelos (Ian Foster,DBPP)

Programacao Concorrente – 2012.2

September 18, 2012

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 2: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

PCAM

particionamentoproblema

comunicacao

aglomeracao

mapeamento

desenhada para memoria distribuıda mas muitas ideias emcomum

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 3: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Particionamento

ideia e expor oportunidades de paralelismo

foco em determinar uma grande quantidade de pequenastarefas

decomposicao funcional e decomposicao por domınio

taxonomia de Flynn (transposta para programas)

spsdspmdmpsdmpmd

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 4: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Oportunidades de Paralelizacao

solucao paralela parte de versao sequencial?

versao sequencial pode ou nao ser a que oferece maioresoportunidades

exemplo soma de N numeros

6

! ! ! !

!

! !

3 70 1 2 4 5

exemplo paralelizacao de computacao com dependencias

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 5: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Verificacao do Particionamento

particao gera numero de tarefas com ordem de magnitudesuperior a do numero de processadores disponıveis?

flexibilidade para estagios posteriores

tarefas sao de tamanho comparavel?

numero de tarefas cresce junto com tamanho da entrada doproblema?

ha mais de uma alternativa de particionamento?

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 6: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Comunicacao

como as tarefas definidas na fase 1 vao se comunicar?

definicao de canais a serem usadosdefinicao de mensagenspara memoria compartilhada: custos de sincronizacao

alguns criterios de classificacao sao uteis:

local x global, estruturada x nao estruturada, estatica xdinamicaassıncrona x sıncrona

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 7: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Comunicacao – padroes

comunicacoes globais podem criar gargalos de comunicacao

exemplos: bolsa de tarefas unica, ...

comunicacoes estruturadas podem facilitar a tarefa deaglomerar e mapear

sincronismo: simplicidade x menos oportunidades deconcorrencia

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 8: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Comunicacao – verificacao

todas as tarefas tem aproximadamente a mesma carga decomunicacao?

distribuicao ou replicacao de estruturas de dados

varias operacoes de comunicacao podem ocorrerconcorrentemente?

e a computacao? pode ocorrer concorrentemente?

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 9: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Aglomeracao

possibilidade de combinar tarefasja pode levar em conta arquiteturas especıficas

deixar o numero de tarefas igual ao de processadores?

diminuicao dos custos de comunicacao e de troca de contexto

replicacao de computacao

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 10: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Aglomeracao

objetivos podem ser conflitantes

granularidade X custos de comunicacao e criacao de processosn. tarefas > processadores ⇒ possibilidade de sobreporcomunicacao e computacaomaior numero de tarefas facilita balanceamento de carga

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 11: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Aglomeracao – verificacao

diminuımos a comunicacao?

houve ganhos com replicacao de computacao?

se replicamos dados, isso nao compromete a escalabilidade?

... o numero de tarefas ainda cresce com o tamanho doproblema?

ainda ha concorrencia suficiente?

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 12: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Mapeamento

1 para sistemas de memoria compartilhada: nao visıveldiretamente para o programador

2 colocar processos que podem executar concorrentemente emprocessadores diferentes

3 colocar processos que se comunicam com frequencia nomesmo processador

... claramente pode haver conflitos

problema de mapeamento e NP-completo

na pratica muitas vezes situacoes mais simples...

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 13: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Mapeamento – verificacao

analisamos diferentes estrategias de criacao de processos?

SPMD x criacao dinamica de processos

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 14: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Exemplo: temperatura numa vara

calculo da evolucao da temperatura ao longo do tempo

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 15: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Como paralelizar

1 particionamento

cada ponto da matriz tempo x posicao e uma tarefa

2 comunicacao

calculo em cada ponto depende do resultado de outros tres

3 aglomeracao e mapeamento

nao ha como trabalhar em paralelo nas “colunas”aglomeracao de algumas posicoes

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 16: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Aglomeracao

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 17: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Exemplo: projeto de componentes

n celulas tem que ser dispostas em uma placa

existem restricoes em relacao as posicoes relativas

exploracao de todas as solucoes tem custo proibitivamente alto

uso de estrategia branch and bound

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 18: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Branch and Bound

B2

A

B0

C0

B1

C1 C0 C1

50

130 170 90

143 130

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 19: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Branch and Bound – PC

particionamento: criacao de processos para buscas paralelas

em primeira abordagem uma por no...

comunicacao: balanco entre atualizacao do mınimoencontrado e economia de comunicacao

gerente central pode manter solucoes e mınimo

escalavel?

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 20: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Branch and Bound – AM

aglomeracao: um unico processo pode explorar sub-arvore

mapeamento: alternativas

unico processo raiz distribui tarefas para trabalhadoresdiversos processos replicam trabalho inicial e assumem cadaum uma sub-arvore a partir de algum ponto

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)

Page 21: Projeto de Programas Paralelos (Ian Foster, DBPP)noemi/pc-12/aula6/aula6-pcam.pdf · Projeto de Programas Paralelos (Ian Foster, DBPP) Programa˘c~ao Concorrente { 2012.2 September

Bibliografia

I. Foster. Deeveloping and Building Parallel Programs.

Guy Steele. The Future Is Parallel: What’s a Programmer toDo? Breaking Sequential Habits of Thought

Programacao Concorrente – 2012.2 Projeto de Programas Paralelos (Ian Foster, DBPP)