Методика динамического анализа времени выполнения программ в гетерогенных распределенных вычислительных средах

Оригинальная статья / Original article УДК 519.687

DOI: http://dx.doi.org/10.21285/1814-3520-2018-6-109-119

МЕТОДИКА ДИНАМИЧЕСКОГО АНАЛИЗА ВРЕМЕНИ ВЫПОЛНЕНИЯ ПРОГРАММ В ГЕТЕРОГЕННЫХ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ

© А.Г. Феоктистов1, О.Ю. Башарина2

1 Институт динамики систем и теории управления им. В.М. Матросова СО РАН, 664033, Российская Федерация, г. Иркутск, ул. Лермонтова, 134.

2 Иркутский государственный университет,

664003, Российская Федерация, г. Иркутск, ул. Карла Маркса, 1.

РЕЗЮМЕ. ЦЕЛЬ работы заключается в разработке методики оценки времени выполнения программ в гетерогенной распределенной вычислительной среде. В настоящее время получение такой оценки является важной и нетривиальной проблемой во многих практических приложениях, связанных с планированием вычислений и распределением ресурсов. МЕТОДЫ. В данной работе применяется метод частотных характеристик, базирующийся на использовании специальных инструментальных средств для динамического анализа программ и хорошо зарекомендовавший себя на практике. РЕЗУЛЬТАТЫ. Предложена новая методика, обеспечивающая оценку времени выполнения программ с учетом характеристик эталонного и целевого вычислительных узлов, а также программных параметров, отражающих вычислительную нагрузку на компоненты этих узлов. Оценки вычисляются с учетом объемов исходных данных. Данная методика успешно применена в процессе анализа выполнения программы для решения задачи перемножения матриц. Приведены тестовые примеры получения оценки времени решения таких задач, в которых ее погрешность не превышает 10%. Полученные результаты демонстрируют уменьшение погрешности оценки по мере увеличения размерности матриц, как для целочисленных, так и для вещественных значений. ВЫВОДЫ. Использование предложенной методики в гетерогенной распределенной вычислительной среде, организованной на базе ресурсов Центра коллективного пользования «Иркутский суперкомпьютерный центр СО РАН», для реального потока заданий показало существенное улучшение полученных оценок времени выполнения программ по сравнению с оценками необходимого времени решения задач, содержащихся в запросах пользователей среды, а также их значениями, скорректированными на основе вычислительной истории выполнения заданий.

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

Информация о статье. Дата поступления 4 апреля 2018 г.; дата принятия к печати 8 мая 2018 г.; дата онлайн-размещения 29 июня 2018 г.

Формат цитирования. Феоктистов А.Г., Башарина О.Ю. Методика динамического анализа времени выполнения программ в гетерогенных распределенных вычислительных средах // Вестник Иркутского государственного технического университета. 2018. Т. 22. № 6. С. 109-119. DOI: 10.21285/1814-3520-2018-6-109-119

METHODS FOR DYNAMIC ANALYSIS OF PROGRAM EXECUTION TIME IN HETEROGENEOUS DISTRIBUTED COMPUTING ENVIRONMENTS

A.G. Feoktistov, O.Yu. Basharina

Matrosov Institute for System Dynamics and Control Theory SB RAS, 134, Lermontov St., Irkutsk, 664033, Russian Federation

1Феоктистов Александр Геннадьевич, кандидат технических наук, ведущий научный сотрудник лаборатории параллельных и распределенных вычислительных систем, e-mail: agf65@yandex.ru

Alexander G. Feoktistov, Candidate of technical sciences, Senior Researcher, Leading Researcher at the Laboratory of Parallel and Distributed Computing Systems, e-mail: agf65@yandex.ru

2Башарина Ольга Юрьевна, кандидат технических наук, доцент кафедры естественных дисциплин, e-mail: basharinaolga@mail.ru

Olga Yu. Basharina, Candidate of technical sciences, Associate Professor of the Department of Natural Sciences, e-mail: basharinaolga@mail.ru

Irkutsk State University,

1, Karl Marks St., Irkutsk, 664003, Russian Federation

