Пекунов В.В. —
Объектно-транзакционное расширение Cilk++
// Программные системы и вычислительные методы. – 2022. – № 3.
– С. 28 - 34.
DOI: 10.7256/2454-0714.2022.3.38823
URL: https://e-notabene.ru/itmag/article_38823.html
Читать статью
Аннотация: В данной работе рассматривается проблема разработки компактных средств, поддерживающих программирование в условиях динамической транзакционной памяти, подразумевающей оперативное порождение транзакционных страниц, для языка Cilk++. Утверждается, что подобная реализация требует ослабленной изоляции транзакций. Анализируется современное состояние проблемы. Отмечается, что существующие решения достаточно громоздки, хотя и позволяют работать со сложными структурами данных, такими как списки и деревья. Утверждается необходимость разработки новых решений в стиле минимализма, основанных на применении специализированных классов (порождающих транзакционные страницы; реализующих согласуемые транзакционные переменные) в сочетании с набором ключевых слов, характерных для Cilk++. Предлагаются соответствующие новые решения. Вводятся новые элементы синтаксиса, реализуемые с помощью средств расширения языка, характерных для платформы Planning C. Описана семантика новых языковых элементов. Отмечается, что в отличие от аналогов, разработанные средства позволяют декларативно «выстроить» транзакции в сеть (сетевой график работ), определяющую порядок исполнения транзакций и существующий при этом потенциал параллелизма. Проведена апробация предложенного подхода на примере задачи построения гистограммы. Также упоминается об успешном решении с применением разработанных средств задачи обучения искусственной нейронной сети методом обратного распространения ошибки и задачи целочисленного линейного программирования методом ветвей и границ.
Abstract: In this paper, we consider the problem of developing compact tools that support programming in dynamic transactional memory, implying operational generation of transactional pages, for the Cilk++ language. It is argued that such an implementation requires weakened transaction isolation. The current state of the problem is analyzed. It is noted that the existing solutions are quite cumbersome, although they allow you to work with complex data structures such as lists and trees. It is argued that it is necessary to develop new solutions in the style of minimalism based on the use of specialized classes (generating transactional pages; implementing consistent transactional variables) in combination with a set of keywords characteristic of Cilk++. Appropriate new solutions are proposed. New syntax elements are introduced, implemented using language extension tools specific to the Planning C platform. The semantics of new language elements is described. It is noted that, unlike analogues, the developed tools allow declaratively to "build" transactions into a network (network schedule of work), which determines the order of execution of transactions and the potential for parallelism that exists at the same time. The proposed approach was tested on the example of the task of constructing a histogram. It is also mentioned about the successful solution, using the developed tools, of the problem of training an artificial neural network by the method of error back propagation and the problem of integer linear programming by the method of branches and boundaries.
Пекунов В.В. —
Новые встроенные средства расширения языка Planning C
// Программные системы и вычислительные методы. – 2022. – № 1.
– С. 32 - 41.
DOI: 10.7256/2454-0714.2022.1.37240
URL: https://e-notabene.ru/itmag/article_37240.html
Читать статью
Аннотация: В данной работе рассматривается проблема разработки языковых расширений Planning C (диалекта C++). Проводится обзор существующих внешних программ и встроенных в языки решений, позволяющих транслировать вводимые в язык новые конструкции в выходной код. На основании анализа делается вывод о том, что наиболее естественным встроенным в язык решением будет некоторое сочетание улучшенных регулярных выражений (для выделения новых конструкций) с генераторами кода на базе процедурно-синтаксических макросов. При этом целесообразно применение элементов прямого логического программирования (как в макросах, так и в регулярных, точнее, регулярно-логических выражениях). Предложенный подход позволяет более гибко выделять заменяемые конструкции по сравнению с шаблонными подходами и более просто заменять их выходным кодом в сравнении с подходами, основанными на манипуляциях с синтаксическим деревом. Описаны синтаксис и семантика предлагаемых решений. Предложена схема препроцессинга, реализующая выделение исходных конструкций сканерами (группами параметризованных регулярно-логических выражений) и их замену выходным кодом, реализуемую дедуктивными макромодулями (с возможным многократным согласованием). Такая схема позволяет работать с произвольными входным и выходным синтаксисами и обеспечивает оперативный ввод в Planning C новых конструкций, что особенно ценно, например, при прототипировании новых расширений. Работа содержит сведения об успешной апробации предложенных подходов (о разработке ряда синтаксически нетривиальных расширений Planning C).
Abstract: In this paper, the problem of developing language extensions of Planning C (a dialect of C++) is considered. The review of existing external programs and solutions built into languages that allow translating new constructions introduced into the language into the output code is carried out. Based on the analysis, it is concluded that the most natural solution built into the language will be some combination of improved regular expressions (to highlight new constructions) with code generators based on procedural and syntactic macros. At the same time, it is advisable to use elements of direct logical programming (both in macros and in regular, more precisely, regular-logical expressions). The proposed approach makes it possible to more flexibly allocate replaceable constructs in comparison with template approaches and more simply replace them with output code in comparison with approaches based on manipulations with the syntax tree. The syntax and semantics of the proposed solutions are described. A preprocessing scheme is proposed that implements the selection of initial constructions by scanners (groups of parameterized regular logical expressions) and their replacement with output code implemented by deductive macromodules (with possible multiple matching). This scheme allows you to work with arbitrary input and output syntaxes and provides prompt input of new constructions into Planning C, which is especially valuable, for example, when prototyping new extensions. The paper contains information about the successful testing of the proposed approaches (on the development of a number of syntactically non-trivial extensions of Planning C).
Пекунов В.В. —
Построение K-W-NET модели турбулентности на базе K-W/V2-F моделей с нейросетевым компонентом
// Программные системы и вычислительные методы. – 2021. – № 3.
– С. 52 - 58.
DOI: 10.7256/2454-0714.2021.3.36054
URL: https://e-notabene.ru/itmag/article_36054.html
Читать статью
Аннотация: Предметом исследования данной работы являются модели турбулентности, базирующиеся на введении нейросетевых компонентов в известные стандартные полуэмпирические модели. Утверждается, что такой прием позволяет, обучив нейросетевые компоненты по данным, полученным с помощью достаточно точных и совершенных моделей, заменив или дополнив такими компонентами отдельные фрагменты исходных моделей, добиться существенного ускорения расчета при сохранении достаточных точности и устойчивости. Автор проводит обзор существующих классических подходов к моделированию турбулентности, на основании которого выделяет V2-F модель Дурбина, как одну из наиболее совершенных и, соответственно, перспективных в плане последующих нейросетевых модификаций. Предлагается новая модель турбулентности на базе K-W модели в сочетании с нейросетевым компонентом, обучаемым по данным V2-F модели Дурбина. Приводятся все необходимые соотношения. Свойства полученной модели исследуются в численном эксперименте по обтеканию одиночного препятствия. Результаты сравниваются с данными, полученными по иным известным полуэмпирическим моделям (K-E, K-W), а также по прямой нейросетевой модели. Показано, что предложенная модель при меньшей вычислительной трудоемкости в сравнении с иными моделями (за исключением прямой нейросетевой, которая, однако, менее точна) дает весьма высокую точность, близкую к точности модели Дурбина.
Abstract: The subject of this article is the models of turbulence based on introduction of neural network components into the widespread standard semi-empirical models. It is stated that such technique allows achieving significant acceleration of calculation while maintaining sufficient accuracy and stability, by training neural network components based on the data acquires with the use of fairly accurate and advanced models, as well as replacing and complementing separate fragments of the initial models with such components. An overview is give on the existing classical approaches towards modeling of turbulence, which allows determining the V2-F model suggested by Durbin as one of the most advanced, and thereby promising, with regards to subsequent neural network modifications. The author offers the new model of turbulence based on K-W models paired with a neural network component trained in accordance with the V2-F Durbin model. All necessary ratios are provided. The properties of the obtained model are examined in terms of the numerical experiment on the flow over of a single obstacle. The results are compared with data acquired from other semi-empirical models (K-E, K-W), as well as via direct neural network model. It is demonstrated that the proposed model, with less computational labor output in comparison with other models (excluding direct neural network, which, however, is less accurate), provides high precision close to precision of the Durbin model.
Пекунов В.В. —
Улучшенная балансировка загрузки процессоров при численном решении задач механики сплошной среды, осложненных химической кинетикой
// Кибернетика и программирование. – 2021. – № 1.
– С. 13 - 19.
DOI: 10.25136/2644-5522.2021.1.35101
URL: https://e-notabene.ru/kp/article_35101.html
Читать статью
Аннотация: Рассматриваются некоторые аспекты процесса численного решения задач механики сплошной среды в условиях протекающих химических реакций. Такие задачи, обычно, отличаются наличием множества локальных областей с повышенной температурой, положение которых в пространстве относительно нестабильно. В таких условиях применяются жестко устойчивые методы интегрирования с контролем шага, которые в "горячих" областях имеют существенно большие временные затраты в сравнении с прочими областями. При использовании геометрического параллелизма данный факт приводит к существенному дисбалансу загрузки процессоров, снижающему общую эффективность распараллеливания. Поэтому в данной работе рассматривается проблема балансировки загрузки процессоров при параллельном решении вышеуказанных задач. Предложена новая модификация алгоритма крупноблочной распределенной балансировки с улучшенным предсказанием времени численного интегрирования уравнений химической кинетики, наиболее эффективная в условиях дрейфа "горячих" областей. Улучшение состоит в применении линейного персептрона, анализирующего несколько предыдущих значений времени интегрирования (в базовом варианте алгоритма используется лишь одна предыдущая точка из истории времени интегрирования). Это позволяет работать в условиях как быстрого, так и медленного дрейфа "горячих" областей. Эффективность данного подхода продемонстрирована на задаче моделирования обтекания здания, на крыше которого наблаюдается горение при высокой температуре. Показано, что применение модифицированного алгоритма повышает эффективность распараллеливания на 2,1% по сравнению с исходным алгоритмом.
Abstract: This article explores certain aspects of the process of numerical solution of the tasks of continuous medium mechanics in the conditions of ongoing chemical reactions. Such tasks are usually characterized by the presence of multiple local areas with elevated temperature, which position in space is relatively unstable. In such conditions, rigidly stable methods of integration with step control, which in the “elevated temperature” areas that have higher time input comparing to other areas. In terms of using geometric parallelism, this fact leads to substantial imbalance of CPU load, which reduces the overall effectiveness of parallelization. Therefore, this article examines the problem of CPU load balancing in the context of parallel solution of the aforementioned tasks. The other offers a new modification of the algorithm of large-block distributed balancing with improved time prediction of the numerical integration of chemical kinetics equations, which is most effective in the conditions of drift of the areas with “elevated temperatures”. The improvement consists in application of the linear perceptron, which analyzes several previous values of time integration (the basic version of the algorithm uses only one previous spot from the history of time integration). This allows working in the conditions of fast and slow drift of the areas with “elevated temperatures”. The effectiveness of this approach is demonstrated on the task of modeling the flow-around the building with high-temperature combustion on its roof. It is indicated that the application of modified algorithm increases the effectiveness of parallelization by 2.1% compared to the initial algorithm.
Пекунов В.В. —
Апробация модели капельной фазы в эксперименте по моделированию образования кислотосодержащего облака
// Программные системы и вычислительные методы. – 2021. – № 1.
– С. 46 - 52.
DOI: 10.7256/2454-0714.2021.1.35104
URL: https://e-notabene.ru/itmag/article_35104.html
Читать статью
Аннотация: Рассматривается проблема численного моделирования образования (в результате конденсационного роста и столкновений капель) и развития первичного кислотосодержащего облака с учетом различных факторов: наличия температурных градиентов, турбулентности, прямого солнечного излучения, нагревающего воздух и стены зданий, диффузного солнечного излучения (в рамках которого описывается, например, радиационное остывание), переноса газообразных загрязнителей и их поглощение каплями. Ранее автором была сформулирована соответствующая комплексная математическая модель, учитывающая данные факторы. В настоящей работе ставится задача апробации капельного компонента данной модели путем численного моделирования процессов в зарождающемся облаке с последующим сравнением результатов с теоретическими и эмпирическими соотношениями. Получены новые результаты численного моделирования кислотосодержащего облака в воздушной среде над участком большого города со сложной застройкой, на основе комплексной математической модели, учитывающей вышеперечисленные факторы и опирающейся на интерполяционно-секционную подмодель капельной фазы. Смоделированы динамика и кинетика такого облака, поглощающего газообразный диоксид серы, получены результаты по интенсивности поглощения данного загрязнителя в формирующемся облаке. Сравнение полученных результатов с известными данными (распределение капель Мазина-Хргиана и интерполяционные соотношения для водности облаков) показало хорошее совпадение по распределению капель и по водности облака. Сделан вывод о достаточной адекватности примененной экологической модели, включающей специальную подмодель капельной фазы.
Abstract: The problem of numerical modeling of the formation (as a result of condensation growth and droplet collisions) and development of primary acidulous cloud considers various factors: the presence of temperature gradients, turbulence, direct solar radiation heating the air and walls of buildings, diffuse solar radiation (which describes radiation cooling), transfer of gaseous pollutants and their absorption by droplets. The author earlier formulated the corresponding complex mathematical model that takes into account the aforementioned factors. This article sets the task of testing the droplet component of this model through numerical modeling of the processes in the emerging cloud, with subsequent comparison of the results with theoretical and empirical correlations. The author obtained the new results of numerical modeling of acidulous cloud in the air over a vast urban area with high-density development on the basis of the comprehensive mathematical model that takes into account the above listed factors and relies on the interpolation-sectional submodel of droplet phase. The author models the dynamics and kinetics of such cloud that absorbs gaseous sulphur dioxide; and obtains results on the intensity of absorption of this pollutant in the forming cloud. The comparison of these results with the known data (Hrgian-Mazin droplet distribution and interpolation ratio for the water level of the cloud) demonstrated quite a coincidence of droplet distribution and water level of the cloud. The conclusion is made on sufficient adequacy of application of the ecological model that includes a special submodel of droplet phase.
Пекунов В.В. —
Модификация метода Марквардта для обучения нейросетевого предиктора в моделях турбулентной вязкости
// Кибернетика и программирование. – 2021. – № 1.
– С. 27 - 34.
DOI: 10.25136/2644-5522.2021.1.36059
URL: https://e-notabene.ru/kp/article_36059.html
Читать статью
Аннотация: Предметом исследования данной работы являются численные методы оптимизации, используемые при обучении нейронных сетей, выступающих в качестве предицирующих компонентов в некоторых современных моделях турбулентной вязкости. Качественное решение проблемы обучения (минимизации функционала невязок нейронной сети) часто требует значительных вычислительных затрат, поэтому весьма актуальна задача повышения скорости такого обучения, решаемая, обычно, совместным применением более быстро сходящихся к решению численных методов и распараллеливания вычислений. Особенный интерес представляет метод Марквардта, содержащий параметр, позволяющий ускорить решение путем переключения метода: от наискорейшего спуска вдали от решения до метода Ньютона вблизи решения. Предлагается модификация метода Марквардта, использующая для улучшения текущей точки и вычисления параметра метода ограниченные серии случайных проб. Показаны достаточно хорошие характеристики метода в численных экспериментах, как на тестовых функциях Химмельблау и Розенброка, так и на реальной задаче обучения нейросетевого предиктора, используемого при моделировании турбулентных течений. Применение данного метода позволяет существенно ускорить обучение нейросетевого предиктора в поправочных моделях турбулентной вязкости. Метод менее трудоемок в сравнении с чистым случайным поиском, особенно при небольшом количестве вычислительных ядер, при этом дает решение, достаточно близкое к результату случайного поиска и лучшее в сравнении с исходным методом Марквардта.
Abstract: The subject of this article is the numerical optimization techniques used in training neural networks that serve as predicate components in certain modern eddy viscosity models. Qualitative solution to the problem of training (minimization of the functional of neural network offsets) often requires significant computational costs, which necessitates to increase the speed of such training based on combination of numerical methods and parallelization of calculations. The Marquardt method draws particular interest, as it contains the parameter that allows speeding up the solution by switching the method from the descent away from the solution to the Newton’s method of approximate solution. The article offers modification of the Marquardt method, which uses the limited series of random samples for improving the current point and calculate the parameter of the method. The author demonstrate descent characteristics of the method in numerical experiments, both on the test functions of Himmelblau and Rosenbrock, as well as the actual task of training the neural network predictor applies in modeling of the turbulent flows. The use of this method may significantly speed up the training of neural network predictor in corrective models of eddy viscosity. The method is less time-consuming in comparison with random search, namely in terms of a small amount of compute kernels; however, it provides solution that is close to the result of random search and is better than the original Marquardt method.
Пекунов В.В. —
Индукция правил трансформации естественно-языковой постановки задачи в смысловую модель порождения решающей программы
// Программные системы и вычислительные методы. – 2020. – № 3.
– С. 29 - 39.
DOI: 10.7256/2454-0714.2020.3.33789
URL: https://e-notabene.ru/itmag/article_33789.html
Читать статью
Аннотация: В данной работе рассматривается проблема автоматического синтеза (индукции) правил преобразования естественно-языковой постановки задачи в смысловую модель задачи, по которой может быть порождена решающая данную задачу программа. Данная проблема рассматривается применительно к системе порождения, распознавания и трансформации программ PGEN++. На основании анализа литературных источников выбран комбинированный подход к решению данной проблемы, в рамках которого правила преобразования естественно-языковой постановки в смысловую модель задачи генерируются автоматически, а спецификации порождающих классов и правила порождения программы по модели пишутся вручную, специалистом в конкретной предметной области. В рамках объектно-событийных моделей впервые предложен механизм автоматической генерации распознающих скриптов и сопутствующих им сущностей (CSV-таблиц, XPath-функций). Генерация производится на основании анализа обучающей выборки, включающей предложения, описывающие объекты предметной области, в сочетании с экземплярами таких объектов. Анализ выполняется путем поиска уникальных ключевых слов и характерных грамматических отношений с последующим применением простых элиминативно-индуцирующих схем. Также предложен механизм автоматической генерации правил восполнения/достраивания первичных распознанных моделей до полноценных смысловых. Такая генерация выполняется путем анализа отношений между объектами обучающей выборки с учетом информации из спецификаций классов предметной области. Предложенные схемы опробованы на предметной области "Простая обработка векторных данных", показана успешная трансформация естественно-языковых постановок (как входящих в обучающую выборку, так и модифицированных) в смысловые модели с последующим порождением решающих поставленные задачи программ.
Abstract: The author considers a problem of automatic synthesis (induction) of the rules for transforming the natural language formulation of the problem into a semantic model of the problem. According to this model a program that solves this problem can be generated. The problem is considered in relation to the system of generation, recognition and transformation of programs PGEN ++. Based on the analysis of literary sources, a combined approach was chosen to solve this problem, within which the rules for transforming the natural language formulation into a semantic model of the problem are generated automatically, and the specifications of the generating classes and the rules for generating a program from the model are written manually by a specialist in a specific subject area. Within the framework of object-event models, for the first time, a mechanism for the automatic generation of recognizing scripts and related entities (CSV tables, XPath functions) was proposed. Generation is based on the analysis of the training sample, which includes sentences describing objects in the subject area, in combination with instances of such objects. The analysis is performed by searching for unique keywords and characteristic grammatical relationships, followed by the application of simple eliminative-inducing schemes. A mechanism for the automatic generation of rules for replenishing / completing the primary recognized models to full meaning ones is also proposed. Such generation is performed by analyzing the relations between the objects of the training sample, taking into account information from the specifications of the classes of the subject area. The proposed schemes have been tested on the subject area "Simple vector data processing", the successful transformation of natural language statements (both included in the training set and modified) into semantic models with the subsequent generation of programs solving the assigned tasks is shown.
Пекунов В.В. —
Сверхоптимистичные вычисления: концепция и апробация в задаче о моделировании электростатической линзы
// Программные системы и вычислительные методы. – 2020. – № 2.
– С. 37 - 44.
DOI: 10.7256/2454-0714.2020.2.32232
URL: https://e-notabene.ru/itmag/article_32232.html
Читать статью
Аннотация: Предметом исследования является возможность распараллеливания циклов с зависимыми витками и телом, в котором порядок исполнения операторов строго определен. Такие циклы достаточно часто встречаются, например, в задачах численного моделирования методом частиц в ячейках, где на первой стадии исполнения тела цикла обрабатываются частицы и вычисляется некое определяемое ими поле, а на второй стадии решается дифференциальное уравнение в частных производных, зависимое от этого поля. Возможность распараллеливания тел таких циклов в настоящее время недостаточно освещена в литературе, данная тема является актуальной. Используются идеи применения прогнозирующих (авторегрессионных точечных) каналов в программной транзакционной памяти. Реализация построена с применением объектно-ориентированного программирования. Впервые сформулирована концепция сверхоптимистичных вычислений, то есть работы с прогнозирующими каналами в условиях частично транзакционной памяти. Предложены механизмы реализации частично транзакционной памяти, адаптированные к применению каналов. Предложена схема распараллеливания линейно исполняемых тел циклов (с зависимыми витками) на базе сверхоптимистичных вычислений, показана ее оправданность на примере решения задачи о моделировании пучка заряженных частиц в электростатической линзе.
Abstract: The subject of research is the possibility of parallelizing loops with dependent iterations and a body, in which the order of execution of operators is strictly defined. Such loops are quite often encountered, for example, in problems of numerical simulation by the method of particles in cells, where at the first stage of the cycle body execution the particles are processed and a certain field determined by them is calculated, and at the second stage a partial differential equation dependent on this field is solved. The possibility of parallelizing the bodies of such cycles is currently insufficiently covered in the literature, this topic is relevant. The ideas of applying predictive (autoregressive point) channels in the programmed transactional memory are used. The implementation is built using object-oriented programming. For the first time, the concept of super-optimistic computing was formulated, that is, working with predictive channels in conditions of partially transactional memory. Mechanisms for the implementation of partially transactional memory, adapted to the use of channels, are proposed. A scheme for parallelizing linearly executed cycle bodies (with dependent loops) on the basis of super-optimistic calculations is proposed, its justification is shown on the example of solving the problem of modeling a beam of charged particles in an electrostatic lens.
Пекунов В.В. —
Моделирование поглощения газообразного SO2 каплями тумана с применением уточненной интерполяционно-секционной капельной модели
// Кибернетика и программирование. – 2020. – № 2.
– С. 19 - 32.
DOI: 10.25136/2644-5522.2020.2.33914
URL: https://e-notabene.ru/kp/article_33914.html
Читать статью
Аннотация: В работе рассматривается проблема численного моделирования взаимодействия выделяемого автотранспортом газообразного диоксида серы с туманом в условиях повышенной влажности. Для этого применяется многофакторная двухфазная математическая модель, учитывающая динамику турбулентной основной фазы, динамику и кинетику многосекционной капельной фазы, наличие тепловых неоднородностей, образующихся в результате действия прямого и диффузного солнечного излучения в различных диапазонах, диффузию диоксида серы и его поглощение каплями тумана. Выполняется численное решение соответствующей задачи в системе моделирования экологических процессов AirEcology-P, позволяющей сгенерировать оптимальный решающий код для конкретной математической модели. Предложенная комплексная математическая модель, описывающая взаимодействие выделяющегося газообразного диоксида серы с каплями тумана, является новой. В данной модели уточнен расчет кинетики капельной фазы за счет учета дополнительного фактора слияния капель, характерного для тумана. Подмодель капельной фазы проверена в численных экспериментах (результаты сравнивались с данными прямого лагранжева моделирования популяции из 1000 капель), показаны достаточно хорошие результаты по точности. Получены результаты численного моделирования взаимодействия выделяющегося SO2 с каплями. Показано наличие самоочистки атмосферы, степень которой коррелирует с начальной концентрацией мельчайших капель и с высотой от поверхности.
Abstract: This article examines the problem of numerical simulation of interaction between the gaseous sulfur dioxide emitted by road transport and fog in the conditions of high humidity. For this purpose, the author applies a multi-factor two-phase mathematical model, which takes into account the dynamics of turbulent main phase, dynamics and kinetics of the multi-sectional droplet phase, presence of thermal inconsistencies formed as a result of direct and diffused solar radiation in various ranges, diffusion of sulfur dioxide, and its absorption by the fog droplets. The article carries out a numerical calculation of the corresponding task within the modeling system of environmental processes AirEcology-P, which allows generating the optimal calculation code for a particular mathematical model. The proposed complex mathematical model that descries interaction between the emitted sulfur dioxide gas and the fog droplets is new; it specifies the calculation of the kinetics of droplet phase based on consideration of the additional factor of droplet fusion characteristic to fog. The submodel of the droplet phase was tested in the numerical simulation (the results were compared with the data of direct Lagrangian modeling of the composite of 1,000 droplets), indicating decent accuracy results. The article obtains the results of numerical simulation of interaction between the emitted SO2 and the droplets. The author demonstrates the self-cleaning ability of the atmosphere, the degree of which correlates with the initial concentration of the smallest droplets and the height from the surface.
Пекунов В.В. —
Уточненный расчет распределений капель при моделировании атмосферных многофазных сред
// Программные системы и вычислительные методы. – 2019. – № 4.
– С. 95 - 104.
DOI: 10.7256/2454-0714.2019.4.30707
URL: https://e-notabene.ru/itmag/article_30707.html
Читать статью
Аннотация: В данной работе рассматривается проблема повышения точности поиска адекватных распределений капель при численном моделировании многофазных сред, включающих капельную фазу. Данная проблема особенно актуальна при расчете распределений с разрывами, возникающих при межъячеечном переносе капель, обладающих собственной скоростью, а также при наличии резких выбросов капель, например техногенного характера. Задачи такого рода часто встречаются при расчете процессов образования и распространения загрязнителей в воздушной среде, в частности при моделировании кислотных дождей. Проблема построения распределений рассматривается с применением методов вычислительной математики (теории интерполяции), с учетом физических законов сохранения массы и количества капель. Используются элементы метода моментов (метода Хилла) и секционного подхода к моделирования капельной фазы. Предлагается новый подход к моделированию распределений капель путем кусочно-сплайновой интерполяции по плотности и концентрации капельных компонентов, также опираясь на построенные предварительные кусочно-линейные распределения. Результаты сравнивались с данными, полученными прямым моделированием множества капель, а также с данными, полученными с применением исключительно кусочно-линейных распределений. Продемонстрирована более высокая точность предложенного подхода в сравнении с исходной методикой, использующей лишь кусочно-линейные распределения. Показана достаточно высокая скорость расчета в сравнении с лагранжевым подходом.
Abstract: In this article the author considers the problem of increasing the accuracy of the search for adequate droplet distributions in the numerical simulation of multiphase media including the droplet phase. This problem is especially relevant when calculating the distributions with discontinuities that occur during intercellular droplet transfer, which have their own speed, as well as in the presence of sharp drops droplets, for example, of a technogenic nature. Tasks of this kind are often encountered in calculating the processes of formation and spread of pollutants in the air, in particular when modeling acid rain. The problem of constructing distributions is considered using the methods of computational mathematics (theory of interpolation), taking into account the physical laws of conservation of mass and number of drops. The elements of the method of moments (Hill method) and the sectional approach to modeling the droplet phase are used. A new approach is proposed for modeling droplet distributions by piecewise spline interpolation according to the density and concentration of droplet components, also relying on the constructed preliminary piecewise linear distributions. The results were compared with data obtained by direct modeling of many drops, as well as data obtained using exclusively piecewise linear distributions. The higher accuracy of the proposed approach is demonstrated in comparison with the original method using only piecewise linear distributions and a rather high calculation speed is shown in comparison with the Lagrangian approach.
Пекунов В.В. —
Предицирующие каналы в параллельном программировании: возможное применение в математическом моделировании процессов в сплошных средах
// Программные системы и вычислительные методы. – 2019. – № 3.
– С. 37 - 48.
DOI: 10.7256/2454-0714.2019.3.30393
URL: https://e-notabene.ru/itmag/article_30393.html
Читать статью
Аннотация: В данной работе рассматривается проблема применения предикции в классическом и параллельном программировании задач математического моделирования, основанных на численном интегрировании дифференциальных уравнений в частных производных. Предикция может использоваться для замены фрагментов математической модели более простыми приближенными соотношениями, для опережающего прогнозирования значений принимаемых в ходе параллельного счета данных, для прогнозирования времени исполнения фрагментов параллельной программы при решении вопроса о применении последовательного или параллельного алгоритма и при балансировке загрузки отдельных процессоров вычислительной системы. Для формализации видов предикторов и определения математических соотношений, позволяющих их вычислить, используются подходы и методы вычислительной математики (теории интерполяции и экстраполяции). Для определения программных реализаций предикторов используются подходы, характерные для инженерии параллельного программирования. Полученные результаты проверяются экспериментально. В работе впервые предложен новый вид технологических средств предикции для использовании в параллельном программировании – предикционно-решающие каналы. Предложены два вида каналов – авторегрессионные точечные и линейные (явные или неявные) коллективного решения. Изложены математические аспекты предикции в таких каналах, кратко описаны базовые средства программирования. Показано, что совмещение каналов со средствами предсказания данных упрощает программирование ряда алгоритмов, связанных с численным моделированием, и позволяет, в частности, осуществлять скрытые переходы от явных разностных схем к неявным, отличающихся большей устойчивостью счета, а также от последовательных алгоритмов счета к параллельным. На примере задачи численного интегрирования нестационарного уравнения теплопроводности показано, что адекватное применение каналов в ряде случаев позволяет ускорить расчет на многоядерных вычислительных системах.
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.
Пекунов В.В. —
О некоторых свойствах процедур с планированием повторного входа. Язык Planning C
// Кибернетика и программирование. – 2019. – № 1.
– С. 60 - 65.
DOI: 10.25136/2644-5522.2019.1.25522
URL: https://e-notabene.ru/kp/article_25522.html
Читать статью
Аннотация: В данной статье анализируются описательные возможности процедур и функций с планированием повторного входа. Процедура/функция с планированием повторного входа отличается от обычной процедуры/функции наличием динамически пополняемого (как изнутри, так и извне) плана исполнения. Это достаточно новый формализм, теоретические и практические свойства которого до сих пор мало освещены в научной литературе. Особое внимание уделяется языку программирования Planning C, в полной мере реализующему процедуры и функции с планированием повторного входа. Описательные возможности процедур/функций с планированием повторного входа рассматриваются как теоретически, с применением расширенных машин Тьюринга, так и конструктивно, путем построения эквивалентов базовых алгоритмических управляющих конструкций на базе данных процедур. Новизна состоит в доказательстве представимости любых последовательных и параллельных алгоритмов с помощью данных процедур. Предлагается применение Planning C, реализующего такие процедуры/функции, для решения трудоемких задач вычислительной математики на параллельных вычислительных системах. Показана возможность его применения при решении задачи обучения глубоких нейронных сетей.
Abstract: The article analyzes the descriptive capabilities of procedures and functions with re-entry planning. A procedure / function with re-entry scheduling differs from the usual procedure / function by the presence of a dynamically updated (from both inside and outside) plan of execution. This is a fairly new formalism, the theoretical and practical properties of which are still poorly covered in the scientific literature. Special attention is paid to the Planning C programming language, which fully implements the procedures and functions with re-entry planning. Descriptive features of procedures / functions with re-entry planning are considered both theoretically, using extended Turing machines, and constructively, by building equivalents of basic algorithmic control structures based on these procedures. The novelty consists in proving the representability of any sequential and parallel algorithms using these procedures. It is proposed to use Planning C, which implements such procedures / functions, for solving time-consuming problems of computational mathematics on parallel computing systems. The possibility of its use in solving the problem of learning deep neural networks is shown.
Пекунов В.В. —
Применение предикции при параллельной обработке цепочек предикатов в регулярно-логических выражениях
// Кибернетика и программирование. – 2018. – № 6.
– С. 48 - 55.
DOI: 10.25136/2644-5522.2018.6.27986
URL: https://e-notabene.ru/kp/article_27986.html
Читать статью
Аннотация: В данной работе рассматривается проблема выбора режима исполнения (последовательный или параллельный) при обработке цепочек предикатов в регулярно-логических выражениях. Дано краткое описание сути регулярно-логических выражений, их известных применений (естественно-языковые интерфейсы, автоматический параллелизатор C-программ), видов и состава цепочек предикатов. Особое внимание уделяется вопросу предикции временных затрат при обработке цепочек в том или ином режиме. Подробно рассматриваются различные подходы к такой возможной предикции. Отмечено, что в данном случае наиболее естественнен полуэмпирико-статистический подход. В работе используются основные соотношения теории параллельных вычислений, методы интерполяции и экстраполяции, вычислительного эксперимента, элементы статистической обработки. Предлагается новый полуэмпирико-статистический подход к решению проблемы вычисления оценок времени исполнения цепочек предикатов. Подход отличается минимальным количеством замеров времени, достигнутым с помощью частичного восстановления недостающих данных, и применением потенциально более точных линейных авторегрессионных и квадратичных моделей для вычисления предполагаемого времени исполнения в последовательном или параллельном режимах.
Abstract: This paper addresses the problem of choosing the execution mode (sequential or parallel) when processing chains of predicates in regular-logic expressions. A brief description of the essence of regular-logical expressions, their known applications (natural language interfaces, automatic parallelizer of C-programs), types and composition of predicate chains is given. Particular attention is paid to the question of the prediction of time spent on processing chains in one mode or another. Various approaches to such a possible prediction are considered in detail. It is noted that in this case the semi-empirical-statistical approach is the most natural. The paper uses the basic relations of the theory of parallel computing, interpolation and extrapolation methods, computational experiment, elements of statistical processing. A new semi-empirical-statistical approach to solving the problem of calculating estimates of the execution time of chains of predicates is proposed. The approach is distinguished by the minimum amount of time measurement achieved using partial recovery of missing data, and the use of potentially more accurate linear autoregressive and quadratic models to calculate the estimated execution time in sequential or parallel modes.
Пекунов В.В. —
Автоматическое распараллеливание C-программ с применением директив Cilk++ на базе распознающих объектно-событийных моделей
// Программные системы и вычислительные методы. – 2018. – № 4.
– С. 124 - 133.
DOI: 10.7256/2454-0714.2018.4.28086
URL: https://e-notabene.ru/itmag/article_28086.html
Читать статью
Аннотация: В данной работе рассматривается проблема автоматического распараллеливания C-программ (преимущественно вычислительного характера) с применением директив Cilk++, с помощью ограниченного набора которых может быть явно выражен параллелизм по задачам. Для решения данной проблемы формулируется концепция распознающих объектно-событийных моделей, потенциально способных к разбору и трансформации произвольных текстов. Данная концепция является развитием предложенной автором ранее теории объектно-событийных моделей, которые, в предельной постановке, эквивалентны расширенным машинам Тьюринга. Используется общий подход теории объектно-событийных моделей, утверждающей возможность описания произвольных алгоритмов с помощью указанных моделей. Предлагается технология анализа и трансформации как структурированных, так и неструктурированных текстов с применением распознающих объектно-событийных моделей. Предложена стратегия автоматического распараллеливания C-программ с применением директив Cilk++, основывающаяся на указанной технологии. На примере автоматического распараллеливания простой вычислительной программы получены данные об ускорении и эффективности распараллеливания. Утверждается, что разработанная технология может использоваться в составе системы порождения программ для распараллеливания сгенерированных программ.
Abstract: In this paper, the author considers the problem of automatic parallelization of C programs (mainly computational) with the use of Cilk ++ directives, with the help of a limited set of which parallelism in tasks can be clearly expressed. To solve this problem, the concept of recognizing object-event models, potentially capable of parsing and transforming arbitrary texts, is formulated. This concept is a development of the theory of object-event models proposed by the author earlier, which, in the marginal formulation, are equivalent to advanced Turing machines. A general approach of the theory of object-event models is used, which asserts the possibility of describing arbitrary algorithms using these models. The technology of analysis and transformation of both structured and non-structured texts with the use of recognizing object-event models is proposed. A strategy is proposed for automatic parallelization of C programs using Cilk ++ directives based on this technology. Using the example of automatic parallelization of a simple computing program, data on acceleration and efficiency of parallelization are obtained. It is argued that the developed technology can be used as part of a program generating system for parallelizing the generated programs.