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

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

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

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

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

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

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

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

TASK SCHEDULING IN DISTRIBUTED COMPUTING SYSTEMS IN VIDEO DATA STREAMS PROCESSING

The article considers an approach based on the combination of the use of multi-agent technologies and machine learning for planning the execution of a parallel program for processing video data streams on distributed computing systems in the absence of information about the computational complexity of its elements. The approach includes a method of modifying the task graph and theoretically allows, when solving problems of processing video data streams, to provide the required temporal characteristics of the solution if there are sufficient computing resources.

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

2 Рудман, Л.И. Справочник конструктора штампов: Листовая штамповка / В.Л. Марченко, Л.И. Рудман, А.И. Зайчук и д.р. М.: Машиностроение, 1988. 496 с.

3 Константинов И.Л. Основы технологических процессов обработки металлов давлением 2018 [Электронный ресурс] URL: https://studref.com/326480/tehnika/osnovY tehnologicheskih protsessov obrabotki metallov davleniem (дата обращения: 08.06.2022).

Таранец Денис Вадимович, бакалавр, оператор, era_1@mil.ru, Россия, Анапа, ФГАУ «ВИТ

«ЭРА»,

Олешицкий Сергей Вадимович, магистр, старший оператор, Россия, Анапа, ФГАУ «ВИТ

«ЭРА»

ANALYSIS OF THE MANUFACTURABILITY OF THE CONSTRUCTION OF A CLAMP-TYPE PART

D.V. Taranets, S.V. Oleshitsky

This article analyzes the manufacturability of the design of a clamp-type part. Key words: design, detail, analysis.

Taranets Denis Vadimovich, bachelor, operator, era_1@mil.ru, Russia, Anapa, FGAU «MIT «ERA», Oleshitsky Sergey Vadimovich, magister, senior operator, Russia, Anapa, FGAU «MIT «ERA»

УДК 004.7

DOI: 10.24412/2071-6168-2022-9-120-126

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

ОБРАБОТКЕ ПОТОКОВ ВИДЕОДАННЫХ

С.А. Семенистый

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

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

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

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

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

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

120

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

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

- должен учитывать различные типы неоднородности сети.

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

1) среда РВС стабильна в течение временного окна выполнения задачи, так что связность сети (количество каналов, пропускная способность), как и число доступных вычислительных узлов резко не меняется;

2) система работает достаточно долго, так что первоначальный «прогрев» (в том числе сбор исторических данных для прогнозирования) незначителен относительно всего периода работы.

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

1) Задача (программа обработки) состоит из набора подзадач, объединенных потоками данных и описывается направленным ациклическим графом О = (V, Е), где каждая из вершин у е V представляет подзадачу (программный модуль), каждое ребро ■ е Е представляет ограничение, согласно которому подзадача у. является источником данных для подзадачи у ■, и должна быть выполнена раньше

1 ■

нее. Пример такого графа представлен на рис. 1.

2) Для каждой из подзадач у^ есть множество подзадач ргвё (у^), от которых зависит у^ и

множество подзадач succ(уk ), которые зависят от у^. Подзадачи у; е ргвё(у£ ) связаны с у^ ребрами в^е е Ергес1. Подзадачи у1 е &исс(ук) связаны с у£ ребрами е™^ е Е™сс .

3) При первом запуске программы данные о вычислительной сложности подзадач м/^у^) и объемах передаваемых данных ц(в; ■) отсутствуют, но для каждого ребра в; ■ известны параметры передаваемых данных (размер кадра, число каналов, цветовая модель и т.д.).

4) Для каждого из ребер е- ■ известно, возможно ли для соответствующего потока данных

применять декомпозицию или нет (каждому е- ■ сопоставлен признак е^Е е {01}).

5) Гетерогенная РВС состоит из множества вычислительных узлов К = (^Щ, Я2,...Я^ известной производительности р. Вычислительные узлы объединены каналами связи и для каждой пары узлов

(я- К ■> известна пропускная способность ^ ■ соединяющего их канала. Каждый из узлов К может \ ] / ■ 1

выполнять определенное подмножество операций 0(К- ) = О1 с О согласно аппаратной конфигурации и установленному программному обеспечению и каждая из подзадач у- соответствует одной из операций О (у^ )е О. При этом одну и ту же операцию может реализовывать несколько подзадач в графе

(и0(у;)с О, и0(К) = О).

6) Источник входных данных, как и приемник выходных данных расположены внутри РВС и им соответствуют узлы к.. К е К. Соответственно, входная (у . е V) и выходная

1У1рЪ11 ' с'1Л1р1Л1 сП/Гу

(увхЫ е V) вершины графа задачи могут быть размещены только на этих узлах.

