ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador....
Transcript of ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador....
![Page 1: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/1.jpg)
Análise e desenho de algoritmosparalelos
Docente: MSc. Angel Alberto Vazquez Sánchez
ISUTIC2017
![Page 2: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/2.jpg)
Sumario
● Análise de algoritmos paralelos:– Parâmetros absolutos e relativos para avaliar
algoritmos paralelos.
● Desenho de algoritmos paralelos:– Exemplo de resolução de sistemas de equações
lineares U*x = b.
![Page 3: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/3.jpg)
Bibliografía
● Tanenbaum, A. S., & Van Steen, M. (2007). Distributed systems: principles and paradigms. Prentice-Hall.
● Coulouris, G., Dollimore, J., Kindberg, T., & Blair, G. (2013). Sistemas Distribuídos-: Conceitos e Projeto. Bookman Editora.
![Page 4: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/4.jpg)
Introdução
● De pouca utilidade costuma ser qualquer computador se não se dispõe de algoritmos eficientes que permitam o aproveitar ao máximo.
● Isto é especialmente verdadeiro no caso dos Computadores Paralelos onde as técnicas de desenho diferem fundamentalmente das utilizadas em Computadores Sequenciais.
![Page 5: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/5.jpg)
Introdução
● Devemos ser capazes de analisar e comparar os algoritmos paralelos com outros já existentes e tratar dos melhorar ao máximo explodindo todas as possibilidades do paralelismo.
● ¿Como de rápido é um algoritmo paralelo?● ¿Está a utilizar-se um Computador Paralelo de
forma eficiente?
![Page 6: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/6.jpg)
Modelo RAM (Random AccessMachine)
● Modelo usado para analisar e desenhar os algoritmos sequenciais. É muito simples e representa fielmente o modelo de Von Neumann. Nele se supõe que:1.O algoritmo é implementado utilizando seu conjunto
básico de instruções.
2.As instruções são executadas uma a seguir de outra.
3.Para a cada operação básica conhece-se seu tempo de execução ou sua forma de calcular.
![Page 7: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/7.jpg)
Modelo multiprocessador com memória distribuída (D-RAM)
Um dos modelos mais usados para analisar e desenhar os algoritmos paralelos.
Características:● Compõe-se por vários processadores RAM, ou elementos de
processo.● A cada elemento de processo tem sua própria memória local, e
seu próprio espaço de direções.● Os processadores estão ligados mediante uma rede de
interconexão.● A comunicação entre os processadores realiza-se mediante
passo de mensagens.
![Page 8: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/8.jpg)
Modelo multiprocessador com memória distribuída (D-RAM)
Características:● A cada processador é identificado por um índice.● Todos os processadores executam o mesmo
programa (SPMD).● Os códigos podem particularizar-se em função do
índice identificador do processador.● Existem primitivas de comunicação.
– Enviar(v, i): Escreve a mensagem alojada no variável v no buffer do processador Pi.
– Receber(v): Aloja a mensagem que tenha no buffer na variável v e esvazia o buffer.
![Page 9: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/9.jpg)
Envio de mensagens
Tempo de envio de uma mensagem de N bytes de um nó a outro nó vizinho:
τ : Tempo que demora um byte em circular de um nó a outro.
β : Tempo de latência. Tempo que decorre desde que se decidiu enviar a mensagem até que se envia o primeiro byte
N∗τ+β
![Page 10: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/10.jpg)
Tempos de execução (Parâmetros absolutos)
● Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. Costuma medir-se em FLOPS.
● FLOPS: Tempo que demora em se executar uma operação elementar em vírgula flutuante.
● Tempo paralelo (Tp) : Tempo que demora o algoritmo em se executar em p processadores. Tp = Ta + Tc − Tsol
![Page 11: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/11.jpg)
Tempos de execução (Parâmetros absolutos)
● Tempo aritmético (Ta): Tempo que demora o sistema multiprocessador em fazer operações aritméticas. Costuma medir-se em FLOPS.
● Tempo de comunicações (Tc): Tempo que demora o sistema multiprocessador em executar transferências de dados.
● Tempo de sobreposição (Tsol): Tempo que decorre quando se realizam operações aritméticas e operações de comunicação simultaneamente.
Tp ≈ Ta + Tc
![Page 12: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/12.jpg)
Tempo de execução (Parâmetros relativos)
● Speed-up (Sp): Indica qual é o ganho de velocidade de um algoritmo paralelo, executado sobre p processadores, quando se compara com o melhor algoritmo sequencial.
● Eficiência(Ep): Mede o grau de utilização de um sistema multiprocessador.
Sp=T s
T p
lim Sp=p
Ep=Spp
![Page 13: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/13.jpg)
Desenho de algoritmos paralelos:
● Exemplo de resolução de sistemas de equações lineares U*x = b
![Page 14: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/14.jpg)
Algoritmo sequencial
![Page 15: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/15.jpg)
Algoritmo sequencial
![Page 16: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/16.jpg)
Diagrama de dependências
![Page 17: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/17.jpg)
Distribuição por filas consecutivas
![Page 18: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/18.jpg)
Algoritmo escalar
![Page 19: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/19.jpg)
Análise do algoritmo escalar
![Page 20: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/20.jpg)
Análise do algoritmo escalar
![Page 21: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/21.jpg)
Distribuição cíclica de filas
![Page 22: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/22.jpg)
Algoritmo TRS (Triangular Row Scatter)
![Page 23: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/23.jpg)
Análise do algoritmo TRS
![Page 24: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/24.jpg)
Análise do algoritmo TRS
![Page 25: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/25.jpg)
Algoritmo TRS na prática
Suponhamos que n = 1024 e que se tem um sistema multiprocessador com 8 processadores e onde existam as seguintes condições:
Paralelismo de grão fino: Enviam-se muitas mensagens de tamanhos muito pequenos.
F=1.2∗10−8 sg .
τ=8.5∗10−8 sg .β=1.8∗10−4 sg .
T P≈3 sg . Significativo para un problema não tão grande.
![Page 26: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/26.jpg)
Tarefa
1.O que é o paralelismo de grão fino?
2.Pesquise os seguintes aspectos sobre o algoritmo TRB (Triangular Row Block):– Pseudocódigo, Tempo de execução e Distribuição
de carga entre os processadores.
3.Compare com o algoritmo TRBS (Triangular Row Block Scatter) tendo em conta os mesmos aspectos.
![Page 27: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/27.jpg)
Conclução
![Page 28: ISUTIC 2017 · Tempo sequencial (Ts): Tempo que demora em se executar o algoritmo num processador. ... Tp ≈ Ta + Tc. Tempo de execução (Parâmetros ... 1.O que é o paralelismo](https://reader030.fdocuments.net/reader030/viewer/2022020318/5c00474709d3f2a7608b4d1e/html5/thumbnails/28.jpg)
Análise e desenho de algoritmosparalelos
Docente: MSc. Angel Alberto Vazquez Sánchez
ISUTIC2017