ABSTRACT. The PURPOSE of the study is to develop the methodology for estimating the program execution time in a heterogeneous distributed computing environment. Today, the problem of obtaining such estimation is important and nontrivial in many practical applications related to the computation planning and resource allocation. METHODS. The study uses the method of frequency response characteristics that is based on the use of special tools for the dynamic analysis of programs. It has well proved itself in practice. RESULTS. A new methodology is proposed that provides program execution time estimation and takes into account the characteristics of reference and target computational nodes as well as software parameters that reflect the computational load on the components of these nodes. The estimates are calculated based on the amount of input data. This methodology has been successfully applied when analyzing the program execution for solving the problem of matrix multiplication. The paper provides the test cases of obtaining the time estimation of such problems solution in which the error is less than 10%. The obtained results demonstrate that the estimation error decreases as the dimension of matrices (both for integer and real values) grows. CONCLUSIONS. The proposed technique was used for the real job flow in the heterogeneous distributed computing environment based on the resources of the public access computer center "Irkutsk Supercomputer Center SB RAS". Its application showed the significant improvement in the obtained estimations of the program execution time as compared with the estimates of the required time for solving the problems in users' queries, as well as their values corrected on the basis of the computational history of executed jobs. Keywords: distributed computing, heterogeneous environment, program execution time, dynamic analysis

Information about the article. Received April 4, 2018; accepted for publication May 8, 2018; available online June 29, 2018.

For citation. Feoktistov A.G., Basharina O.Yu. Methods for dynamic analysis of program execution time in heterogeneous distributed computing environments. Vestnik Irkutskogo gosudarstvennogo tehnicheskogo universiteta = Proceedings of Irkutsk State Technical University. 2018, vol. 22, no. 6, pp. 109-119. DOI: 10.21285/1814-3520-2018-6-109-119. (in Russian).

Введение

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

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

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

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

Рост числа высокопроизводительных систем и их разнообразие актуализируют исследования, связанные с интеграцией таких систем в единую гетерогенную распределенную вычислительную среду (ГРВС) [2-4]. Целью такой интеграции является обеспечение более высокой суммарной вычислительной мощности, а также повышение гибкости и эффективности управления вычислительными процессами [5].

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

Существуют различные способы оценки времени выполнения программы на основе статических, динамических и комбинированных методов анализа программ [11]. На практике хорошо зарекомендовал себя метод частотных характеристик [12, 13], базирующийся на использовании специальных инструментальных средств для динамического анализа программ. Алгоритмы динамического анализа программ, основанные на использовании данного метода, различаются наборами исследуемых программных и аппаратных характеристик, а также зависимостей между ними [14, 15].

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

Методика оценки врем

Задача оценки времени выполнения программы на целевом вычислительном узле ГРВС возникает из-за наличия большого числа узлов среды, обладающих разными вычислительными характеристиками, и, как правило, отсутствия практической возможности исследовать данную программу на каждом из них в силу их постоянной загруженности. Таким образом, появляется необходимость оценки времени выполнения программы, используя другой (эталонный) узел.

Предложенная методика включает десять основных этапов.

Этап I. Выявление набора вычислительных характеристик сг1,сг2,...,сг1 компонентов эталонного узла, влияющих на время выполнения программы.

Этап II. Определение параметров Ь(х),Ь2(х),...,Ьт(х) процесса выполнения программы, отражающих вычислительную нагрузку на компоненты эталонного узла, возникающую при работе данной программы. Значение Ь (х) зависит от объема входных данных х, обрабатываемых программой, j е1,ш.

тельной программы для решения задачи перемножения матриц.

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

выполнения программы

Этап III. Формирование зависимости t гд (сг ,1, сг,2,..., сг д, Ь1 (х), Ь2 (х),..., Ьш (х)) между вкладом /-го компонента эталонного узла в общее время выполнения программы характеристиками сг1,сг2,...,сг1 и параметрами Ь (х),Ь2 (х),...,Ьш (х), 1 = 1,п.

Этап IV. Нахождение оценки Тг(х) теоретического времени выполнения программы на эталонном узле:

п

(х ) = Е ^ (сГ,1, Сг,2,..., Сг,1, К1 (х)> К2 (х),...5 К (х)) .

I=1

Этап V. Динамический анализ процесса выполнения программы в эталонном узле. Определение значений параметров Ь15Ь2,...,Ьт и времени Тг(х) выполнения программы:

Тг

