Научная статья на тему 'ВОССТАНОВЛЕНИЕ ГРАФА ПАРАЛЛЕЛЬНОЙ ПРОГРАММЫ ПО ИСТОРИЧЕСКИМ ДАННЫМ'

ВОССТАНОВЛЕНИЕ ГРАФА ПАРАЛЛЕЛЬНОЙ ПРОГРАММЫ ПО ИСТОРИЧЕСКИМ ДАННЫМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
17
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ / ПЛАНИРОВАНИЕ ЗАДАЧ / ОПТИМИЗАЦИЯ РАЗМЕЩЕНИЯ / РАБОЧИЙ ПРОЦЕСС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семенистый Сергей Александрович, Сельвесюк Николай Иванович, Платошин Георгий Александрович

В статье рассмотрен метод восстановления графа параллельной программы на основе собираемых вычислительными узлами исторических данных об использовании ресурсов в распределенной системе с целью повышения качества планирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Семенистый Сергей Александрович, Сельвесюк Николай Иванович, Платошин Георгий Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RECOVERY OF A PARALLEL PROGRAM GRAPH FROM HISTORICAL DATA

The article considers a method for restoring a graph of a parallel program based on historical data collected by computing nodes on the use of resources in a distributed system in order to improve the quality of planning.

Текст научной работы на тему «ВОССТАНОВЛЕНИЕ ГРАФА ПАРАЛЛЕЛЬНОЙ ПРОГРАММЫ ПО ИСТОРИЧЕСКИМ ДАННЫМ»

Молчанов Андрей Сергеевич, канд. техн. наук, доцент, начальник отдела (старший инженер-испытатель), andryoe@yandex.ru, Россия, Ахтубинск, Войсковая часть 15650,

Солохин Сергей Владимирович, научный сотрудник, solohin64@mail.ru, Россия, Ахтубинск, Войсковая часть 15650

FLIGHT TEST PLANNING MODEL COMMAND RADIO LINK FOR CONTROL AND CONTROL UNMANNED AERIAL VEHICLE

I.G. Rastegaev, A.S. Molchanov, S.V. Solokhin

The article considers a model that allows planning performance checks of the UAV command and control radio link during flight tests of the complex under conditions of a limited number offlight experiments by increasing their information content.

Key words: unmanned aerial vehicle, command and control radio link, communication channel performance, flight tests.

Rastegaev Ivan Gennadievich, head of department (senior test engineer), kblatest@mail.ru, Russia, Akhtubinsk, Military unit 15650,

Molchanov Andrey Sergeevich, candidate of technical sciences, docent, head of department (senior test engineer), andryoe@yandex.ru, Russia, Akhtubinsk, Military unit 15650,

Solokhin Sergey Vladimirovich, researcher, solohin64@mail.ru, Russia, Akhtubinsk, Military unit

15650

УДК 004.7

DOI: 10.24412/2071-6168-2022-9-201-205

ВОССТАНОВЛЕНИЕ ГРАФА ПАРАЛЛЕЛЬНОЙ ПРОГРАММЫ ПО ИСТОРИЧЕСКИМ ДАННЫМ

С.А. Семенистый, Н.И. Сельвесюк, Г.А. Платошин

В статье рассмотрен метод восстановления графа параллельной программы на основе собираемых вычислительными узлами исторических данных об использовании ресурсов в распределенной системе с целью повышения качества планирования.

Ключевые слова: распределенные вычисления, планирование задач, оптимизация размещения, рабочий процесс.

Планирование выполнения параллельных программ в распределенных вычислительных системах (РВС) является важным элементом управления вычислительным процессом, обеспечивающим как требуемые показатели эффективности использования вычислительных ресурсов, так и временные характеристики выполнения программ [1-8]. При этом для многих методов планирования требуется наличие заранее заданного графа параллельной программы, который, в некоторых случаях, может быть недоступен. Однако, как было отмечено в [9] возможно восстановления графа параллельной программы по историческим данным, собираемым средствами управления РВС в процессе фактического исполнения программы. Для реализации такой возможности необходимо решить следующие задачи:

- определить необходимую номенклатуру и объем исторических данных о выполнении параллельной программы;

- определить применимые алгоритмы формирования графа параллельной программы, обеспечивающие выполнение требований по производительности и ресурсоемкости.

В общем случае, граф параллельной программы можно представить, как кватернион G = (V,Е, Д Ж), где V = \у! 11 = 1 ...и} - множество подзадач, Е = ^ у | 1 = 1...П,' = 1 ...и} - множество связей, Ж = ^1 11 = 1...и} - вычислительная сложность подзадач,

В = К,у I

1 = 1 ...и, у' = 1 ...и} - объемы передаваемых данных между подзадачами.

В распределенной системе, как правило, известны производительности вычислительных узлов и пропускная способность каналов связи между узлами, которые непосредственно влияют на время выполнения подзадач и на время передачи данных между подзадачами. Так как в первом приближении

время выполнения подзадачи у., размещенной на узле Rj ^(у.) = )

где

(у.) -

вычислительная

