Programação paralela e distribuida - divisão e conquista

749 palavras 3 páginas
Avaliação da disciplina de Programação Paralela e Distribuída
Divisão e Conquista
Introdução
A segunda avaliação desta disciplina consistiu na implementação de um algoritmo paralelo para ordenação dos valores pseudoaleatórios contidos em um vetor com 600000 elementos, para tanto foi utilizado à técnica de divisão e conquista com uso da linguagem de programação C e o padrão para comunicação interprocessos da biblioteca de programação paralela MPI. O ambiente de execução é caracterizado por máquinas com processador Core i7 3,40 Ghz com 8gb RAM e sistema operacional Fedora 2.3 de 32bits.
O Algoritmo
Esta técnica consiste em sub-dividir um problema em atividades a serem executadas concorrentemente pelos processadores, sob uma estrutura de árvore, até atingir uma granularidade mínima, mantendo a forma do problema original. O processamento foi dividido de acordo com o número de processos exigidos conforme o delta dos níveis estipulados e a cada processo foi tentado atribuir um núcleo físico de um processador .Podemos exemplificar a ideia do algoritmo implementado da seguinte forma: cada núcleo recebe seu conjunto de dados a ser trabalhado uma única vez, verifica se irá dividir ou conquistar aqueles dados através de uma comparação com o valor atual do delta, se for dividir chama uma função que divide o vetor em duas partes homogêneas, se possível, e as envia para seus 2 processos filhos, aguarda o retorno destes, e após o recebimento de cada vetor ordenado independentemente aplica uma função de merge formando um novo vetor ordenado, se este for o processo zero, chama uma função que verifica a ordenação e finaliza o algoritmo, senão envia para seu processo pai. Os processos cujo tamanho do subvetor é menor ou igual ao delta, conquistam seus dados ordenando-os através do método Bubble Sort e posteriormente enviam esses dados aos seus respectivos processos pai. O nodo 0, corresponde ao processo onde foi iniciada a execução do programa paralelo, divide o conjunto de

Relacionados

  • 2008 2 Algoritmos Paralelos De Ordena O
    14903 palavras | 60 páginas
  • Paralelização de um algoritmo de propagação de onda 2d usando mpi
    10094 palavras | 41 páginas
  • Uma Revisão de Ferramentas para Programação Multithread Baseadas no Modelo de Paralelismo de Tarefas
    11085 palavras | 45 páginas
  • Atps programação estruturada 1º desafio
    1896 palavras | 8 páginas
  • Compare as Respostas
    8833 palavras | 36 páginas
  • Arquiteturas adequadas para manipulação e processamento de big data
    7400 palavras | 30 páginas
  • Processa do CELL
    1629 palavras | 7 páginas
  • Dissertacao 83
    49140 palavras | 197 páginas
  • Tecnologia
    6205 palavras | 25 páginas
  • Grade curricular
    23003 palavras | 93 páginas