Сс1: 10.36724/2409-5419-2024-16-2-44-50
МЕТОДЫ РАЗДЕЛЕНИЯ ПРОГРАММНЫХ И АППАРАТНЫХ РЕСУРСОВ ДЛЯ СОВРЕМЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ
СЕТЕЙ
ПЕТРОВ АННОТАЦИЯ
Алексей Юрьевич1 Введение: разделение программных и аппаратных ресурсов является одном
из ключевых вопросов для современных вычислительных сетей. Последние разработки в сфере архитектур авионики, такие как Интегрированная модульная архитектура второго поколения, требует новых методов построения распределенных аппаратных и программных средств. Цель исследования: целью исследования является сравнение современных методов разделения программных и аппаратных ресурсов в вычислительных сетях, а также анализ наиболее эффективных механизмов работы этих алгоритмов. Методы: проблема разделения ресурсов в сети была смоделирована в виде задачи по разбиению графа. Особое внимание было уделено изучению эвристических методов оптимизации, используемых для получение приближенного значения при больших объемах данных. Были изучены и проанализированы генетический алгоритм, метод роя частиц, алгоритм муравьиной колонии, алгоритм нечеткой кластеризации, метод многоуровневого разбиения графов, а также метод имитации отжига. Для наиболее системного подхода к анализу была построена сравнительная таблица методов, отражающая эффективность алгоритмов по некоторым параметрам. Результаты: создание гибридных алгоритмов обладает наибольшей перспективностью в сфере вычислительных сетей. Стоит отметить высокий потенциал таких методов как, метод ОА-РБО и БА-РБО. Практическая значимость: представленная концепция совмещения разных алгоритмов разрабатывается для современных архитектур авионики и комплексов бортового оборудования для поддержки параллельного решения задач и их перемещение на критически важные приложения. Обсуждение: применение подобных принципов при создании других гибридных алгоритмов успешно продемонстрировали себя на практике и получили высокую оценку специалистов.
Сведения об авторе:
1 аспирант, Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения", г. Санкт-Петербург, Россия, [email protected]
КЛЮЧЕВЫЕ СЛОВА: методы разделения, аппаратные и программные ресурсы, эвристические алгоритмы, разбиение графа, критерии эффективности
Для цитирования: Петров А.Ю. Методы разделения программных и аппаратных ресурсов для современных вычислительных сетей // Наукоемкие технологии в космических исследованиях Земли. 2024. Т. 16. № 2. С. 44-50. Сс1: 10.36724/2409-5419-2024-16-2-44-50
Введение
Разделение прикладных задач современных сетей на программные и аппаратные ресурсы является одной из ключевых проблем при оптимизации скорости, задержки, мощности и других характеристик вычислительной сетей.
Эффективное распределение системных ресурсов определяет верное соответствие выполнения задач через программные и аппаратные компоненты. Разделение используемых в сети ресурсов способствует достижению баланса между ограничениями и выполнением требуемых задач.
Так в ведущих странах мира сейчас активно разрабатывается новая архитектура авионики, получившая название «Интегрированная модульная архитектура второго поколения (ИМА-НП)». Она требует новых концепций и методов построения, распределенных аппаратных и программных средств. Программная организация должна поддерживать распределенное параллельное решение задач, перемещение задач для концентрации ресурсов на критических приложениях и поддержки отказоустойчивости на системном уровне [0, 2, 3].
При разработке ИМА-НП и подобной ей архитектур появляется потребность в использовании методов разделения ресурсов. Стоит задача провести анализ существующих подходов к разделению ресурсов и методов, которыми это достигается. Необходимо найти наиболее применимый метод для решения задачи обеспечения распределенных вычислений.
В работе будет сделан акцент на программное разделение ресурсов, так как современные архитектуры авионики, примеров которых является ИМА-НП, строятся в первую очередь на основе определённого программного обеспечения, а уже впоследствии разворачиваются на конкретном аппаратном комплексе с учетом его особенностей. Тем не менее методы, используемые при аппаратном разделении ресурсов, также будут рассмотрен, потому что они могут содержать механизмы, которые можно эффективно применить в программном.
Методы разделения программных и аппаратных ресурсов
Существуют различные методы оптимизации, которые применяются в задачах автоматизации процесса распределения системных ресурсов. Эти методы могут быть классифицированы на точные и эвристические [4]. При выборе метода на текущем этапе основными критериями являются объем данных для обработки, а также достаточная точность получаемых результатов.
Точные методы направлены на получения глобального оптимального решения. Такие точные алгоритмы, как метод ветвей и границ [5] или целочисленное программирование [6], наиболее приспособлены для работы с небольшими графами, состоящими из нескольких десятков узлов.
Эвристические методы используются для получение приближенного решения, поэтому они применяются при работе с большими объемами данных. Эвристические методы можно разделить на два типа - конструктивные и итерационные [7]. Конструктивные алгоритмы, например, алгоритм нечеткой кластеризации, создают сравнительно небольшое множество
решений, доводя его до завершения через добавление компонентов к начальному решению. Итерационные алгоритмы, такие как алгоритм моделируемого отжига, метод роя частиц, алгоритм муравьиной колонии, получают решение как предел последовательности приближений, вычисляемых в ходе процесса итераций [7].
Проблему разделения ресурсов в вычислительной сети можно смоделировать как задачу по разделению графа. Разбиение графов считается одной из важнейших проблем при разработке СБИС и распределении в них нагрузки, что добавляет актуальности проблеме поиска эффективного метода оптимизации ресурсов. Этот процесс представляет собой сокращению графа до меньшего графа через разделения набора узлов на взаимоисключающие группы [8].
Обзор существующих решений
Генетический алгоритм или Genetic Algorithm (GA) — это итерационный алгоритм эволюционной оптимизации, берущий за основу дарвиновской естественной оценке и отборе. Метод GA это сравнительно небыстрый алгоритм, который функционирует через внесение незначительных изменений по ходу решения, пока не будет достигнуто наилучшего результата.
В начале все вершины заданного графа, составляя популяцию, упорядочиваются по возрастанию локальных степеней, составляя популяцию. Составив пары вершин, вычисляем для них оценку связности на основании числа связей между вершинами. По полученным оценкам для создания «нового поколения», отбираем те пары, значение оценки связности которых превышает или равно 0. Если таких пар не было найдено, то возможно два варианта решения задачи - либо происходит выбор пар с наименьшей отрицательной оценкой связности, либо, если создание пар из двух вершин более невозможно, создаются группы из трех [9]. Фактически происходит полный перебор вариантов решений, если количество вершин для анализа относительно малое. Генетические операторы используются для сокращения числа перебираемых пар при увеличении числа вершин.
Основными генетическими операторами являются оператор отбора, оператор кроссинговера, оператор мутации, оператор инверсии. Их суть заключается в обеспечении возможности развития и улучшения получаемых новых популяций, вводя дополнительные параметры в этапы метода. Применение или улучшение генетических операторов помогает создать генетический алгоритм, который лучше подходит для решения задачи с конкретными параметрами.
Высокая скорость данного алгоритма достигается благодаря сосредоточенности только на информации о допустимых значениях параметров целевой функции. Генетический алгоритм избегает попадания к попаданию в локальные экстремумы за счет работы сразу с несколькими точками пространства поиска. Недостатками данного алгоритма являются непостоянная эффективность при получении оптимального решения и высокая требовательность к вычислительным ресурсам [10, 11].
Метод роя частиц или Particle swarm optimization (PSO) -это итерационный алгоритм, который базируется на принци-
пах интеллекта роя, использующего социально-психологические и социально-биологические принципы. Этот метод основан на генерации популяции возможных решений, который называются частицами. Согласно заданной при формировании задачи формуле, они перемещаются в пространстве. Изменения траектории перемещения происходят в зависимости от условий поиска, а также при их приближении к наилучшему положению [12].
В пространстве задачи поиска наилучшей оптимизации каждая частица называется агентом. Она обладает памятью, которая содержит информацию о положении частицы относительно лучшего решения и о ее глобальном положении в пространстве других частиц. По ходу движения частицы для нее вычисляется значение целевой функции, основываясь на котором, частица и совершает движение. Также каждая частица передает информацию о своем положении и о наилучшем для нее решении своим соседям, что и соотносится с понятием роя, движение которого происходят сообща [13].
Метод роя частиц достаточно прост в реализации, а также имеет значительную гибкость при совмещении с другими алгоритмам, что подтверждает его универсальность. Как недостаток стоит выделить зависимость выбираемых коэффициентов и оценки получаемого решения.
Алгоритм муравьиной колонии или Ant Colony Optimization (ACO) - это эвристический алгоритм, основанный на моделировании поведении муравьиной колонии. Муравей, совершая движение по случайному направлению выпускает специальное химическое вещество, называемое феромоном. Другие муравье в поисках кратчайшего маршрута, основываются на опыте предыдущих членов колонии, двигаются по этим феромонам. В итоге возникает коллективное поведение, при котором большинство муравьев предпочитают наиболее короткие пути, что способствует созданию еще большего количества феромонов на оптимальных путях, делая их наиболее «привлекательными» для новых муравьев [14].
Эта стратегия легко проецируется на задачу разбиения графа. Определяем число агентов, равняющихся числу вершин графа, и формируем граф поиска решений. Каждое ребро графа обладает начальным значением феромоны. На каждой итерации агент, проходя определенный маршрут, «помечает» его феромоном, чтобы при проходе следующего агента, тот мог воспринимать опыт предыдущего. Со временем на ребрах происходит «испарение» феромона, предотвращая использование одних и тех же маршрутов. Итерации выполняются до получения наилучшего возможного решения [15, 16].
Алгоритм муравьиной колонии основан на популяции, благодаря чему легко реализуется параллельно. Его легко можно комбинировать с другими эвристическими алгоритмами. Вместе с тем метод ACO сложен в реализации требует значительных временных затрат для вычисления решения. При неверно заданных параметрах его скорость дополнительно понижается, а качество получаемого решения ухудшается.
Алгоритм нечеткой кластеризации или Fuzzy C-Means (FCM) представляет собой конструктивный алгоритм оптимизации. FCM - наиболее эффективный метод кластеризации согласно многим исследованиям. Он превосходит другие алгоритмы кластеризации, такие как методы иерархическую
кластеризацию и алгоритм -mean и иерархическую кластеризацию.
Основная задача FCM - минимизировать объективную функцию, учитывая сходство между элементами и центрами кластеров. Алгоритм нечеткой кластеризации базируется на нечетком поведении, он позволяет получить естественную технику кластеризацию с весами принадлежности, имею-щимиестественнуюинтерпретацию [17, 18].
Алгоритм FCM направлен на поиск матрицы прототипов и матрицы степеней принадлежности, которые минимизируют объективную функцию приспособленности. Обновление прототипов происходит с помощью определенной функции, которая минимизирует объективную функцию. Обновление степеней принадлежности происходит согласно функции уровня нечеткости кластера. Хорошее разбиение достигается, когда степень принадлежности сходится к 0 или 1. Однако алгоритм FCM чувствителен к начальным значениям и может попадать в локальный оптимум, что снижает его эффективность [19].
Метод Многоуровневого разбиения графов или Multi Level Graph Partitioning (MLGP) - метод, впервые описанный в работе Лиландом Р. и Хэндриксоном Б., которая касалась непосредственно разделению графов. Процесс работы MLGP можно глобально разделить на несколько этапов - огрубление графа, анализ и разбиение на части, снятие грубости и уточнение.
Применяя к начальному графу огрубление, создается новый граф путем уменьшения количества вершин через объединение вершин и сворачивание ребер. При каждом повторном огрублении создаются пары совпадающих вершин и ребер без общих вершин для последующего объединения. В основе огрубления лежит алгоритм паросочетания из тяжелых рёбер (Heavy Edge Matching, НЕМ) [20]. Перебирая в случайном порядке каждую вершину графа, происходит сопоставление идущих от них ребер на предмет максимального веса [21].
После огрубления задача происходит начальное разбиение, огрубленный граф анализируется алгоритмами и впоследствии получает грубое разбиение. В качестве алгоритма можно применять алгоритм первой подгонки. Его суть заключается в упорядочивании машины по убыванию максимальной мощности и вершин по убыванию веса. Далее каждой вершине выдается список машин, при условии, что первой назначается машина с достаточной мощностью, которая уменьшается с весом этой вершины [22].
На заключительном этапе выполняется алгоритм уточнения грубого разбиения, включающий два цикла. Первый внешний смещает вершины для достижения лучшего среза, завершая проход при невозможности улучшения полученного разбиения. Второй внутренний цикл итеративно ищет вершину с наибольшим выигрышем для перемещения. Алгоритм завершается, когда нет возможности найти более подходящее перемещение. После этого цикл начинается сначала до момента соблюдения дополнительных условий или до момента перемещения всех вершины. Значительному сокращению периода выполнения при сохранении качества финального решения способствует оптимальный выбор соответствующих условий.
Достоинством MLGP является потенциальная возможность за оптимальное время работать с крупными частями графа через стягивания ребер в вершины путем локальной оптимизации.
Метод имитации отжига или Simulated Annealing (SA) -итерационный алгоритм оптимизации, был адаптирован из Алгоритма поиска ближайшего соседа. Но в отличие от NNA, выбирающего лучшее решение в окрестности, SA ищет худшее в соответствии с некоторой функцией вероятности. Суть алгоритма SA заключается в выборе решения, связанного с перемещением вершины с некоторой вероятностью, зависящей от параметров - выигрыша при перемещении и температуры [23].
Вершина с положительным выигрышем двигается в часть, не имеющую достаточной емкости с вероятностью, зависящей от количества свободного места. За сходимость алгоритма к правильному решению отвечает температура. Задавая параметры начальной температуры нужно, чтобы доля принятых переходов вверх по склону при начальной температуре была равна параметру начальной вероятностью принятия [24]. Для снижения температуры следует использовать функцию охлаждения до момента достижения остановки алгоритма.
Условием остановки является наступление замороженного состояния, что служит маркером для прекращения поиска дальнейшего решения. Альтернативными условиями остановки может являться достижение некоторого заранее определенного температурного порога или преодоление заданного количества эпох во время цикла [25]. При использовании алгоритма SA стоит иметь в виду случайный характер этого метода, который может получать разные итоговые решения. Благодаря этому повторное выполнение алгоритма может улучшить полученный ранее ответ, но также стоит учитывать потенциальные временные затраты на дополнительные вычисления.
Алгоритм имитации отжига относительно прост в реализации, а также универсален в применении для большого количества комбинаторных задач. Тем не менее, учитывая случайный характер метода, для настройки параметров и достижения оптимального решения могут потребоваться многократные запуски тестов. Параметры от задачи к задаче могут значительно отличаться, благодаря чему тестирование является обязательным этапом при использовании метода SA.
Метод KLSA это гибридный алгоритм, сочетающий преимущества двух более ранее описанных мною методов. Он был выбран для обзора для демонстрации преимущества гибридного подхода к созданию новых алгоритмов, заключающемуся в вычленении наиболее перспективных механизмов изученных ранее алгоритмов и в объединении их в новой разработке, оптимально применяющей полученные механизмы [26].
Метод KLSA объединяет в себе алгоритмы SA и MLKL, интегрируя достоинства SA при самом грубом разбиении. Глобально гибридный метод копирует алгоритм MLKL, но с внедрением одного полезного новшества. В отличие от уточнения на основе KL-подобного алгоритма метод SA благодаря своему случайному фактор анализирует большее про-
странство решений, даже несмотря на увеличенное время вычислений. Использование механизмов SA для поиска лучшего решения только при грубом разбиении нивелирует дополнительные вычислительные и временные затраты, так как в масштабах работы всего алгоритма это ведет к улучшению процесса.
Сравнение алгоритмов
Для сравнения изученных алгоритмов были дополнительно исследованы результаты работ, проведенные Де Турка Ф., Вербергом Т., и Доета Б при проетировании гибридного метода KLSA [26,27], а также работа Мхадби И., Отмана С.Б. и Сауда С.Б. посвященная алгоритму FCM-PSO [28].
Исследование по KLSA было проведено для решения проблемы бинарного разбиения с учетом различных графов задач от 100 до 1000 узлов. Каждый алгоритм был выполнен 10 раз, всегда принимались лучшие решения. При сравнении вычисления разреза графа результаты брались относительно оптимального решением целочисленного линейного программирования (Integer Linear Programming, ILP) [29, 30]. Тесты были скомпилированы в среде Matlab и выполнялись на процессоре Intel Celeron (2,16 ГГц) [26].
При работе над алгоритмом FCM-PSO были сгенерированы тестовые графы, содержащие разные размеры узлов. Весовые коэффициенты узлов находились в диапазоне от 1 до 100. Было создано 100 графов и весов машин для графа каждого размера. Все вычисления проводились на процессоре Intel Xeon L5420 (2,5 ГГц) [28].
: i >>!» »1
■ 10 узлов >20 узлов "50 узлов
а)
Время выполнения (мс) J 200
MLKL SA KLSA
■ 10 узлов ■ 20 узлов ■ 50 узлов
■ 70 узлов "100 узлов
б)
Время выполнения 35000 30000 25000 20000 15000 10000 5000
О ---■
. .ail III
PSO 100 узлов
СА I 200 узлов
Г)
АСО 1 500 узлов
FCM ] 000 узлов
Рис. 1. Результаты сравнения методов: а) Сравнение результирующего разреза графа относительно решения 1ЬР; б) Сравнение времени на разбиение графа; в) Сравнение процента затрат; г) Сравнение времени на разбиение графа
Графики иа рисунке 1 доказывают, что не существует универсального алгоритма. Каждый метод сбалансирован, если он обладает сравнительно высокой скоростью выполнения, это компенсируется значительными вычислительными затратами на его реализацию или качеством получившегося результата. При анализе методов стоит в первую очередь основываться на выборе критериев необходимых в выбранной сфере применения.
Таблица 1
Сравнение методов разделения ресурсов по критериям
\Методы
ПарЪ^
метры4''^ FCM PSO GA SA АСО MLKL
оценки
Сложность Средняя Низкая Высокая Низкая Высокая Высокая
реализации
Гибкость Неадап- Адап- Неадап- Неадап- Адап- Адап-
при совме- тивныи тивный тивныи тивныи тивный тивный
щении с
другими
алгоритмам
Применение Специа- Специа- Универ- Универ- Специа- Специа-
лизиро- лизиро- сальный сальный лизиро- лизиро-
ванный ванный ванный ванный
Зависимость Зависи- Зависи- Свобод- Зависи- Зависи- Свобод-
эффективно- мый мый ный мый мый ный
сти от
настроики
параметров
В таблице 1 представлена сравнительная таблица, показывающая эффективность каждого изученного метода по важным критериям.
Заключение
Каждый метод разделения программных ресурсов обладает преимуществами и недостатками. Тем не менее наибольшей эффективности можно добиться путем совмещения механизмов разных алгоритмов в одном методе. Этот подход доказывается немалым количеством исследований по созданию гибридных алгоритмов. Метод KLSA выгодно объединяет в себе алгоритмы SA и MLKL, эффективно комбинируя их достоинства в конкретных задачах.
Для выбора оптимального алгоритма следует учитывать его универсальность применения и гибкость в совмещении с другими методами. В этом контексте, перспективным кажется использование метода GA-PSO или SA-PSO, который сочетает гибким метод роя частиц с высокой эффективностью генетического алгоритма и метода имитации отжига.
Сочетание метода может привести к эффективному результату, который лучше подходит для использования в современных вычислительных сетях. Этот метод может быть применен в Интегрированной модульной архитектуре второго поколения, где количество узлов на борту самолетов превышает 1000. Для этого необходимо создание новых научных методов или алгоритмов решения этой задачи.
Литература
1. ЧуяновГ.А., КосъянчукВ.В., СельвесюкН.И. Перспективы развития комплексов бортового оборудования на базе интегрированной модульной авионики II Известия ЮФУ. Технические науки. 2013. №3 (140). С. 55-62.
2. Vanderleest S.H., Matthews D.C. Incremental Assurance of Multi-core Integrated Modular Avionics (IMA)// IEEE/AIAA 40th Digital Avionics Systems Conference (DASC). San Antonio, 2021, C. 1-9. doi: 10.1109/DASC52595.2021.9594404
3. Eveleens R.L.C. Integrated Modular Avionics Development Guidance and Certification Considerations// National Aerospace Laboratory NLR. Amsterdam, 2006. 19 c.
4. Martins J., Ning A. Engineering Design Optimization. Cambridge. Cambridge University Press. 650 c. doi:10.1017/9781108980647
5. Дыбская B.B. Проектирование системы распределения в логистике IIМ.: ИНФРА-М, 2023. 235 с. doi: 10.12737/24760 ISBN 978-516-012614-2
6. Chatha K.S., Vemuri R. Hardware-software partitioning and pipelined scheduling of transformative applications II IEEE Transactions on Very Large-Scale Integration (VLSI) Systems. 2002. № 3. C. 193-208. doi: 10.1109/TVLSI.2002.1043323.
7. Arato P., Mann Z.A., Orban A. Algorithmic aspects of hardware/software partitioning 11 ACM Transactions on Design Automation of Electronic Systems. №10. 2005. C. 136-156. doi:10.1145/1044111.1044119
8. Евстигнееве.А. Применение теории графов в программирова-нииМ.: Наука, 1985. 352 с.
9. Pavai G., Geetha T.V. New crossover operators using dominance and co-dominance principles for faster convergence of genetic algorithms II Soft Computing 23. 2019. C. 3661-3686. doi: 10.1007/s00500-018-3016-1
10. Coley D.A. An Introduction to Genetic Algorithms for Scintists and Engineers. NJ, World Scientific. 1998. 225 c.
11. Chun-Fung Li J., Zimmerle D. Flexible networked rural electrification using levelized interpolative genetic algorithm II Energy and AI. №10. 2022. doi:10.1016/j.egyai.2022.100186
12. Ovat F.A., Anyandi A.J. The particle swarm optimization algorithm application II Global Journal of Engineering and Technology Advances. № 3. 2020. 6 c.
13. Mason K., Duggan J., Howley E. A Meta Optimization Analysis of Particle Swarm Optimization Velocity Update Equations for Watershed Management Learning II Applied Soft Computing. №62. 2018. C. 148-161. doi:10.1016/j.asoc.2017.10.018
14. Wang G., Kastner R. Application partitioning on programmable platforms using the ant colony optimization IIDBLP. 2006. 19 c.
15. Dorigo M., Birattari M., Stutzle T. Ant colony optimization II IEEE Computational Inteligence Magazine. №4. 2006. C. 28-39. doi: 10.1109/MCI.2006.329691
16. Han Z., Wang Y., Tian D. Ant colony optimization for assembly sequence planning based on parameters optimization II Frontiers of Mechanical Engineering volume 16. 2021. C. 393-409. doi:10.1007/sll465-020-0613-3
17. Sheshasayee A., Sharmila P. Comparative study of fuzzy C means and K means algorithm for requirements clustering II Scientific Program-ming.2014,№7.C. 853-857.
18. Syeda T.B., SyedM, Syed M.H. K-means and Fuzzy c-means Algorithms Comparison using KNIME II The 6th International Conference on Next Generation Computing. 2020. C. 4.
19. Pérez-Ortega J., Rey-Figueroa C.D., Roblero-Aguilar S.S., Almanza-Ortega N.N., Zavala-Díaz C., García-Paredes S., Landero-Nájera V. POFCM: A Parallel Fuzzy Clustering Algorithm for Large Datasets II Mathematics2023. №11. 2023. C. 4. doi:10.3390/mathll081920
20. García J.L.G., YahyapourR., Tchernykh A. Graph Partitioning for FEM Applications: Reducing the Communication Volume with DSHEM II International Conference on High Performance Computing & Simulation (HPCS). Dublin, 2019. C. 779-786. doi:10.1109/HPCS48598.2019.9188124
21. Hendrickson B., Leland R. A multilevel algorithm for partitioning graphs II ACM/IEEE conference on Supercomputing (CDROM). 1995.
15 c. doi:10.1109/SUPERC.1995.242799
22. Ushijima-Mwesigwa H., Hyman J.D., Hagberg A. Multilevel Graph Partitioning for Three-Dimensional Discrete Fracture Network Flow Simulations II Math Geosci 53. 2021. C. 1699-1724 doi:10.1007/sll004-021-09944-y
23. Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by simulated annealing. New York, №220. 1983. C. 671-680. doi:10.1126/sci-ence.220.4598.671
24. Туровский Я..А., АдаменкоА.А. Сравнительный анализ эволюционного метода с использованием "изолятов" и метода имитации отжига при обучении искусственных нейронных сетей //Программная инженерия. №4. 2018. С.185-190. doi:10.17587/prin.9.185-190
25. Jing Y., Kuang J., Du J., Hu B. Application of improved simulated annealing optimization algorithms in hardware/software partitioning of the reconfigurable system-on-chip II Communications in Computer and Information Science. № 405. 2014. C.532-540. doi:10.1007/978-3-642-53962-6_48
26. Verbelen T., De Turck, Dhoedt B. Graph partitioning algorithms for optimizing software deployment in mobile cloud computing II Future Generation Computer Systems. №2. 2013. 26 c. doi:10.1016/j.fu-ture.2012.07.003
27. Yue Z., Edwards K.D., Sluder C.S., Som S. Prediction of Cyclic Variability and Knock-Limited Spark Advance (KLSA) in Spark-Ignition (SI) Engine II Internal Combustion Engine Division Fall Technical Conference. №2. 2018. C.10. doi:10.1115/ICEF2018-9605
28. Mhadhbi I., Othman S.B., Ali M.M. An efficient technique for Hardware/Software partitioning process in codesign II Scintific Programming. 2016. 12 c. doi:10.1155/2016/6382765
29. Cynthia O.U., Nvene S. An Optimal Model and Production Planning in Upholstery by Linear Integer Programming II Asian Journal of Probability and Statistics. №22. 2023. C. 19-32. doi:10.9734/aj-pas/2023/v22il474
30. Bredereck R., Kaczmarczyk A., Knop D., Niedermeier R. High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming II ACM Conference on Economics and Computation (EC '19). New York, 2019. C. 505-523. doi:10.1145/3328526.3329649
METHODS FOR SOFTWARE AND HARDWARE PARTITIONING FOR MODERN COMPUTING NETWORKS
ALEXEY YU. PETROV
Saint-Petersburg, Russia, [email protected]
KEYWORDS: partitioning methods, hardware and software resources, heuristic algorithms, graph partitioning, performance criteria.
ABSTRACT
Introduction: Introduction: separation of software and hardware resources is one of the key issues for modern computing networks. Recent developments in avionics architectures, such as the second generation Integrated Modular Architecture, require new methods to build distributed hardware and software. Purpose: the aim of the research is to compare modern methods of partitioning software and hardware resources in computing networks, as well as to analyze the most effective mechanisms of these algorithms. Methods: the resource partitioning problem in a network was modeled as a graph partitioning problem. Particular attention has been paid to the study of heuristic optimization methods used to obtain an approximation for large amounts of data. Genetic algorithm, particle swarm method, ant colony algorithm, fuzzy clustering algorithm, multilevel graph partition-
ing method, and simulated annealing method were studied and analyzed. For the most systematic approach to the analysis, a comparative table of methods was constructed, reflecting the performance of the algorithms on some parameters. Results: hybrid algorithms are the most promising in the field of computational networks. It is worth noting the high potential of methods such as, GA-PSO and SA-PSO. Practical relevance: the presented concept of combining different algorithms is developed for modern architectures of avionics and airborne equipment complexes to support parallel problem solving and their relocation to critical applications. Discussion: the application of similar principles in the creation of other hybrid algorithms has been successfully demonstrated in practice and has been highly appreciated by experts.
REFERENCES
1. G.A. Chuyanov, V.V. Kosyanchuk, N.I. Selvesyuk, "Prospects for the development of on-board equipment systems based on integrated modular avionics," Izvestia SFU. Technical science. 2013. No. 3 (140), pp. 55-62.
2. S.H. Vanderleest, D.C. Matthews, "Incremental Assurance of Multicore Integrated Modular Avionics (IMA)," IEEE/AIAA 40th Digital Avionics Systems Conference (DASC). San Antonio, 2021, pp. 1-9. doi: 10.1109/DASC52595.2021.9594404
3. R.L.C. Eveleens, "Integrated Modular Avionics Development Guidance and Certification Considerations," National Aerospace Laboratory NLR. Amsterdam, 2006. 19 p.
4. J. Martins, A.Ning, "Engineering Design Optimization," Cambridge. Cambridge University Press. 650 p. doi:10.1017/9781108980647
5. V.V. Dybskaya, "Design of a distribution system in logistics." Moscow: INFRA-M, 2023. 235 p. doi: 10.12737/24760 ISBN 978-5-16012614-2
6. K.S. Chatha, R. Vemuri, "Hardware-software partitioning and pipelined scheduling of transformative applications," IEEE Transactions on Very Large-Scale Integration (VLSI) Systems. 2002. No. 3, pp. 193208. doi: 10.1109/TVLSI.2002.1043323.
7. P. Arato, Z.A. Mann, A. Orban, "Algorithmic aspects of hardware/ software partitioning," ACM Transactions on Design Automation of Electronic Systems. No.10. 2005, pp. 136-156. doi:10.1145/1044111.1044119
8. V.A. Evstigneev, "Application of graph theory in programming," Moscow: Nauka, 1985. 352 p.
9. G. Pavai, T.V. Geetha, "New crossover operators using dominance and co-dominance principles for faster convergence of genetic algorithms," Soft Computing, No. 23. 2019, pp. 3661-3686. doi: 10.1007/s00500-018-3016-1
10. D.A. Coley, "An Introduction to Genetic Algorithms for Scintists and Engineers," NJ, World Scientific. 1998. 225 p.
11. J. Chun-Fung Li, D. Zimmerle, "Flexible networked rural electrification using levelized interpolative genetic algorithm," Energy and AI. No.10. 2022. doi:10.1016/j.egyai.2022.100186
12. F.A. Ovat, A.J. Anyandi, "The particle swarm optimization algorithm application," Global Journal of Engineering and Technology Advances. No. 3. 2020. 6 p.
13. K. Mason, J. Duggan, E. Howley, "A Meta Optimization Analysis of Particle Swarm Opti-mization Velocity Update Equations for Watershed Management Learning," Applied Soft Computing. No.62. 2018, pp. 148-161. doi:10.1016/j.asoc.2017.10.018
14. G. Wang, R. Kastner, "Application partitioning on programmable platforms using the ant colony optimization," DBLP. 2006. 19 p.
15. M. Dorigo, M. Birattari, T. Stutzle, "Ant colony optimization," IEEE Computational Inteligence Magazine. No.4. 2006, pp. 28-39. doi: 10.1109/MCI.2006.329691
16. Z. Han, Y Wang, D. Tian, "Ant colony optimization for assembly sequence planning based on parameters optimization," Frontiers of Mechanical Engineering. Vol. 16. 2021, pp. 393-409. doi:10.1007/s11465-020-0613-3
17. A. Sheshasayee, P. Sharmila, "Comparative study of fuzzy C means and K means algorithm for requirements clustering," Scientific Programming. 2014. No. 7, pp. 853-857.
18. T.B. Syeda, M. Syed, M.H. Syed, "K-means and Fuzzy c-means Algorithms Comparison us-ing KNIME," The 6th International Conference on Next Generation Computing. 2020, pp. 4.
19. J. Perez-Ortega, C.D. Rey-Figueroa, S.S. Roblero-Aguilar, N.N. Almanza-Ortega, C. Zavala-Diaz, S. Garcia-Paredes, V. Landero-Najera, "POFCM: A Parallel Fuzzy Clustering Al-gorithm for Large Datasets," Mathematics 2023. No.11, pp. 4. doi:10.3390/math11081920
20. J. L. G. Garcia, R. Yahyapour, A. Tchernykh, "Graph Partitioning for FEM Applications: Reducing the Communication Volume with DSHEM," International Conference on High Performance Computing & Simulation (HPCS). Dublin, 2019, pp. 779-786. doi:10.1109/HPCS48598.2019.9188124
21. B. Hendrickson, R. Leland, "A multilevel algorithm for partitioning graphs," ACM/IEEE conference on Supercomputing (CDROM). 1995. 15 p. doi:10.1109/SUPERC.1995.242799
22. H. Ushijima-Mwesigwa, J.D. Hyman, A. Hagberg, "Multilevel Graph Partitioning for Three-Dimensional Discrete Fracture Network Flow Simulations," Math Geosci. No. 53. 2021, pp. 1699-1724 doi:10.1007/s11004-021-09944-y
23. S. Kirkpatrick, C.D. Gelatt, M.P. Vecchi, "Optimization by simulated annealing," New York. No. 220. 1983, pp. 671-680. doi:10.1126/science.220.4598.671
24. Ya.A. Turovsky, A.A. Adamenko, "Comparative analysis of the evolutionary method using "isolates" and the simulated annealing method when training artificial neural networks," Software Engineering. No. 4. 2018, pp.185-190. doi:10.17587/prin.9.185-190
25. Y. Jing, J. Kuang, J. Du, B. Hu, "Application of improved simulated annealing optimization algorithms in hardware/software partitioning of the reconfigurable system-on-chip," Communications in Computer and Information Science. No. 405. 2014, pp. 532-540. doi:10.1007/978-3-642-53962-6_48
26. T. Verbelen, De Turck, B. Dhoedt, "Graph partitioning algorithms for optimizing software deployment in mobile cloud computing," Future Generation Computer Systems. No.2. 2013. 26 p. doi:10.1016/j.future.2012.07.003
27. Z. Yue, K.D. Edwards, C.S. Sluder, S. Som, "Prediction of Cyclic Variability and Knock-Limited Spark Advance (KLSA) in Spark-Ignition (SI) Engine," Internal Combustion Engine Division Fall Technical Conference. No.2. 2018, pp.10. doi:10.1115/ICEF2018-9605
28. I. Mhadhbi, S.B. Othman, M.M. Ali, "An efficient technique for Hardware/Software partitioning process in codesign," Scintific Programming. 2016. 12 p. doi:10.1155/2016/6382765
29. O.U. Cynthia, S. Nvene, "An Optimal Model and Production Planning in Upholstery by Linear Integer Programming," Asian Journal of Probability and Statistics. No.22. 2023, pp. 19-32. doi:10.9734/ajpas/2023/v22i1474
30. R. Bredereck, A. Kaczmarczyk, D. Knop, R. Niedermeier, "High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming," ACM Conference on Economics and Computation (EC '19). New York, 2019, pp. 505-523. doi:10.1145/3328526.3329649
INFORMATION ABOUT AUTHOR:
Alexey Yu. Petrov, Postgraduate student, Southwest State University, Kursk, Russia
For citation: Petrov A.Yu. Methods for software and hardware partitioning for modern computing networks. H&ES Reserch. 2024. Vol. 16. No 2. P. 44-50. doi: 10.36724/2409-5419-2024-16-2-44-50 (In Rus)