Предлагаемый подход. Поток видеоданных является последовательность изображений (кадров). Одним из наиболее простых вариантов распараллеливания операций обработки изображений является декомпозиция по данным [5]: изображение разбивается на непересекающиеся фрагменты, и каждый фрагмент обрабатывается на отдельном вычислительном узле, затем из таких фрагментов собирается результирующее изображение [6-9]. В ситуации, когда обработка изображения предполагается многоэтапной и содержит множество ветвей, реализация такого варианта распараллеливания требует применения неких методов модификации графа задачи обработки (например, разделения операций обработки в соответствии с декомпозицией по данным) согласно текущим потребностям системы. Метод планирования задач в системах рассеянных вычислений на основе подобного подхода рассмотрен в работе [10]. Пример исходного графа задачи приведен на рис. 2, а примеры модифицированных графов той же задачи - на рис. 3.

Рис. 1. Пример графа задачи

42 vз 44

Рис. 2. Исходный граф задачи

Ч Ч Ч ¥2 V] 1 \ >4

2 )-Ч 5 1-*( 4 ) ш ( 2 I-К 3 ГТ—Н *

У \ У V Л. "I ** А / \ /1\

\ 7 7 Г + - "Ч 1 1 \ I

\ Ч \ \1ч

Ч 5 )—К 6 / I 5 )—к 6 )

\ ' / \ /

[ Б ) ( 5 )

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

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

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

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

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

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

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

Необходимость сбора данных по каждому из узлов РВС ставит вопрос как о средствах сбора таких данных, так и о системе управления вычислительным процессом в целом. Известен ряд исследований, в которых авторы рассматривают применение мультиагентных систем как средства организации вычислительного процесса [11-14]. Относительно рассматриваемой здесь проблемы, использование мультиагентного подхода позволит обеспечить не только сбор данных о функционировании узлов в процессе выполнения параллельной программы (исторических данных), но и реализовать такой набор возможностей, как:

- размещение и запуск подзадач на вычислительных узлах;

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

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

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

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

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

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

- минимальная, максимальная и средняя загрузка центрального процессора (при обработке одного кадра);

- минимальное, максимальное и среднее использование оперативной памяти (при обработке одного кадра).

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

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

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

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

- увеличении среднего полного времени Т обработки кадра (превышение порога срабатывания

грЫАХ ,

Т , устанавливаемого извне);

- увеличении среднего времени Т обработки кадра подзадачей у. (превышение порога срабатывания тМАХ, вычисляемого на основе структуры актуального графа задачи и значения ТМАХ).

Поиск подзадач, для которых требуется произвести переразмещение или модификацию производится следующим образом:

1) Для текущего графа задачи согласно времени выполнения подзадач и времени коммуника-

СР I СР СР \

ций между ними находится критический путь О = у , Е I. Пример графа приведен на рис. 4 ( у^ — у6 - подзадачи, — ^ - вычислительные узлы, критический путь обозначен жирными линиями).

СР

2) Кандидатами для изменений являются подзадачи у£ е V с наибольшим временем вы-

СР

полнения, связи в£ / е Е между подзадачами с наибольшим временем передачи (при условии, что это время не является пренебрежимо малым относительно общего времени выполнения задачи Т = Т *(у£ ) + Т *(в£ I)) и вычислительные узлы R] е КСР | КСР с К с наибольшей средней загрузкой

СР

ресурсов, на которых размещены подзадачи у£ е V .

3) В первую очередь переразмещаются те подзадачи, которые имеют максимальное время выполнения и расположены на узлах R] е ЯСР с наибольшей средней нагрузкой. Для каждой из таких

СР СР

подзадач у£ е V , исходя из исторических данных подбирается такой новый узел Кп ^ К , чтобы

сумма прогнозируемого времени ее выполнения и прогнозируемого времени передачи данных стала меньше того, что наблюдается в текущей конфигурации системы. Если *(у^, R] ) > *(, Кп ), то рассчитывается прогнозируемое время для всей задачи согласно новому критическому пути. Если новое прогнозируемое время решения задачи ТРК < Т, то производится переразмещение подзадачи у£ на узел Кп.

4) Если не находится такого узла Кп | *(у£, ^ ) > *(у£, Кп ), то выполняется поиск возможностей для модификации графа задачи.

5) Выбирается подзадача с максимальным временем {(yk ) | у^ е VCP и для нее формируется копия ус | 0(ус ) := 0(ь ), образуя новые связи е. п, еп j е Е' с теми же подзадачами, с которыми связана исходная ук. Пример приведен на рис. 5 (у — у^ - исходные подзадачи, у^' - «отделенная» подзадача, Щ — Щ - вычислительные узлы, актуальный критический путь обозначен жирными линиями, старый критический путь показан пунктирными линиями). При этом происходит разделение потоков данных для тех связей, у которых признак е = 1 на равные части таким образом, что новый объем пере-