где а - это коэффициент, отражающий погрешность оценки Тг (х) относительно Тг (х).

Этап VI. Формирование набора вычислительных характеристик с(1,с(2,...,си

компонентов целевого узла, соответствующих набору характеристик сГ;1,сГ;2,...,сГ;1.

Этап VII. Установление зависимостей (с^^-^лА (x), h2 (x^"А (x)) между оценкой вклада /-го компонента целевого узла в общую оценку времени выполнения программы характеристиками си,с(2,...,си и параметрами

Ь (х ),Ь2 (х),...,Ьт (х), 1 = 1,п.

Этап VIII. Оценка ГГ1 (х) теоретического времени выполнения программы в целевом узле:

" ~ ! \ Т

1 =1

Пример оценки времени выполнения

В качестве примера применения рассмотренной выше методики рассмотрим оценку времени выполнения программы для перемножения квадратных матриц размерности п х п. Программа использует «наивный» алгоритм перемножения матриц, вычислительная сложность которого составляет о(п3).

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

- частота сг1 процессора;

- число сг 2 и сг 3 тактов, затрачиваемых процессором, соответственно, на выполнение целочисленных операций и операций с плавающей точкой;

Этап IX. Итоговая оценка т;(х) времени выполнения программы в целевом узле:

Г,'

ГГ1

Этап X. Оценка времени выполнения программы для переменного объема данных х е(х0,хк) осуществляется с помощью следующей функции:

Т*(х )= f (хо,хк,х,ГТ1(х)).

где f - это некоторая интерполяционная функция, которая, как правило, индивидуально подбирается для каждого класса программ.

граммы для перемножения матриц

- пропускная способность с и ла-тентность сг5 кэш-памяти первого уровня;

- пропускная способность сг б и ла-тентность сг7 кэш-памяти второго уровня;

- пропускная способность сг8 и ла-тентность с9 оперативной памяти;

- среднее время поиска дорожки на диске сгДо;

- пропускные способности с и с

диска при чтении и записи данных соответственно.

В соответствии с выбранными параметрами основные параметры процесса выполнения программы отражают следующие характеристики:

- число Ь (х) инструкций, обрабатываемых процессором узла при выполнении программы;

- число Ь2(х) и Ь3(х) обращений к

кэш-памяти первого и второго уровней соответственно;

- число Ь4 (х) и Ь5 (х) промахов обращений к кэш-памяти первого и второго уровня соответственно;

- доли Ъ6 (х) и И7 (х) целочисленных

операций и операций с плавающей точкой, выполняемых в программе;

- число Ь (х) и Ь9 (х) сессий чтения

данных с диска и записи на диск соответственно;

- число Ьо(х) и Ь 1(х) байтов данных, считанных с диска и записанных на диск соответственно.

Характеристики Ь(х)-Ь 1(х) вычисляются при выполнении программы с определенным объемом данных х .

Время использования процессора ^ ¡(х), памяти ^ 2(х) и жесткого диска

^ 3(х) эталонного узла вычисляется с помощью выражений:

. ( \ h1 (X)(cr,2h6 (X)+ Cr,3h7 (X)) . tr,1 (X) =-,-,- .

г,1

tr,2 W = tc1

tr,3 (X )= Cr4o(h8 + h9 )+ +

Cr,11 Cr,12

tm (X )= 2-

h5

Cr,8 + Cr,9h5

9h5 (X)'

Параметры h(x)~hi(x) и время f (x) определяются в процессе динамического анализа программы с помощью профилировщика производительности Intel VTune Amplifier [18].

Оценка fr(x) теоретического времени выполнения программы определяется по формуле:

Tr

Коэффициент а находится из соотношения (1).

Далее определяются характеристики с(д - с,Д2 целевого узла, соответствующие

аналогичным характеристикам сг1 - сгД2

эталонного узла.

В соответствии с (3)-(9) формируются зависимости для вычисления оценок

*и

и Т (х):

где значения ^(х), ,с2(х) и ^(х) представляют, соответственно, время использования кэш-памяти первого и второго уровней, а также оперативной памяти.

Поскольку количество данных, загруженных в кэш-память первого уровня неизвестно, будем считать, что каждая инструкция требует, по крайней мере, два байта данных в качестве своих операндов. В этом случае значения (х), (х) и ^(х) вычисляются следующим образом:

tc1 (x ) =

tc2

W Cr,6 + Cr,7

£ = h1 (X)(ct,2h6 (X)+ Ct,3h7 (X)) . ^

tt,2

Чз

Ct,11 Ct,1

tc1 (X ) =

(2 + Ct,4Ct,5 )h2 (X).

Ct,4

^

Ct,6 + Ct,7

tm

Ct,8 + Ct,9h5

Tt

c

t,1

c

r,4

Итоговая оценка Т'(х) времени выполнения программы в целевом узле находится из соотношения (2).

При изменении значения х в интервале (х0,хк) оценка времени выполнения

программы осуществляется следующим образом:

T

y

x

V x0 J

y = logb a , a -

Tt'

Tr (x0 ) ,

b - ^.

x

Функция Т* (х) подобрана на основе

экспериментальных данных для рассматриваемого класса программ [14]. Она отражает нелинейную зависимость изменения времени выполнения программы от объема данных.

В процессе эксперимента использованы два узла с процессорами Intel Pentium 4 630 (эталонный узел) и AMD Athlon 64 3000+ (целевой узел). Их характеристики cr,i -cr,i2 и cu -ct 12 приведены в таблице.

На рис. 1, a и 1, b приведены значения времени Tr (x) выполнения программы перемножения целочисленных и вещественных матриц в эталонном узле, а также оценки T'(x) и реального времени Tt (x) ее выполнения в целевом узле для n = 1000,1500,2000,2500,3000. Погрешности а полученных оценок приведены на рис. 1, c и 1, d.

Полученные результаты демонстрируют уменьшение погрешности оценки времени выполнения программы по мере увеличения размерности матриц как для целочисленных, так и для вещественных значений. Следует отметить, что для данного примера погрешность а не превышает 10%.

Оценка времени выполнения заданий в гетерогенной среде

Предложенная в статье методика апробирована в процессе мультиагентного управления заданиями [19] в ГРВС, организованной на базе ресурсов Центра коллективного пользования «Иркутского суперкомпьютерного центра СО РАН» [20]. Задание

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

Характеристики узлов Node characteristics

Номер характеристики / Characteristic no. Узел I Node

Эталонный / Reference Целевой / Target

1 3.0 Ггц I GHz 2.0 Ггц I GHz

2 11.99 Gips 7.87 Gips

Э 5.9Э Гфлопс I Gflops 2.б7 Гфлопс I Gflops

4 1.5 нс I ns 1.6 нс I ns

5 46.9 Гбит!с I GbitIs 31.38 Гбит!с/ / Gbit/s

б 13.2 нс I ns 11.2 нс I ns

7 19.08 Гбит!с I GbitIs 10.4 Гбит!с I GbitIs

8 10.4 нс I ns 8Э.7 нс I ns

9 4.01 Гбит!с I GbitIs 2.41 Гбит!с I GbitIs

1G 5 мс I ms 6 мс I ms

11 52 Mбитlс I MbitIs 49 Mбитlс I MbitIs

12 32 Mбитlс I MbitIs 30 Mбитlс I MbitIs

8GG 16GG

7GG . r,ú) - Г! ir! - 14GG  Trixi

(Я <D E i- 6GG 5GG t1  V1' 12GG i§ 1GGG  -

o 4GG eGG

к S <u С m 300 2GG "Ш : 1 6GG ^ 4GG 2GG : ;

G a G _ ~

WG 15GG 2GGG n 25GG 3000 1000 15GG 2GGG n 25GG Э000

Рис. 1. Результаты оценки времени выполнения программы перемножения целочисленных

и вещественных (d) матриц Fig. 1. Results of execution time estimation of the program for multiplying the integer (a) and real (b) matrices, and errors of the obtained estimations for the integer (c) and real (d) matrices

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

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

В разных задачах матрицы имели размерности: 1000 х1000, 1500 х1500, 2000 х 2000, 2500 х 2500 и 3000 х 3000.

Результаты, приведенные на рис. 2, показывают, что погрешность г1 оценки времени выполнения задания, полученной

на основе динамического анализа программы, убывает с увеличением размерности матриц. В данном примере эта погрешность не превышает 13,64%. Более высокая погрешность по сравнению с примером, рассмотренным в предыдущем разделе, объясняется наличием некоторого объема дополнительных вычислений, не связанных с перемножением матриц.

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

LU

.0

ь

О X

3

ш

CL i_ О d

180 160 140 120 100 80 60 40 20

О

Si

• -i

о

о о 6DO о Ol

ci) . 'ШФ1

100 200 300 400

Время выполнения задания / Task execution time

Рис. 2. Оценка времени выполнения заданий потока Fig. 2. Estimation of the task flow execution time

500

На рис. 3 приведено среднеквадра-тическое отклонение погрешности оценок времени выполнения заданий, полученных разными способами:

1) на основе запроса пользователя;

2) на основе скорректированного запроса пользователя;

3) на основе динамического анализа программы.

Для варианта оценки времени выполнения заданий на основе динамического анализа программы значения погрешностей сгруппированы достаточно близко к среднему значению 8.27, что говорит о возможности успешного применения данного метода прогнозирования на практике.

с

0

и .rç о >

CD

0 -о

-л

1 -ь 03

£ I

$ W

X S

1

(1) (1) Œ I

О о

30

25

20

15

10

27.23

1)

21.78

4.31

2)

