toward an architecture-independent analysis of parallel ... · arvore bin aria completa uma arvore...

22
Introdu¸c˜ ao O algoritmo de aproxima¸c˜ ao Aplica¸ c˜oes em Problemas Concretos Problemas Abertos Referˆ encias Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de outubro de 2012 1/22

Upload: others

Post on 14-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Toward an Architecture-Independent Analysis ofParallel Algorithms

Mijail Gamarra Holguin

18 de outubro de 2012

1/22

Page 2: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Agenda

1 Introducao

2 O algoritmo de aproximacao

3 Aplicacoes em Problemas Concretos

4 Problemas Abertos

2/22

Page 3: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Agenda

1 Introducao

2 O algoritmo de aproximacao

3 Aplicacoes em Problemas Concretos

4 Problemas Abertos

3/22

Page 4: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Sequencial Vs Paralelo

O processo de desenho em computacao sequencial envolve:

(A) Escolher o algoritmo.(B) Analisar a complexidade.

O processo de desenho em computacao paralela envolve:

(1) Escolher o algoritmo.(2) Escolher uma arquitetura multiprocessador.(3) Buscar um escalonamento com que o algoritmo e executado no

computador.(4) Analisar a complexidade.

4/22

Page 5: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Como entender os algoritmos paralelos?

O desafio e combinar os passos (2), (3) e (4).

O desempenho de um algoritmo paralelo depende daarquitetura.

Uma primeira tentativa de solucao, levo em consideracao 3parametros: tempo decorrido, trafego total de comunicacao eatraso total de comunicacao.

Muitas medidas de desempenho e nao tinha uma tecnica degeneralizacao.

5/22

Page 6: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Uma nova tentativa

Um algoritmo paralelo e dado por um grafo dirigido acıclico(dag).

Pode-se considerar que existem suficientes processadores.

A complexidade e dada pelo tamanho do dag.

O unico parametro considerado e o atraso de comunicacao τ .

6/22

Page 7: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Escalonar o algoritmo

Considere-se que cada tarefa se processa em uma unidade detempo.

O problema a resolver e: Escalonar um dag com tarefa deuma unidade de tempo com uma quantidade ilimitada deprocessadores.

O makespan otimo, sempre uma funcao de τ , e uma medidajusta da complexidade paralela do algoritmo.

O unico parametro considerado e o atraso de comunicacao τ .

O escalonamento proposto calcula um makespan com umalgoritmo 2-aproximacao.

7/22

Page 8: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Agenda

1 Introducao

2 O algoritmo de aproximacao

3 Aplicacoes em Problemas Concretos

4 Problemas Abertos

8/22

Page 9: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Definicoes

Para este problema sao dados:

Um dag D = (A,V )Um inteiro positivo τ

A solucao e um escalonamento S ⊂ V × ω × ω, com asseguintes condicoes:

Para cada v ∈ V existe pelo menos uma tripla (v , p, t) ∈ S .Nao existem duas triplas (v , p, t), (v ′, p, t) ∈ S , tal quev 6= v ′.Se (u, v) ∈ A e (v , p, t) ∈ S , entao existe outra tripla(u, p, t ′) ∈ S com t ′ ≤ t − 1 ou existe outra tripla(u, p′, t ′) ∈ S com t ′ ≤ t − 1− τ .

A meta e minimizar Tmax , o maior tempo de S .

9/22

Page 10: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

O problema e NP-completo

Theorem 2.1

Dado um dag D = (V ,A), um inteiro τ , um tempo limite Tmax .Decidir se existe um escalonamento S tal que nenhum tempo de Se maior que Tmax , e um problema NP-completo.

10/22

Page 11: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

O algoritmo de aproximacao

Dado um dag D = (V ,A) e um inteiro τ , pode-se calcular afuncao e : V ← ω, calcula da seguinte maneira:

Se v e uma fonte e(v) = 0Caso contrario, se considera os ancestrais de v , ordenados deforma decrescente segundo e(u), e(u1) ≥ e(u2) ≥ · · · ≥ e(up).Seja k = min(τ + 1, p), entao e(v) = e(uk) + k.

Lema 1

Nao existe nenhum escalonamento em que o nodo v e escalonadoantes do tempo e(v).

Lema 2

Para cada no v existe um escalonamento no qual o no v eescalonado no tempo 2e(v).

11/22

Page 12: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

O algoritmo 2-aproximacao

Combinando os Lemas 1 e 2, se tem este teorema:

Theorem 2.2

O algoritmo explicado e um algoritmo de 2-aproximacao para Tmax .

12/22

Page 13: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Generalizando do algoritmo

No caso em que cada v ∈ V tem um tempo de execucao x(v) eum atraso τ(v), este algoritmo pode ser usado e tem o mesmo errode aproximacao.A funcao e(v) para este caso e definida como:

Se v e uma fonte e(v) = 0

Caso contrario, calcule f (u) = e(u) + x(u) + τ(u), ordene osancestrais segundo este valor. Considere um inteiro j tal quef (uk) > j ≥ f (uk+1). Seja Nj(v) o dag dos ancestrais de v .Considere o problema de escalonamento Sj : o release time decada vi e e(vi ), com e(v1) ≥ e(v2) ≥ · · · ≥ e(vl).Obviamente o escalonamento otimo tem comprimento

Lj =k

maxi=1

[e(vi ) +

∑iq=1 x(q)

]. Pegue o menor j tal que

j ≥ Lj . e(v) = j .

13/22

Page 14: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Algoritmo Generalizado

Para cada no v , o processador que executa v , tambemexecuta os nos do Ne(v)(v).

Este processador recebe a informacao do resto de ancestraisatraves da comunicacao com outros processadores.

Os nos do Ne(v)(v), sao executados logo que eles se tornamdisponıveis. Um no u se torna disponıvel se todos osancestrais sao conhecidos.

14/22

Page 15: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

O algoritmo e polinomial

Theorem 2.3

O algoritmo explicado e um algoritmo polinomial de 2-aproximacaopara o problema generalizado.

15/22

Page 16: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Agenda

1 Introducao

2 O algoritmo de aproximacao

3 Aplicacoes em Problemas Concretos

4 Problemas Abertos

16/22

Page 17: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Arvore binaria completa

Uma arvore binaria completa e um dag com n nos.

Os τ ancestrais de um no v estao nos log τ proximos nıveis.

Neste caso o algoritmo fica assim:

Dividir os log n nıveis em log n/ log τ camadas.Executar em paralelo todos as subarvores da mesma camada.Total de subarvores resultantes sao n/τ .A complexidade do algoritmo e O(τ log n/ log τ).A quantidade de processadores necessarios e O(n/τ).

17/22

Page 18: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Transformada rapida de Fourier

A partir do ponto de vista de cada saıda. o FFT e um arvorebinaria completa. Entao o tempo otimo e O(τ log n/ log τ).Outro algoritmo:

Para k ≈ τ/ log τ , com particoes do FFT em listras de alturalog k.

Cada listra contem n/k FFTs em k pontos.

Cada um destes FFTs e executado em tempo sequencial(O(k log k)) dentro de um processador, e todos os FFTs domesma listra sao executados em paralelo.

No final de cada listra, os resultados sao trocados e comeca aproxima listra.

O algoritmo tem complexidade O(τ log n/ log τ), e usaO(n log τ/τ).

18/22

Page 19: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

A piramide

Como no caso das arvores binarias completas, o otimo tempolimite e obtido executando, no mesmo processador que v , asubpiramide com τ nos com v como raiz.

O tempo requerido e 2√

nτ .

Usa√

n −√τ processadores.

19/22

Page 20: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Agenda

1 Introducao

2 O algoritmo de aproximacao

3 Aplicacoes em Problemas Concretos

4 Problemas Abertos

20/22

Page 21: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Problemas Abertos

Nao existe um algoritmo que seja melhor que 2-aproximacao,a menos que P=NP.

Para τ (um inteiro fixo, ou uma fracao com numerador fixo)existe um algoritmo de programacao dinamica, que epolinomial e exato.

O algoritmo de aproximacao apresentado e um limite paraproduzir escalonamentos com muitos processadores.

Uma arvore binaria completa inversa pode-se resolver emtempo logarıtmico.

21/22

Page 22: Toward an Architecture-Independent Analysis of Parallel ... · Arvore bin aria completa Uma arvore bin aria completa e um dag com n n os. Os ˝ancestrais de um n o v est~ao nos log

Introducao O algoritmo de aproximacao Aplicacoes em Problemas Concretos Problemas Abertos Referencias

Referencias

C.H. Papadimitriou and M. Yannakakis. Towards anarchitecture-independent analysis of parallel algorithms. SIAMJournal on Computing, 19(2):322–328, 1990.

22/22