toward an architecture-independent analysis of parallel ... · arvore bin aria completa uma arvore...
Post on 14-Jun-2020
7 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
top related