Integração numerica utilizando threads

855 palavras 4 páginas
Sistemas Concorrentes e Distribuidos

VITÓRIA DA CONQUISTA – BA

Integração Númerica utilizando Threads

VITÓRIA DA CONQUISTA – BA
SETEMBRO/2010

I) Estrategia para Solução Paralela Utilizar as bibliotecas pthreads e omp para parelizar o calculo, principalmente quando os valores são altos, na tentativa de obter um melhor desempenho.

II) Objetivo Realizar o calculo da área de trapézio por meio de integração utilizando threads, com a finalidade de entender o seu funcionamento e medir o desempenho entre ambas as bibiotecas

III) Algoritmo Seqüencial

Double fleft = f(a), fright, area = 0.0; double width = (b-a) / intervals; for [ x = ( a + width ) to b by width]{ fright = f(x); area = area + ( fleft + fright) * width / 2; fleft = fright;
}

III.b) Algoritmo Paralelo Double fleft = f(a), fright, area = 0.0; double width = (b-a) / intervals; co{ for [ x = ( a + width ) to b by width]{ fright = f(x); area = area + ( fleft + fright) * width / 2; fleft = fright;
}
oc
}

V) Testes Realizados Para a realização deste trabalho, foram usadas as linguagens, C/C++, usando as bibliotecas Omp e Pthreads.

a | b | n | Omp | Pthread | 1 | 20.000.000 | 50.000.000 | 47,116s | 46,385s | 1 | 15.000.000 | 40.000.000 | 37,196s | 38,862s | 1 | 5.000.000 | 25.000.000 | 25,212s | 31,306s |

Pode-se observar que o para valores menores o omp é mais rápido como nas duas primeiras execuções.

VI) Referencias
Livro Erad 2001 – 2002; Escola Regional de Alto Desempenho

VII) Apêndice
Código Fonte em C++, método seqüencial:
#include <iostream>
#include <cmath>

using namespace std;

double f(double x); int i; double sum;

void calcula(double a, double b, double n)
{

// Calcular dimensão de cada partição. double h = (b - a) / (n - 1); // Inicializar x. double x = a; // Ciclo de cálculo. for (i = 1; i <= n - 1; i++) { sum = sum + f(x) + f(x + h); x = x +

Relacionados

  • Openmp
    2125 palavras | 9 páginas
  • webservice advpl
    18138 palavras | 73 páginas
  • Linguagem lua
    5274 palavras | 22 páginas
  • Open mp-processamento paralelo
    11010 palavras | 45 páginas
  • Programação advpl
    2221 palavras | 9 páginas
  • Sistemas operacionais: historia e evoluçaõ
    5648 palavras | 23 páginas
  • Projeto de progamação em ambientes de redes: batalha naval
    2201 palavras | 9 páginas
  • so pra constar
    4963 palavras | 20 páginas
  • Sistemas operacionais
    5259 palavras | 22 páginas
  • Sistema Operacional
    33653 palavras | 135 páginas