сложность подзадачи у., p(Rj ) - вычислительная мощность узла Rj . Таким образом, при известном

времени выполнения подзадачи на вычислительном узле известной мощности определить ее вычислительную сложность не составляет труда. То есть, в идеальном случае, достаточно однократного выполнения параллельной программы для получения требуемых показателей.

Однако, при реальном выполнении параллельной программы при различных вариантах размещения подзадач в РВС, при чувствительности подзадач к обрабатываемым данным (зависимости вычислительной сложности не только от объема входных данных, но и, в значительной степени, от их содержания) в показателях времени будут наличествовать существенный разброс.

Таким образом, для анализа могут быть доступны следующие данные:

- время выполнения каждой из подзадач на различных вычислительных узлах у.);

- процент загрузки центрального процессора подзадачей и (у., Rj );

- объем оперативной памяти, используемой подзадачей;

- объем дискового пространства, используемого подзадачей;

- объем передачи данных (входящий и исходящий сетевой трафик) между подзадачами с использованием различных каналов связи внутри РВС w(ei j ).

В классических алгоритмах планирования [10-16], обычно, показатели потребления оперативной памяти и дискового пространства не используется. Таким образом, ключевыми показателями являются время выполнения подзадач, потребление ресурсов центрального процессора и сетевой трафик, соотнесенный с конкретными отправителями и получателями на каждом из вычислительных узлов.

На рис. 1 приведен пример графа задачи, состоящего из 5 подзадач, размещенного РВС, состоящей из 4 вычислительных узлов. На рисунке отражены усредненные результаты измерений времени выполнения подзадач, среднего потребления ресурсов процессора подзадачами и трафика между подзадачами. Вычислительная мощность узлов известна исходя из конфигурации РВС.

Рис. 1. Пример ациклического графа задачи, размещенного на РВС с результатами измерений

На основании представленных в примере на рис. 1 данных можно сделать вывод о средней вычислительной сложности подзадач. Если все измерения проводились без изменения размещения подзадач, то формула для вычисления вычислительной сложность подзадачи будет иметь следующий вид.

w{Уi ) = ^ )• ))• и(у., R(уi)) Ш

Например, для подзадачи №3 вычислительная сложность

w(vз ) = 25с • 1500FLOPS • 0,6 = 22500ГЮР.

Для значительного количества распределенных приложений может возникнуть одна или несколько из следующих проблем:

- разброс показателей между разными сеансами работы может быть столь большим, что усреднение показателей полностью лишит их смысла с точки зрения предсказания времени выполнения подзадач в других сеансах;

- потоки данных между подзадачами могут быть двунаправленными или образовывать циклы, что приведет к невозможности построения ациклического графа на основе этих данных;

- сеансы работы, на основе которых получены показатели могут быть нетипичными для данного приложения и тогда построенный граф и вычисленные сложности подзадач окажутся неактуальными, что приведет к неверному планированию.

В случае значительного разброса регистрируемого показателя, при условии, что показатель подчиняется нормальному закону распределение вероятностей или близкому к нему, разумно использовать центр распределения вместо среднего значения по выборке. Также следует избавиться от выбросов в выборке, которые могут исказить картину.

В ситуации, когда имеются циклы в получаемом графе задачи, можно в ряде случаев избавится от них, ограничив нижний порог трафика, который будет считаться значимым. Например, если более 95% связей между подзадачами передают объем данных более 10 МБ, а менее 5% - до 10 кБ, то этими 5% можно пренебречь, так как на фоне остального трафика их вклад в общую вычислительную сложность всего приложения незначителен. Аналогичным образом можно пренебречь связями, образующими циклы: если трафик по прямой нити у ^ V- +1 ^... ^ Vп_1 ^ Уп много больше трафика по обратной

нити уп ^ Уп_1 ^ ...у-+1 ^ VI, то вторая нить так же может быть отброшена.

На рис. 2 приведен пример графа задачи, содержащего циклы. Это вполне типично, например, для приложений, активно работающих с базами данных (БД), когда поток данных на добавление или изменение в БД сопоставим с потоком данных возвращаемых БД.

В таком случае классические методы оптимизации размещения, ориентированные на ациклический граф задачи, не могут быть применены, несмотря на то, что вычислительную сложность подзадач все еще можно рассчитать исходя из полученных показателей.

60 КБ

Рис. 2. Пример графа задачи, содержащего циклы, размещенного на РВС с результатами измерений

В заключение можно отметить, что в статье рассмотрен метод восстановления графа параллельной программы на основе исторических данных, собираемых вычислительными узлами РВС в процессе выполнения программы. Данный метод позволяет в некоторых случаях получить сведения о параллельной программе, необходимые для применения классических методов планирования, что, в свою очередь, обеспечивает применимость этих методов для повышения качества планирования в РВС.

Список литературы

1. Hwang K., Jotwani N. Advanced computer architecture: parallelism, scalability, programmability. New York: McGraw-Hill, 1993. 794 p.