3)

Способы оценки времени выполнения задания / Estimat i on metho ds of task execution time

Рис. 3. Среднеквадратическое отклонение погрешности оценок времени

выполнения заданий Fig. 3. Standard deviation of the task execution time estimation error

0

0

5

0

Заключение

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

В статье предложена новая методика получения таких оценок.

Практическая значимость результатов исследования заключается в повышении качества планирования вычислений и распределения ресурсов в ГРВС, включая

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

Работа выполнена при поддержке Российского фонда фундаментальных исследований, проект № 16-07-00931-а, а также Президиума РАН, программа № 27 «Фундаментальные проблемы решения сложных практических задач с помощью суперкомпьютеров», проект «Методы и средства решения трудных переборных задач с помощью суперкомпьютеров».

Библиографический список

1. Бычков И.В., Опарин Г.А., Феоктистов А.Г., Корсу-ков А.С. Испытание и оценка надежности интегрированных кластерных систем на основе их комплексного моделирования // Вестник компьютерных и информационных технологий. 2013. № 3. С. 3-8.

2. Бычков И.В., Опарин Г.А., Феоктистов А.Г., Богданова В.Г., Корсуков А.С. Сервис-ориентированный подход к организации распределенных вычислений с помощью инструментального комплекса DISCENT // Информационные технологии и вычислительные системы. 2014. № 2. С. 7-15.

