Параллельные алгоритмы решения задач вычислительной математики
Правильная ссылка на статью:
Пекунов В.В.
Предицирующие каналы в параллельном программировании: возможное применение в математическом моделировании процессов в сплошных средах
// Программные системы и вычислительные методы.
2019. № 3.
С. 37-48.
DOI: 10.7256/2454-0714.2019.3.30393 URL: https://nbpublish.com/library_read_article.php?id=30393
Аннотация:
В данной работе рассматривается проблема применения предикции в классическом и параллельном программировании задач математического моделирования, основанных на численном интегрировании дифференциальных уравнений в частных производных. Предикция может использоваться для замены фрагментов математической модели более простыми приближенными соотношениями, для опережающего прогнозирования значений принимаемых в ходе параллельного счета данных, для прогнозирования времени исполнения фрагментов параллельной программы при решении вопроса о применении последовательного или параллельного алгоритма и при балансировке загрузки отдельных процессоров вычислительной системы. Для формализации видов предикторов и определения математических соотношений, позволяющих их вычислить, используются подходы и методы вычислительной математики (теории интерполяции и экстраполяции). Для определения программных реализаций предикторов используются подходы, характерные для инженерии параллельного программирования. Полученные результаты проверяются экспериментально. В работе впервые предложен новый вид технологических средств предикции для использовании в параллельном программировании – предикционно-решающие каналы. Предложены два вида каналов – авторегрессионные точечные и линейные (явные или неявные) коллективного решения. Изложены математические аспекты предикции в таких каналах, кратко описаны базовые средства программирования. Показано, что совмещение каналов со средствами предсказания данных упрощает программирование ряда алгоритмов, связанных с численным моделированием, и позволяет, в частности, осуществлять скрытые переходы от явных разностных схем к неявным, отличающихся большей устойчивостью счета, а также от последовательных алгоритмов счета к параллельным. На примере задачи численного интегрирования нестационарного уравнения теплопроводности показано, что адекватное применение каналов в ряде случаев позволяет ускорить расчет на многоядерных вычислительных системах.
Ключевые слова:
ускорение счета, разностные схемы, дифференциальные уравнения, математическое моделирование, линейная экстраполяция, предсказание данных, каналы, параллельное программирование, аппроксимация разностных схем, персептроны
Abstract:
In this paper, the author considers the problem of applying prediction in classical and parallel programming of mathematical modeling problems based on the numerical integration of partial differential equations. Prediction can be used to replace fragments of a mathematical model with simpler approximate relations, to anticipate the values received during parallel counting, to predict the execution time of fragments of a parallel program when deciding whether to use a sequential or parallel algorithm and when balancing the load of individual processors of a computing system. To formalize the types of predictors and determine the mathematical relationships that allow them to be calculated, the approaches and methods of computational mathematics (theory of interpolation and extrapolation) are used. To determine the software implementations of predictors, approaches that are characteristic of parallel programming engineering are used. The results are verified experimentally. For the first time, a new type of technological means of prediction for use in parallel programming is proposed - prediction-solving channels. Two types of channels are proposed - autoregressive point and linear (explicit or implicit) collective solutions. The mathematical aspects of prediction in such channels are described, basic programming tools are briefly described. It is shown that combining channels with data prediction tools simplifies the programming of a number of algorithms related to numerical modeling, and allows, in particular, hidden transitions from explicit difference schemes to implicit ones, which are more stable in counting, as well as from sequential counting algorithms to parallel ones. Using the example of the problem of numerical integration of the non-stationary heat equation, it is shown that the adequate use of channels in some cases allows you to speed up the calculation on multi-core computing systems.
Keywords:
finite difference scheme's approximation, calculation speedup, finite difference schemes, partial differential equations, mathematical modelling, data prediction, linear extrapolation, channels, parallel programming, perceptrons