Eficiência de programação concorrente em métodos para obtenção de zeros de funções

Autores/as

  • Anderson C. da S. Morais Universidade Federal Rural do Semi-Árido (UFERSA)
  • João V. da S. Cruz Universidade Federal Rural do Semi-Árido (UFERSA)
  • Matheus da S. Menezes Universidade Federal Rural do Semi-Árido (UFERSA)

Palabras clave:

Programação concorrente, métodos numéricos, multithreading, algoritmos paralelos, eficiência computacional

Resumen

Embora os métodos numéricos sejam frequentemente eficazes, em certos casos, encontrar uma raiz de função, ou seja, um valor x tal que f(x) = 0 não é uma tarefa trivial, o que pode tornar o processamento computacional lento, influenciado pela precisão e pelas condições de convergência desejadas. Computacionalmente, cada método de refinamento de raízes de funções utiliza uma quantidade de recursos computacionais e possui um tempo de processamento próprio. Uma forma de minimizar esses gastos é utilizar apenas do método que consiga convergir primeiro, assim, os demais métodos não precisam estar em execução. Com base nessa situação, temos uma abordagem do problema para um algoritmo sequencial e para um algoritmo em paralelo. A programação em paralelo ou concorrente é uma técnica utilizada para melhorar o desempenho computacional em determinadas aplicações. A técnica consiste em selecionar uma tarefa complexa e subdividir em segmentos menores que sejam resolvidos simultaneamente, diminuindo o tempo de conclusão total do processo. Uma das formas de implementação é por meio do multithreading, ou paralelismo de thread, em que cada processo será executado simultaneamente em threads distintos, reduzindo o tempo final de execução. Com base nos conceitos de programação concorrente e sequencial, foram criados três algoritmos. O primeiro sendo um algoritmo sequencial que executa todos os métodos numéricos de zeros de funções e retorna um conjunto de soluções, o segundo que executa cada método em paralelo e apresenta apenas o resultado do método numérico com menor tempo de processamento, encerrando a execução dos demais, e o terceiro que executa os métodos em paralelo sem encerrar a execução do cálculo dos outros métodos, mesmo após a convergência de um dos métodos. Com o objetivo de atestar a eficiência em tempo da programação concorrente por meio do multithreading, realizamos um experimento computacional considerando os métodos da bissecção, falsa posição, Newton-Raphson e secante, utilizando as seguintes funções com seus valores de iniciação para cada método.

Descargas

Los datos de descargas todavía no están disponibles.

Citas

M. A. G. Ruggiero e V. L. R. Lopes. Cálculo Numérico: Aspectos Teóricos e Computacionais. 2a Ed. São Paulo: Makron Books, 1997.

G. R. Andrews e F. B. Schneideil. “Concepts and Notations for Concurrent Programming.” Em: ACM Computing surveys 15.1 (1983).

D. E. Culler, J. P. Singh e A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. 1a Ed. Morgan Kaufmann, 1998.

Publicado

2025-01-20

Número

Sección

Resumos