даваемых данных

' кг" )=)=2 ) и кг )=4™сс )=14гг).

Исходя из

предположения, что вычислительная сложность подзадачи пропорциональна входящему и исходящему трафику, новая вычислительная сложность (у^ )~ -(ус )«1 —(уь ). Для нового графа задачи

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

* I * *\ * * СР* I СР* СР*^

О = V , Е 1| V = V и V', Е = Е и Е' определяется критический путь О = у , Е / рас*

- \уь )- — ^ 2 V п./

(уСР*, ЕСР* )

считывается прогноз времени выполнения т* {(у.) + ^t(е. j)| у. е¥СР*,е. ; е ЕСР*. Если

■ * СР

Т < Т, то новый граф задачи О = О . Перебор подзадач уь е V производится пока не будет полу

гр* грМАХ чено Т <Т .

I ^е

Рис. 4. Граф задачи, размещенный на РВС

Рис. 5. Граф задачи, размещенный на РВС после модификации

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

Предлагаемое решение позволяет получить ряд важных преимуществ:

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

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

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

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

Работа выполнена в рамках государственного задания ФГАОУ ВО «СПбПУ» (тематика АЫУП-2022-0001)».

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

1. Kwok Y.-K., Ahmad I. Static scheduling algorithms for allocating directed task graphs to multiprocessors // ACM Comput. Surv. ACM New York, NY, USA, 1999. V. 31, № 4. P. 406-471.

2. Singh K., Alam M., Sharma S.K. A survey of static scheduling algorithm for distributed computing system // Int. J. Comput. Appl. Foundation of Computer Science, 2015. V. 129, № 2. P. 25-30.

3. Alam M., Khan A., Varshney A.K. A review of dynamic scheduling algorithms for homogeneous and heterogeneous systems // Syst. Archit. Springer, 2018. P. 73-83.

4. Chawla Y., Bhonsle M. A study on scheduling methods in cloud computing // Int. J. Emerg. Trends Technol. Comput. Sci. 2012. V. 1, № 3. P. 12-17.

5. Попов С.Б. Концепция распределенного хранения и параллельной обработки крупноформатных и зображений // Компьютерная Оптика. 2007. Т. 31, № 4. С. 77-85.

6. Koelma D., Jonker P.P., Sips H.J. Software architecture for application-driven high-performance image processing // Parallel and Distributed Methods for Image Processing. 1997. V. 3166. P. 340-351.

7. Olk J.G., Jonker P.P. Parallel image processing using distributed arrays of buckets // Pattern Recognit. Image Anal. (Advances Math. Theory Appl. Pleiades Publishing, Ltd.(Плеадес Паблишинг, Лтд), 1997. V. 7, № 1. P. 114-121.

8. Seinstra F.J., Koelma, D.C., Geusebroek, J.M., Verster, F.C., Smeulders A.W. Efficient Applications in User Transparent Parallel Image Processing. // ipdps. 2002.

9. Squyres J.M., Lumsdaine A., Stevenson R.L. Toolkit for parallel image processing // Parallel and Distributed Methods for Image Processing II. 1998. V. 3452. P. 69-80.

10. Hu D., Krishnamachari B. Throughput optimized scheduler for dispersed computing systems // 2019 7th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (Mo-bileCloud). 2019. P. 76-84.

11. Kaliaev A. Multiagent approach for building distributed adaptive computing system // Procedia Comput. Sci. Elsevier, 2013. V. 18. P. 2193-2202.

12. Каляев А.И. Децентрализованная организация диспетчера GRID на базе сообществ агентов // Известия Южного федерального университета. Технические науки. 2011. Т. 121. № 8. С. 230-238.

13. Kalyaev A., Korovin I. Adaptive Multiagent Organization of the Distributed Computations // AASRI Procedia. 2014. V. 6. P. 49-58.

14. Ковтуненко А.С., Масленников В.А. Создание распределенных информационно-управляющих систем на базе агентно-ориентированного подхода // XII всероссийское совещание по проблемам управления ВСПУ-2014. 2014. С. 8984-8994.

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

TASK SCHEDULING IN DISTRIBUTED COMPUTING SYSTEMS IN VIDEO DATA STREAMS PROCESSING

S.A. Semenistyi

The article considers an approach based on the combination of the use of multi-agent technologies and machine learning for planning the execution of a parallel program for processing video data streams on distributed computing systems in the absence of information about the computational complexity of its elements. The approach includes a method of modifying the task graph and theoretically allows, when solving problems of processing video data streams, to provide the required temporal characteristics of the solution if there are sufficient computing resources.

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

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