3. Феоктистов А.Г., Костромин Р.О. Разработка и применение проблемно-ориентированных мультиагент-ных систем управления распределенными вычислениями // Известия ЮФУ. Технические науки. 2016. № 11. С. 65-74.

4. Feoktistov A.G., Sidorov I.A., Sergeev V.V., Kostromin R.O., Bogdanova V.G. Virtualization of Heterogeneous HPC-clusters Based on OpenStack Platform // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. 2017. Т. 6. № 2. С. 37-48.

5. Костенко В.А. Алгоритмы построения расписаний для вычислительных систем реального времени, допускающие использование имитационных моделей // Программирование. 2013. Т. 39. №. 5. С. 53-71.

6. Топорков В.В. Модели распределенных вычислений. М.: Физматлит, 2004. 320 с.

7. Воеводин В.В. Решение больших задач в распределенных вычислительных средах // Автоматика и телемеханика. 2007. № 5. С. 32-45.

8. Радченко Г.И. Модель проблемно-ориентированной облачной вычислительной среды // Труды Института системного программирования РАН. 2015. Т. 27. Вып. 6. С. 285-284.

9. Кротов К.В. Обоснование модели многоуровневого программирования для построения расписаний групповой обработки партий данных в конвейерной системе при наличии ограничений // Вестник Иркутского

государственного технического университета. 2016. №. 1. С. 35-47.

10. Бычков И.В., Опарин Г.А., Черных А.Н., Феоктистов А.Г., Горский С.А., Ривера-Родригес Р. Масштабируемое приложение для поиска глобальных минимумов многоэкстремальных функций // Автометрия. 2018. Т. 54. № 1. С. 98-105.