2. Yingbo L., Jianmin W., Jiaguang S. Using Decision Tree Learning to Predict Workflow Activity Time Consumption //Proceedings of the Ninth International Conference on Enterprise Information Systems (ICEIS 2007). 2007. P. 69-75.

3. Gritsenko A. V., Demurchev N. G., Kopytov V. V., Shulgin A. O. Decomposition analysis and machine learning in a workflow-forecast approach to the task scheduling problem for high-loaded distributed systems // Modern Applied Science. 2015. V. 9 (5). P. 38-49.

4. Da Silva R. F., Juve G., Rynge M., Deelman E., Livny M. Online task resource consumption prediction for scientific workflows //Parallel Processing Letters. 2015. V. 25 (3). P. 1541003.

5. Pham T. P., Durillo J. J., Fahringer T. Predicting workflow task execution time in the cloud using a two-stage machine learning approach //IEEE Transactions on Cloud Computing. 2017. V. 8 (1). P. 256-268.

6. Singh A., Rao A., Purawat S., Altintas I. A machine learning approach for modular workflow performance prediction // Proceedings of the 12th workshop on workflows in support of large-scale science. 2017. P. 1-11.

7. Hilman M. H., Rodriguez M. A., Buyya R. Task runtime prediction in scientific workflows using an online incremental learning approach //2018 IEEE/ACM 11th International Conference on Utility and Cloud Computing (UCC). IEEE, 2018. P. 93-102.

8. Rosa M.J.F., Ralha C. G., Holanda M., Araujo A. P. F. Computational resource and cost prediction service for scientific workflows in federated clouds // Future Generation Computer Systems. 2021. V. 125. P. 844-858.

9. Семенистый С.А., Сельвесюк Н.И., Платошин Г.А. Применение машинного обучения при планировании рабочих процессов в распределенных вычислительных системах // Известия Тульского государственного университета. Технические науки. 2022. Вып. 2. С. 241-245.

10. Zheng W., Sakellariou R. Stochastic DAG scheduling using a Monte Carlo approach // Journal of Parallel and Distributed Computing. 2013. V. 73. №. 12. P. 1673-1689.

11. Nirmeen A.B., Magdy A.K., Mervat M., Fatma O. A new algorithm for static task scheduling for heterogeneous distributed computing systems // African Journal of Mathematics and Computer Science Research. 2011. V. 3. №. 6. P. 221-234.

12. Chitra P., Rajaram R., Venkatesh P. Application and comparison of hybrid evolutionary multi-objective optimization algorithms for solving task scheduling problem on heterogeneous systems // Applied soft computing. 2011. V. 11. №. 2. P. 2725-2734.

13. Jin S., Schiavone G., Turgut D. A performance study of multiprocessor task scheduling algorithms // The Journal of Supercomputing. 2008. V. 43. №. 1. P. 77-97.

14. Hagras T., Janecek J. A near lower-bound complexity algorithm for compile-time task-scheduling in heterogeneous computing systems // Third International Symposium on Parallel and Distributed Computing / Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks. IEEE, 2004. P. 106-113.

15. Topcuoglu H., Hariri S., Wu M. Y. Performance-effective and low-complexity task scheduling for heterogeneous computing // IEEE transactions on parallel and distributed systems. 2002. V. 13. №. 3. P. 260274.

16. Daoud M.I., Kharma N. A high performance algorithm for static task scheduling in heterogeneous distributed computing systems // Journal of Parallel and distributed computing. 2008. V. 68. №. 4. P. 399-409.

Семенистый Сергей Александрович, программист 2-й категории, semenistyi@sfedu.ru, Россия, Таганрог, Научно-исследовательский институт многопроцессорных вычислительных систем имени академика А.В. Каляева Южного федерального университета,

Сельвесюк Николай Иванович, д-р техн. наук, профессор РАН, заместитель Генерального директора, nis@gosniias.ru, Россия, Москва, Государственный научно-исследовательский институт авиационных систем,

Платошин Георгий Александрович, начальник сектора, gaplatoshin@2100.gosniias.ru, Россия, Москва, Государственный научно-исследовательский институт авиационных систем

RECOVERY OF A PARALLEL PROGRAM GRAPH FROM HISTORICAL DATA

S.A. Semenistyi, N.I. Selvesiuk, G.A. Platoshin

The article considers a method for restoring a graph of a parallel program based on historical data collected by computing nodes on the use of resources in a distributed system in order to improve the quality of planning.

Key words: distributed computing, task scheduling, location optimization, workflow.

Sergei Alexandrovich Semenistyi, programmer 2nd category, semenistyi@sfedu.ru, Russia, Taganrog, Scientific Research Institute of multiprocessor computing systems,

Selvesiuk Nikolay Ivanovich, doctor of technical sciences, professor of RAS, Deputy General Director, nis@gosniias.ru, Russia, Moscow, State Research Institute of Aviation Systems,

Platoshin Georgy Alexandrovich, head of sector, gaplatoshin@2100.gosniias.ru, Russia, Moscow, State Research Institute of Aviation Systems

i Надоели баннеры? Вы всегда можете отключить рекламу.