Solution of applied problems in the parallel programming system aspect | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2018. № 45. DOI: 10.17223/19988605/45/7

Solution of applied problems in the parallel programming system aspect

Modern supercomputers have a complex heterogeneous architecture, which can include in various combinations CPU, GPU, DSP, ASIC, PLD, etc. It is difficult to efficiently use all these hardware resources with the available software tools for developing parallel programs, therefore further development of automated high-level parallel programming systems is an actual task. Programming system Aspect is an experimental system of parallel programming developed at the Institute of Computational Mathematics and Mathematical Geophysics of the Siberian Branch of the Russian Academy of Sciences and designed to study new forms of representation of algorithms and methods for specifying control in a parallel programs. It is based on an asynchronous model of computation controlled by strict partial order and fragmented programming as a way of developing parallel programs. System Aspect consists of a translator from the Aspect language and the executive subsystem. The essence of the fragmented programming is to represent an algorithm and its implementing program as a set of data fragments and code fragments. In the course of execution, the fragmented structure of a program is kept. Each code fragment is supplied with a set of input data fragments (formal parameters) used to compute output data fragments. The substitution of data fragments as parameters into a code fragment is referred to as applying a code fragment to data fragments (the same code fragment may be applied to different data fragments). The code fragment with its input and output data fragments constitutes a computation fragment. On the set of computation fragments, a partial order (control scheme) is defined. The resulting program is created from such computation fragments. Aspect language for computations control was developed to implement fragmented programming on practice. In that language, code fragments and data fragments are defined in existing procedural programming language (currently only C++ is supported), while special constructs are used to define computation fragments and dependencies between them. The construction of control scheme is based on two key features: strict partial order and explicit support of massive control schemes. Computation fragments that do not have explicitly specified dependencies are considered independent and can be executed simultaneously. Fragmented algorithms for solving LU-matrix decomposition problem, estimating the mathematical expectations of additive func-tionals from the trajectories of diffusion processes problem, and the interaction of a short laser impulse with plasma by the "particle-in-cell" method were developed and implemented in the Aspect system. The results of experiments on the HP ProLiant DL580 G5 shared memory system (4 Intel Xeon X7350 processors, 16 cores, 256 GB RAM) showed that due to the locality of the data fragments and the efficient use of cache memory, fragmented programs allow achieving acceleration, close to linear, and provide good scalability. Experiments also showed that Aspect system does not introduce significant delays and does not require significant overhead for the execution of fragmented program. Fragmentation of the algorithm may require its significant modification, and, therefore, cannot be performed automatically. This is a price for the good properties of fragmented programs.

Download file
Counter downloads: 202

Keywords

система параллельного программирования Аспект, фрагментированное программирование, представление алгоритмов с высокой степенью непроцедурности, parallel programming system Aspect, technology of fragmented programming, representation of algorithms with high degree of nonprocedurality

Authors

NameOrganizationE-mail
Arykov Sergey BorisovichInstitute of Computational Mathematics and Mathematical Geophysics of Siberian Branch of Russian Academy of Science; Novosibirsk State Technical Universityarykov@sscc.ru
Всего: 1

References

Абрамов С.М., Кузнецов А.А., Роганов В.А. Кроссплатформенная версия T-системы с открытой архитектурой // Вычисли тельные методы и программирование. 2007. Т. 8, № 1. С. 175-180.
Бахтин В.А., Клинов М.С., Крюков В.А., Поддерюгина Н.В., Притула М.Н., Сазанов Ю.Л. Расширение DVM-модели па раллельного программирования для кластеров с гетерогенными узлами // Вестник Южно-Уральского государственного университета. Сер. Математическое моделирование и программирование. 2012. № 18, вып. 12. С. 82-92.
Андрианов А.Н., Бугеря А.Б., Ефимкин К.Н., Колударов П.И. Модульная архитектура компилятора языка Норма+ // Пре принты ИПМ им. М. В. Келдыша. 2011. № 064. 16 с.
Lastovetsky A. Adaptive parallel computing on heterogeneous networks with mpC // Parallel Computing. 2002. V. 28, No. 10. P. 1369-1407.
Kasyanov V.N., Stasenko A.P. A functional programming system SFP: Sisal 3.1 language structures decomposition // LNCS. 2007. V. 4671. P. 62-73.
Легалов А.И. Функциональный язык для создания архитектурно--независимых параллельных программ // Вычислительные технологии. 2005. Т. 10, № 1. С. 71-89.
Штейнберг Б.Я., Абрамов А.А., Алымова Е.В., Баглий А.П., Гуда С.А., Дубров Д.В., Кравченко Е.Н., Морылев Р.И., Нис З.Я., Петренко В.В., Полуян С.В., Скиба И.С., Шаповалов В.Н., Штейнберг О.Б., Штейнберг Р.Б., Юрушкин М. Диалоговый высокоуровневый автоматический распараллеливатель (ДВОР) // Труды Всероссийской суперкомпьютерной конференции «Научный сервис в сети Интернет» (Новороссийск, 20-26 сентября 2010 г.). М. : Изд-во МГУ, 2010. С. 7175.
Востокин С.В., Литвинов В.Г., Хайрутдинов А.Р. Применение комплекса параллельного программирования Graphplus tem plet в моделировании // Программные продукты и системы. 2012. № 3. С. 14-18.
Arykov S.B., Malyshkin V.E. Asynchronous Language and System of Numerical Algorithms Fragmented Programming // LNCS. 2009. Vol. 5698. P. 1-7.
Арыков С.Б. Асинхронная модель вычислений над общей памятью // Вестник УГАТУ. 2016. Т. 20. № 3. С. 114-121.
Арыков С.Б. Фрагментированное программирование численных задач // Сборник научных статей VII Международной научно-практической конференции «Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов» (Барнаул, 10-11 марта 2017 г.). Барнаул : Изд-во Алт. ун-та, 2017. С. 20-24.
Арыков С.Б. Асинхронное программирование численных задач // Параллельные вычислительные технологии (ПаВТ'2010) : труды международной научной конференции (Уфа, 29 марта - 2 апреля 2010 г.). Челябинск : Изд. центр ЮУрГУ, 2010. С. 28-39.
Arykov S. Defining Order of Execution in Aspect Programming Language // LNCS. 2017. V. 10421. P. 265-271.
Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. 2-е изд. М. : Наука, 1963. 656 с.
Михайлов Г.А., Войтишек А.В. Численное статистическое моделирование. Методы Монте-Карло. М. : Академия, 2006. 368 с.
Марченко М.А., Михайлов Г.А. Весовые алгоритмы статистического моделирования диффузионных процессов // Журнал вычислительной математики и математической физики. 2003. Т. 43, № 4. С. 571-584.
Марченко М.А. Комплекс программ MONC для распределенных вычислений методом Монте-Карло // Сибирский журнал вычислительной математики. 2004. Т. 7, № 1. С. 43-55.
Григорьев Ю.Н., Вшивков В.А., Федорук М.П. Численное моделирование методами частиц-в-ячейках. Новосибирск : Изд-во СО РАН, 2004. 360 с.
Вшивков В.А., Вшивков К.В., Дудникова Г.И. Алгоритмы решения задачи взаимодействия лазерного импульса с плазмой // Вычислительные технологии. 2001. Т. 6, № 2. С. 47-63.
 Solution of applied problems in the parallel programming system aspect | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2018. № 45. DOI: 10.17223/19988605/45/7

Solution of applied problems in the parallel programming system aspect | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2018. № 45. DOI: 10.17223/19988605/45/7

Download full-text version
Counter downloads: 958