11. Wilhelm R. et al. The worst-case execution-time problem - overview of methods and survey of tools // ACM Transactions on Embedded Computing Systems. 2008. Vol. 7. No. 3. P. 1-52.

12. Wang W., Wang W., Guan X., Zhang X., Yang L. Profiling program behavior for anomaly intrusion detection based on the transition and frequency property of computer audit data // Computers and security. 2006. Vol. 25. No. 7. P. 539-550.

13. Шалимов А.В. Метод компактного представления программ на основе частотных характеристик их поведения // Таврический вестник информатики и математики. 2008. № 2. С. 243-250.

14. Adhianto L., Adhianto L., Banerjee S., Fagan M., Krentel M., Marin G., Mellor-Crummey J., Tallent N. R. HPCToolkit: Tools for performance analysis of optimized parallel programs // Concurrency and Computation: Practice and Experience. 2010. Vol. 22. No. 6. P. 685701.

15. Баглыков А.Н. Метод прогнозирования времени выполнения программ // Современная наука: теоретический и практический взгляд: сб. статей Между-нар. науч.-практ. конф.: в 2 ч. (г. Уфа, 1 июня 2015 г.). Уфа, 2015. Ч. 1. С. 3-6.

16. Эксафлопные технологии. Концепция по развитию технологии высокопроизводительных вычислений на базе суперЭВМ эксафлопсного класса (20122020 гг.). М.: Росатом, 2011. 112 с.

17. Пипер Ш., Джоан П., Сколт М. Новая эра в оценке производительности компьютерных систем [Электронный ресурс] // Интернет-журнал «Открытые системы СУБД». 2007. № 9. С. 52-59. URL:

https://www.osp.ru/os (дата обращения 29.05.2018).

18. Intel VTune™ Amplifier [Электронный ресурс]. URL: https://software.intel.com/en-us/intel-vtune-amplifier-xe (дата обращения 27.10.2017).

19. Феоктистов А.Г., Костромин Р.О. Мультиагентный алгоритм перераспределения вычислительных ре-

сурсов для остаточной схемы решения задачи в Grid // Современные наукоемкие технологии. 2016. № 9-2. С. 244-248.

20. Иркутский суперкомпьютерный центр СО РАН [Электронный ресурс]. URL: http://hpc.icc.ru (дата обращения 29.05.2018).

References

1. Bychkov I.V., Oparin G.A., Feoktistov A.G., Korsukov A.S. Testing and evaluation of reliability integrated cluster systems based on complex modeling. Vestnik komp'yuternyh i informacionnyh tekhnologij [Herald of Computer and Information Technologies. Scientific, Technical and Production Monthly Journal], 2013, no. 3, рр. 3-8. (In Russian).

2. Bychkov I.V., Oparin G.A., Feoktistov A.G., Bog-danova V.G., Korsukov A.S. The service-oriented approach to distributed computing on the basis of the toolkit DISCENT. Informacionnye tekhnologii i vychislitel'nye sistemy [Journal of Information Technologies and Computing Systems], 2014, no. 2, рр. 7-15. (In Russian).

3. Feoktistov A.G., Kostromin R.O. Development and application of subject-oriented multi-agent systems for distributed computing management. Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2016, no. 11, рр. 65-74. (In Russian).

4. Feoktistov A.G., Sidorov I.A., Sergeev V.V., Kostromin R.O., Bogdanova V.G. Virtualization of Heterogeneous HPC-clusters Based on OpenStack Platform. Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Ser-iya: Vychislitel'naya matematika i informatika [Bulletin of the South Ural State University. Series: Computational Mathematics and Information Sciences], 2017, vol. 6, no. 2, рр. 37-48. (In Russian).

5. Kostenko V.A. Scheduling algorithms for real-time computing systems admitting simulation models. Pro-grammirovanie [Programming and Computer Software], 2013, vol. 39, no. 5, рр. 53-71. (In Russian).

6. Toporkov V.V. Modeli raspredelennyh vychislenij [Models of distributed computing]. Moscow: Fizmatlit Publ., 2004, 320 р. (In Russian).

7. Voevodin V.V. The solution of large problems in distributed computational media . Avtomatika i telemek-hanika [Automation and remote Control], 2007, no. 5, рр. 32-45. (In Russian).

