УДК 004.896; 004.75
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ РЕШЕНИЯ ЗАДАЧИ КОМПОНОВКИ В РСАПР В ТУМАННЫХ СРЕДАХ
А.Б. Клименко, И.Б. Сафроненкова
Рассмотрена проблема повышения эффективности решения задачи компоновки в распределенных системах автоматизированного проектирования в условиях туманных вычислений. Предложен новый метод решения данной проблемы, в основу которого положен онтологический анализ исходных данных об алгоритме решения задачи компоновки имеющихся ресурсов, позволяющий ограничить пространство поиска узлов-кандидатов для последующего решения задачи распределения вычислительной нагрузки.
Ключевые слова: онтология, туманные вычисления, распределенная система автоматизированного проектирования, распределение вычислительной нагрузки, задача компоновки, параллельный генетический алгоритм.
Введение. Появление концепции «туманных» вычислений создало благоприятные предпосылки для развития областей, связанных с распределенным решением задач высокой вычислительной сложности, в том числе задач конструкторского проектирования. Задача компоновки относится к классу ^-сложных, поэтому для ее решения эффективно используют технологии параллельных вычислений, которые позволяют разбивать данную задачу на подзадачи. Такие вычисления реализуются в распределенных системах автоматизированного проектирования (РСАПР) [1]. Одним из главных критериев эффективности распределенных систем является скорость их решения, которая, в свою очередь зависит как от используемых методов поисковой оптимизации, методов распараллеливания алгоритмов, а также от способа размещения фрагментов программ, реализующих эти алгоритмы, относительно друг друга [2,3].
Последнее приобретает особую актуальность в свете перспектив внедрения систем туманных вычислений, поскольку для данной концепции характерно перемещение вычислительной нагрузки [4]. В этом случае вычислительные задачи меняют локацию, соответственно, с остановом вычислительного процесса и возможным сохранением контекстных данных [5]. Иными словами, процедура переноса вычислительных задач продуцирует время простоя этих задач и, следовательно, увеличивает время получения результата решения задачи САПР в целом.
Следует отметить, что размещение вычислительных задач на узлах туманного слоя также относится к классу ^-сложных, что, учитывая количество возможных вариантов размещения, приводит либо к отсутствию гарантированного времени решения задачи САПР распределенными средствами в среде туманных вычислений, либо к неприемлемым по качеству результатам за отведенное для решения время.
331
В сложившейся ситуации одним из способов улучшения качества решений за отведенное время может быть сокращение пространства поиска.
В данной работе с этой целью предлагается использовать онтологический подход, позволяющий уменьшить количество узлов-кандидатов для размещения вычислительных подзадач задачи компоновки в зависимости от их алгоритмической структуры, требуемых и имеющихся в наличии ресурсов.
Таким образом, в случае перемещения нагрузки в рамках концепции туманных вычислений, происходит уменьшение временных затрат на процедуру размещения вычислительных подзадач, что также сокращает общее время решения задач компоновки в РСАПР.
Решение задачи компоновки в РСАПР. Задача компоновки СБИС является первой на этапе конструкторского проектирования, поэтому результат ее решения во многом определяет качество проектируемого объекта в целом. Под задачей компоновки понимают задачи объединения модулей низшего (ь1)-го уровня в модули более высокого ьго уровня по заданному критерию или набору критериев оптимизации и при наличии заданных ограничений [6]. Рассмотрим задачу разбиения блоков в конструктивно-законченные части с учетом критерия межблочных связей. Данная задача сводится к задаче разрезания ориентированного гиперграфа H = (X,E) со взвешенными вершинами и ребрами на m подсхем. Требуется разбить множество X гиперграфа H на подмножества X1,X2..., такие что:
X, Ф0,iе I ={1,2...,ш};
X, пХ1 = 0У X, = X;|Хк\ = пк;к,Iе I.
ке1
Пусть 8. - j-й маршрут от одного из начальных ребер гиперграфа Н
к одному из конечных ребер. ¡. - условная длина j-го маршрута, которая
определяется числом частей гиперграфа ^ через которые проходит маршрут ^.
ш г
¡. = .) к,,
,=1 к=2
(.) П,еслиXk , с Р,ноЗхе X, : х£ Р, ] где г = Е , Е. = [в\в] е Б,}; аЦ) = *-1 " к Ч.
[О, в противном случае ]
Таким образом, некоторое фиксированное разбиение / характеризуется величиной: аг = ¡. ^, которая является максимальным числом частей гиперграфа Н, через которые проходят маршруты от начальных ребер гиперграфа к конечным при данном разрезании.
Ф = min af при
Задача компоновки состоит в отыскании такого разрезания f из множества возможных F гиперграфа H, при котором минимизируется значение af при заданных ограничениях:
£г *
где B - число элементов в блоке; С - число внешних выводов в блоке [7].
Тенденции современного производства СБИС и интенсивное развитие информационных технологий обуславливают популяризацию РСАПР, реализующих решение конструкторских задач на основе параллельных вычислений. Современные СБИС содержат миллионы транзисторов, соответственно, время, требуемое на решение конструкторских задач, многократно возрастает. Одним из перспективных подходов к повышению эффективности решения таких задач является использование параллельных вычислений. К преимуществам параллельной обработки относят возможность решения задач большей размерности, возможность достижения высококачественных результатов и доступность недорогих многопроцессорных вычислительных систем [8,9].
Необходимость организации параллельных вычислений в РСАПР при автоматизации проектирования изделий микроэлектроники обусловлена прежде всего высокой сложностью объектов проектирования и функциональной сложностью решаемых задач. РСАПР посредством декомпозиции исходной проектной задачи позволяет организовать параллельное решение полученных подзадач, что эффективно сказывается на сокращении общего времени решения конструкторской задачи.
Список крупнейших производителей САПР на 2014 г. возглавляет Autodesk, чья доля на рынке составила 29%. На втором месте расположилась Dassault Systemes (22%), на третьем — Siemens PLM Software (11%). Группа лидеров также включает Hexagon (10%), PTC (9%), Bentley Systems (Бентли Системс) (6%), Nemetschek (3%), Aveva (2%) и Trimble (2%). Ведущими российскими разработчиками инженерного программного обеспечения, производящими решения для управления жизненным циклом продукции, являются группа компаний «АСКОН» и Топ Системы [10].
САПР французской фирмы Dassault Systèmes в 2010 г.выпустила версию "CATIA on the Clouds" в рамках платформы V6 PLM.
Компании Huawei и Siemens в октябре 2018 года представили совместное решение Manufacturing Cloud Desktop (облачные автоматизированные рабочие места (АРМ) для производства) на базе программного обеспечения Siemens NX и платформы Huawei FusionAccess Desktop Cloud [11].
Компания Autodesk предоставила открытый доступ ко многим приложениям, работающим в «облаках»: Project Butterfly - среда для просмотра и рецензирования проектов онлайн, Project Neon - облачный фотореалистичный рендеринг, Inventor Optimization - оптимизация проектов, Project Twitch - предоставление через Интернет рабочих сессий AutoCAD, Revit и
333
Inventor. Отдельно стоит отменить инструмент Fusion 360 — первый инструмент SD-САПР, АСУП и автоматизированного конструирования (CAE) в своем классе. Он объединяет весь процесс проектирования изделий в рамках одной платформы на основе облачных технологий, которая подходит как для Windows, так и для Mac ОС [12].
Основные принципы туманных вычислений. Новое направление в информационных технологиях, получившее название «Интернет Вещей», которое характеризуется беспрецедентными объемами разнородных данных, послужило основой для создания концепции «туманных» вычислений. Данная концепция впервые была предложена компанией Cisco в 2012г. Концепция туманных вычислений (от англ. fog computing) является развитием концепции «облачных» вычислений и направлена на решение проблем, связанных, прежде всего, с оперативной обработкой больших объемов информации [13]. Различие между «облачным» и «туманным» подходом к организации вычислений заключается в том, что последний смещает вычисления к так называемому «краю» сети, используя для обработки данных вычислительные мощности как устройств сетевой инфраструктуры, так и конечные устройства пользователей [14].
В связи с тем, что концепция «туманных» вычислений может быть рассмотрена как следующий виток эволюционного развития вычислений «туманных», то схематично данную концепцию можно представить следующим образом (рис.1). Из рисунка видно, что слой «туманных» вычислений расположен между «краем» сети, т.е. пользовательскими устройствами, и облаком.
Облако
_ t _
Интернет
т
Слой туманных вычислений
Край сети: сенсоры, актуаторы, другие пользовательские устройства
Рис. 1. Схема концепции «туманных» вычислений
Ключевым фактором, способствующим интенсивному развитию «туманных» вычислений, является возможность перемещения нагрузки из облака в туманных слой и обратно. Такая особенность делает данную концепцию привлекательной для решения задачи перераспределения нагрузки в распределенных системах, основанных на технологии параллельных вычислений.
Анализ моделей параллельных генетических алгоритмов для решения задачи компоновки. Основной проблемой компоновки является тот факт, что ее решение обычными методами ведет к значительным затратам машинного времени и/или требует хранения больших объемов информации. К наиболее эффективным способам решения данной задачи можно
334
отнести компоновку на основе генетических методов [15]. Однако, решение нетривиальных задач при выполнении цикла простого генетического алгоритма (ГА) может потребовать значительных вычислительных ресурсов, таких как большой объем памяти и длительная продолжительность поиска. Одним из способов повышения эффективности ГА является их распараллеливание. Популярность параллельных ГА обосновывается, прежде всего, наличием природной особенности, характеризующей их тенденцию к распараллеливанию. Это становится возможным благодаря наличию операторов, обеспечивающих параллельную работу.
Рассмотрим концептуальные модели большинства параллельных ГА, приведенных в литературе [16, 17].
Модель независимых запусков (Independent Runs Model). Данная модель представляет собой параллельное выполнение одного и того же последовательного алгоритма без какого-либо взаимодействия между независимыми запусками. Такой простой метод выполнения одновременной работы весьма полезен. Например, он может быть использован для запуска нескольких версий одной и той же реализации алгоритма с различными начальными условиями. Модель независимых запусков также может быть рассмотрена как особый случай распределенной модели, где миграция отсутствует вовсе.
Модель «главный-подчиненный» (Master-Slave Model). Суть данной модели состоит в распределении вычислений целевой функции между несколькими «подчиненными» процессорами (подпопуляциями) и, затем, получении значений ЦФ «главным» процессором и его управлении путем коррекции основных параметров. Такая концепция параллельных вычислений достаточная проста в исполнении и сходна с исполнением ГА на процессоре последовательной обработки данных. Данная концепция проиллюстрирована на рис.2, где «главный» процессор отсылает параметры, которые необходимы для вычисления целевой функции, «подчиненным» процессорам, а затем они возвращают значение целевой функции «главному». «Главный» процессор контролирует задачу параллельного вычисления целевой функции, выполняемую «подчиненными». Такая модель становится более эффективной в случае высокой вычислительной сложности целевой функции, поскольку потери пропускной способности ничтожно малы по отношению к времени, затрачиваемому на вычисления.
Рис. 2. Концепция модели «главный-подчиненный»
335
Модель островов (распределенная модель) (Distributed Model). Согласно данной модели происходит разбиение популяции на относительно изолированные друг от друга острова (подпопуляции), которые функционируют независимо друг от друга в течение нескольких поколений. Параллельные алгоритмы, в основе которых лежит данная модель, иногда называют многопопуляционными ГА (multipopulation or multi-deme GAS). Главной особенностью таких алгоритмов является способность миграции индивидов из одной подпопуляции в другую. Согласно данной концепции, общая популяция ГА делится на отдельные независимые подпопуляции (локальные популяции), и несколько популяций ГА эволюционируют одновременно. По достижению срока изоляции, индивиды случайным образом мигрируют между соседними островами, т.е. происходит обмен особями между подпопуляциями. В данном случае генетические операторы (селекции, мутации и рекомбинации) работают в пределах каждого острова, причем, каждая подпопуляция может осуществлять поиск в различных областях всего поискового пространства с учетом других островов. Концепция модели островов представлена на рис.3.
Рис. 3. Концепция модели островов
Клеточная модель (Cellular Model). Параллельная клеточная или диффузионная парадигма работает с каждой особью индивидуально, поэтому иногда данную модель называют мелкоструктурный параллелизм (fine-grained parallelism). Основной характеристикой данной модели является структурирование популяции на соседства, причем индивиды могут взаимодействовать только с соседними. Следовательно, в силу того, что количество хороших решений возрастает в различных областях топологии, они медленно распространяются (диффундируют) по всей популяции. Таким образом, имеет место «диффузия» информации.
Рис. 4. Концепция клеточной модели
336
Разработка метода повышения эффективности решения задачи компоновки в РСАПР в среде туманных вычислений.
Условимся, что повышение эффективности решения задачи компоновки в РСАПР в среде туманных вычислений в рамках данной работы заключается в сокращении времени решения задачи размещения нагрузки. С связи с этим, авторами предложен онтологический подход к решению данной проблемы. Предложенный метод заключается в использовании онтологического анализа с целью ограничения пространства поиска для решения задачи размещения нагрузки. Исходными данными о параллельном алгоритме будут являться: класс алгоритма (ГА, ЭА, алгоритм муравьиной колонии и т.д.), модель распараллеливания (например, для ГА: Independent runs, Master-Slave, Distributed, Cellular), описание переносимого подграфа (исходное размещение и способ разбиения), характеристики узлов (вычислительная мощность, пропускная способность каналов связи). Условимся также об ограничениях, накладываемых на способы разбиения подграфа, поскольку в случае произвольных разбиений, количество вариантов разбиения значительно возрастает и приводит к необходимости решения еще одной np-сложной задачи, что не является целью настоящего исследования. Далее, на основании онтологии структур размещаемых подзадач проводится анализ, позволяющий ограничить пространство поиска узлов-кандидатов для последующего решения задачи размещения. Схема данного метода приведена на рис. 5.
Рис. 5. Схема метода повышения эффективности решения задачи
компоновки
Разработка онтологии размещаемых вычислительных подзадач задачи компоновки. Как уже было обозначено выше, быстродействие РСАПР в среде туманных вычислений принимаем главным критерием ее эффективной работы. Данный критерий зависит от многих факторов,
337
включая методы поисковой оптимизации, способы распараллеливания алгоритмов и также способы размещения подзадач между узлами, реализующими эти алгоритмы.
В случае, когда в среде туманных вычислений происходит перенос вычислительной нагрузки, решение задачи приостанавливается. Отсюда следует, что скорость и качество процедуры переразмещения нагрузки оказывает непосредственное влияние на быстродействие всей РСАПР, особенно в условиях решения трудоемкой задачи компоновки.
Поскольку количество узлов туманного слоя велико, участие всех узлов в качестве исходных данных для задачи размещения вычислительной нагрузки приводит к неконтролируемому разрастанию пространства возможных решений, а их перебор, соответственно, к увеличению времени получения приемлемого решения.
В данной работе предлагается произвести сокращение пространства возможных решений путем выделения из всего множества узлов туманного слоя тех узлов, использование которых будет наиболее целесообразно для решения комплекса вычислительных подзадач. Для этого предполагается использовать онтологию, позволяющую представить формально информацию о структуре и характеристиках размещаемых подзадач. На основе данной онтологии можно делать вывод о включении в пространство поиска, содержащее множество потенциальных узлов-кандидатов, того или иного вычислительного узла (ВУ).
Проведем анализ структуры подграфов размещаемых задач с целью выявления набора характеристик, позволяющих принять обоснованное решение о выдвижении вычислительного узла в подмножество узлов, формирующих исходные данные задачи размещения нагрузки.
В качестве среды для разработки онтологии будем использовать редактор Protégé 4.2 [18]. Итак, переходя к терминам онтологии, класс алгоритмов, используемых при решении задачи компоновки, определим как класс «Class», являющийся классом надкласса «Thing», установленного по умолчанию. В рамках данной работы класс «Class» содержит подклассы «ГА» («GA»), «ЭА» («EA»), «Алгоритмы роевого интеллекта» («Swarm Intelligence»). Количество данных подклассов может быть увеличено, в зависимости от применяемых к решению задачи компоновки алгоритмов. В данной работе будет рассмотрен подкласс «ГА». В отдельный класс вынесем модели распараллеливания ГА («Parallel_models») и свяжем данный подкласс с подклассом «ГА» через свойство «Object Propeties» «has_parallel_models». Класс «Parallel_models» содержит следующие подклассы: «Independent_runs», «Master_Slave», «Distributed», «Cellular». Для описания подграфа переносимых задач, выделим классы исходного размещения подграфа «Initial_placement» и способы его разбиения («Partition-ing_method»). Причем, каждая модель распараллеливания будет иметь свой способ разбиения. Например, модель «Independent_runs» имеет способ разбиения «Independent_runs_partitioning», включающий вариант переноса экземпляра (фрагмента алгоритма) («Instance_partitioning») или разбивку эк-
земпляра («Instance_transfer») исполняемого алгоритма. Для модели «Mas-ter_Slave» возможными вариантами разбиения являются: перенос подчиненного «Slave_transfer», перенос мастера «Master_transfer», перенос мастера и подчиненного «M_S_transfer». Для островной модели «Distributed» возможен один вариант разбиения подграфа: перенос острова «Is-land_transfer». В случае клеточной модели «Cellular» разбиения подграфа не имеет смысла, поскольку результат такого разбиения приведет к образованию островной модели. Для описания характеристик узлов введем класс «Node_features». Разработанная онтология приведена на рис. 6.
Рис. 6. Онтология размещаемых вычислительных подзадач задачи
компоновки
Данная онтология является ключевым компонентом нового метода. Представленная онтология содержит формальное описание структуры и характеристик параллельных генетических алгоритмов, а также требуемые и имеющиеся в наличии вычислительные ресурсы. Это делает возможным ограничить пространство поиска узлов-кандидатов для решения задачи распределения вычислительной нагрузки. Стоит также отметить, что онтология может быть расширена путем добавления новых классов алгоритмов, используемых при решении задачи компоновки.
Заключение. Данная статья посвящена вопросу повышения эффективности решения задачи компоновки в РСАПР в среде туманных вычислений. Поскольку задача компоновки относится к классу ^-сложных, то проблема сокращения времени ее решения важна. Особенно актуальной становится данная проблема в свете перспектив внедрения концепции туманных сред в качестве платформы для РСАПР. Авторами данного исследования предложен метод, направленный на ограничение пространства поиска узлов-кандидатов для последующего решения задачи распределения вычислительной нагрузки. Онтологический анализ, который является ключевым компонентом данного метода, позволяет сократить множество узлов, подлежащих рассмотрению в ходе решения задачи распределения вычислительной нагрузки, путем удаления из рассматриваемого множества заведомо неподходящих узлов. В результате получено ограниченное
множество узлов-кандидатов для распределения нагрузки, что и позволяет сократить время размещения вычислительных задач по узлам. В работе был проведен анализ моделей распараллеливания генетических алгоритмов, используемых для решения задачи компоновки в РСАПР. Результаты анализа послужили базой для создания онтологии размещаемых подзадач задачи компоновки.
Исследование выполнено при поддержке проектов РФФИ 18-2903229, 17-08-01605.
Список литературы
1. Глушань В. М., Лаврик П.В. Распределенные САПР. Архитектура и возможности. Старый Оскол: ТНТ, 2015. 187 с.
2. Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А. Построение веб-сервисов систем автоматизации схемотехнического проектирования // Информационные технологии и вычислительные системы. 2012. № 4. С. 7984.
3. Дмитревич Г.Д., Анисимов Д.А. Построение систем автоматизированного проектирования на основе сервис-ориентированной архитектуры // Известия СПбГЭТУ «ЛЭТИ». 2014. № 2. С. 14-18.
4. Moysiadis V., Sarigiannidis P. Moscholios I. Towards Distributed Data Management in Fog Computing // Wireless Communications and Mobile Computing. 2018.
5. Melnik E.V., Klimenko A.B., Ivanov D.Y. Distributed Information and Control system reliability enhancement by fog-computing concept application. Proceedings of IOP Conference Series: Materials Science and Engineering. 2018. V. 327. P. 165 - 168.
6. Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР: учебник для вузов. М.: Радио и связь. 1990. 352 с.
7. Курейчик В.В., Курейчик В.М. Эволюционные методы компоновки блоков ЭВА. Монография. Таганрог: Изд-во ТРТУ. 2006. 120 с.
8. Корнеев В.В. Параллельные вычислительные системы. М.:Нолидж. 1999. 320 с.
9. Лаврик П.В. Концептуальные подходы параллельной обработки информации в контексте реализации распределенной САПР. Труды Конгресса по интеллектуальным системам и информационным технологиям «AIS-IT'10». Научное издание в 4-х томах. М.: Физматлит. 2010. Т. 3. С. 112-118.
10. Левин Д. Инновационность и импортозамещение. Российский САПР - рынок в конце 2014 года // Ваше окно в мир САПР. №121 авг. 2014 [Электронный ресурс]. URL: http://isicad.ru/ru/digest/isicad.ru_articles_8_20 14.pdf (дата обращения: 08.02.2019).
11. TADVISER. 2018: Анонс совместного решения. [Электронный ресурс]. URL: http://www.tadviser.ru/index.php/Продукт:Huawei и Siemens Manufacturing_Cloud_Desktop (дата обращения: 08.02.2019).
340
12. Стремнев А. Autodesk Fusion 360 — 3D под контролем // [Электронный ресурс]. URL: https://sapr.ru/article/25279 (дата обращения: 08.02.2019).
13. Stojmenovic I., Wen S. The Fog Computing Paradigm: Scenarios and Security Issues // Proc. 2014 Fed. Conf. Comput. Sci. Inf. Syst. 2014. Vol. 2. P. 1-8.
14. Vaquero L. M., Rodero-merino L. Finding your Way in the Fog: Towards a Comprehensive Definition of Fog Computing // ACM SIGCOMM Comput. Commun. Rev. Vol. 44. No. 5. P. 27 - 32. 2014.
15. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы // 2-е изд., испр. и доп. М.: ФИЗМАТЛИТ. 2006. 320 с.
16. Alba E. (ed.) Parallel metaheuristics. A New Class of Algorithms. John Wiley, 2005, 575 p.
17. Levine D. A Parallel Genetic Algorithm for the Set Partitioning Problem // T. R. No. ANL-94/23. Argonne National Laboratory. Mathematics and Computer Science Division. 1994.
18. Protégé 4.2. // Stanford Center for Biomedical Informatics Research [Электронный ресурс]. URL: https://protege.stanford.edu (дата обращения: 08.02.2019).
Клименко Анна Борисовна, канд. техн. наук, старший научный сотрудник, anna klimenko@mail.rH, Россия, Таганрог, Научно-исследовательский институт многопроцессорных вычислительных систем им. А.В. Каляева (НИИ МВС), Южный федеральный университет,
Сафроненкова Ирина Борисовна, аспирант, safronenkova050 788@yandex. ru, Россия, Таганрог, Южный федеральный университет
COMMUTATION PARTITIONING PROBLEM EFFICIENCY ENHANCEMENT FOR DISTRIBUTED CAD SYSTEMS IN FOG-COMPUTING ENVIRONMENTS
A.B. Klimenko, I.B. Safronenkova
In the current paper the issue of partitioning problem solving efficiency for distributed CAD systems in the fog-computing environments is considered. A new method for problem solving was proposed. The key component of this method is an ontology-based analysis of applied algorithms and available resources, which allows to decrease the search space of candidate nodes for workload distribution problem solving.
Key words: ontology, fog-computing, distributed CAD system, workload distribution problem, commutation partition problem, parallel genetic algorithm.
Klimenko Anna Borisovna, candidate of technical sciences, senior scientific researcher, anna_klimenko@,mail. ru, Russia, Taganrog, Research Institute of Multiprocessor Computation Systems n.a. A. V. Kalyaev of Autonomous federal state institution of higher education «Southern Federal University»,
Safronenkova Irina Borisovna, postgraduate, safronenkova050 788@yandex. ru, Russia, Taganrog, Southern Federal University