Académique Documents
Professionnel Documents
Culture Documents
Modelo Tarefa/Canal
Ian Foster
Professor do departamento de cincia da computao na Universidade de Chicago. Suas pesquisas resultaram no desenvolvimento de tcnicas, ferramentas e algoritmos de alto desempenho para computao distribuda e computao paralela.
Modelo Tarefa/Canal
Este modelo facilita o desenvolvimento de programas paralelos eficientes.
Particionamento dos dados e da computao em tarefas primitivas. Comunicao entre as tarefas. Aglomerao das tarefas primitivas. Mapeamento das tarefas nos processadores.
Particionamento
Divide a computao e os dados em partes menores possveis, para obter o mximo de paralelismo.
Abordagem:
Centrado nos dados.
Decomposio de Domnio
Dividimos os dados em partes e depois determinamos a forma de associar processamentos com os dados.
O foco na maior e mais acessada estrutura de dados. Melhor maximizar o numero de tarefas primitivas.
Decomposio de Domnio
Decomposio Funcional
Dividimos o processamento em partes e depois determinamos como associar os dados com os processamentos. Exemplo um somatrio.
Comunicao
Processo de identificao do padro de comunicao entre as tarefas.
Podendo esse padro ser do tipo :
Local = Cada tarefa se comunica com um pequeno conjunto de outras tarefas seus vizinhos.
Global Exige cada tarefa de se comunicar com muitas tarefas. a parte da sobrecarga paralela dos algoritmos paralelos.
Comunicao Global
Algoritmo baseado em viso puramente local de comunicao. O gerente receber os valores e adiciona-los em um acumulador, no entanto o gerente s pode receber e somar apenas um de cada vez, logo esta abordagem leva (N) tempo para soma (N) nmeros, no um algoritmo com eficiente nvel de paralelismo.
Comunicao Global
Problemas no exemplo:
O algoritmo centralizado: no distribuir computao e comunicao. O algoritmo sequencial: no permite que varias operaes de computao e comunicao para proceder simultaneamente.
Distribuio da computao e comunicao, dividindo o somatrio dos N nmeros, fazendo cada tarefa i, O<i <N-1, calcula a soma. Tarefa 0 recebe uma soma parcial e adiciona este ao seu valor local para obter a soma total. Este algoritmo distribui os N-1 comunicaes.
Aglomerao
Promove a combinao das tarefas primitivas para mapea-las em processadores fsicos, assim reduzindo a sobrecarga paralela. Pelo fato do custo fixo De inicializao.
Aglomerao
Objetivos:
Reduzir a sobrecarga com incremento de localidade. Manter a escalabilidade. Reduzir custo de engenharia de software
Mapeamento
Especificar onde cada tarefa executada(processadores).
Em computadores paralelos o mapeamento continua a ser um difcil problema que deve ser explicitamente dirigido ao projetar algoritmo paralelos. Objetivos:
Maximizar a taxa utilizao dos processadores Minimizar a comunicao interprocessador.
Mapeamento
A B C E D E F B F G H D G A C H
Mapeamento
Aumentar a utilizao dos processadores e diminuir a comunicao interprocessador so objetivos conflitantes. Devemos escolher um mapeamento que represente um meio termo razovel entre maximizar utilizao de processadores e minimizar comunicao
Algoritmo de Escalonamento de tarefas: quando as tarefas no se comunicam umas com as outras . Recebe um subproblema para resolver e retorna a sua soluo.
Escalonamento Centralizado: eficaz para numero moderados de processadores. Um conjunto de processadores dividido em gerente e muitos trabalhadores. O gerente mantm um conjunto de descries de problema e responde ao pedidos dos trabalhadores.
Escalonamento Descentralizado
No existe gerente central, cada processador mantm sua prpria lista de tarefas, para permitir o balanceamento de cargas entre os trabalhadores utilizam duas tcnicas: empurrar e puxar tarefas:
Empurrar: Processadores com muitas tarefas disponveis tentam envia-las para os vizinhos.
Projeto de algoritmo paralelo no facilmente reduzido a receitas simples, ele exige o tipo de pensamento criativo. Ian Foster