8. Radchenko G.I. Model of problem-oriented cloud computing environment. Trudy Instituta sistemnogo program-mirovaniya RAN [Proceedings of the Institute for System Programming of the RAS], 2015, vol. 27, lssue. 6, рр. 285-284. (In Russian).

9. Krotov K.V. Validation of the multilevel programming model for scheduling data series group processing in a

pipelined computing system with constraints. Vestnik Ir-kutskogo gosudarstvennogo tekhnicheskogo universi-teta [Proceedings of Irkutsk State Technical University], 2016, no. 1, рр. 35-47. (In Russian).

10. Bychkov I.V., Oparin G.A., Chernyh A.N., Feoktistov A.G., Gorskij S.A., Rivera-Rodriges R. Scalable application for the search of global minimuma of multiextremal functions. Avtometriya [Optoelectronics, Instrumentation and Data Processing], 2018, vol. 54, no. 1, рр. 98-105. (In Russian).

11. Wilhelm R. et al. The worst-case execution-time problem - overview of methods and survey of tools // ACM Transactions on Embedded Computing Systems. 2008, vol. 7, no. 3, pр. 1-52.

12. Wang W., Wang W., Guan X., Zhang X., Yang L. Profiling program behavior for anomaly intrusion detection based on the transition and frequency property of computer audit data // Computers and security. 2006, vol. 25, no. 7, pр. 539-550.

13. Shalimov A.V. Method of program compact representation based on frequency characteristics of their behavior. Tavricheskij vestnik informatiki i matematiki [Tau-rida Journal of Computer Science Theory and Mathematics], 2008, no. 2, рр. 243-250. (In Russian).

14. Adhianto L., Adhianto L., Banerjee S., Fagan M., Krentel M., Marin G., Mellor-Crummey J., Tallent N. R. HPCToolkit: Tools for performance analysis of optimized parallel programs // Concurrency and Computation: Practice and Experience. 2010, vol. 22, no. 6, pр. 685701.

15. Baglykov A.N. Metod prognozirovaniya vremeni vy-polneniya program [Method for predicting program execution time]. Cbornik statej Mezhdunarodnoj nauchno-prakticheskoj konferencii: v 2 chastyah "Sovremennaya nauka: teoreticheskij i prakticheskij vzglyad" [Collection of articles of the International Scientific and Practical Conference: in 2 parts "Modern science: a theoretical and practical view", Ufa, 1 June 2015]. Ufa, 2015, part. 1, рр. 3-6. (In Russian).

16. Eksaflopnye tekhnologii. Koncepciya po razvitiyu tekhnologii vysokoproizvodi-tel'nyh vychislenij na baze superEVM eksaflopsnogo klassa (2012-2020 gg.) [Exa-flops technologies. Development concept of the technology of high-performance computations on the basis of the exaflop class supercomputer (2012-2020 years)].

Moscow: Rosatom Publ., 2011, 112 р. (In Russian).

17. Piper Sh., Dzhoan P., Skolt M. Novaya era v ocenke proizvoditel'nosti komp'yu-ternyh sistem [A new era in evaluation of computer system performance]. On-line-journal "Open systems. SUBD". 2007, no. 9, рр. 52-59. URL: https://www.osp.ru/os (accessed 29 May 2018).

18. Intel VTune™ Amplifier. URL: https://software.in-tel.com/en-us/intel-vtune-amplifier-xe (accessed 27 October 2017).

Критерии авторства

Феоктистов А.Г., Башарина О.Ю. имеют равные авторские права и несут равную ответственность за плагиат.

Конфликт интересов

Авторы заявляют об отсутствии конфликта интересов.

19. Feoktistov A.G., Kostromin R.O. Multi-agent algorithm for reallocation of computational resources for residual problem solving scheme in grid. Sovremennye naukoemkie tehnologii [Modern High Technologies], 2016, no. 9-2, pp. 244-248.

20. Irkutskij superkomp'yuternyj centr SO RAN [Irkutsk Supercomputer Center SB RAS]. URL: http://hpc.icc.ru (accessed 29 May 2018).

Authorship criteria

Feoktistov A.G., Basharina O.Yu. have equal author's rights and bear equal responsibility for plagiarism.

Conflict of interests

The authors declare that there is no conflict of interests regarding the publication of this article.