The questions of microservice approach for design and support the functioning of distributed computational problems solvers are considered.
Keywords: distributed computing, computational model, microservices, multi-agent system, decentralized control.
УДК 004.75
АНАЛИЗ СОСТОЯНИЯ ИССЛЕДОВАНИЙ В ОБЛАСТИ МЕТОДОВ И АЛГОРИТМОВ ПЛАНИРОВАНИЯ В ГРИД И ОБЛАЧНЫХ ВЫЧИСЛЕНИЯХ
Виктор Васильевич Топорков, д-р техн. наук, проф., зав. кафедрой E-mail: [email protected] Дмитрий Михайлович Емельянов, канд. техн. наук, доц.
E-mail: [email protected] Национальный исследовательский университет «МЭИ»
http://www.mpei.ru Анна Станиславовна Топоркова, канд. техн. наук, доц.
Национальный исследовательский университет Высшая школа экономики
E-mail: [email protected] http://www.hse.ru
Статья посвящена анализу современного состояния исследований в области методов и алгоритмов планирования конкурирующих потоков структурированных, параллельных заданий в распределенных гетерогенных средах - грид и облачных вычислениях.
Ключевые слова: распределенные вычисления, грид, неотчуждаемые ресурсы, планирование, виртуальные организации, экономические механизмы
Работа выполнена при поддержке РФФИ (проекты 18-07-00456, 18-07-00534), Совета по грантам Президента Российской Федерации для поддержки молодых российских ученых (МК-2297.2017.9), Минобрнауки России, государственное задание (проект 2.9606.2017/8.9).
Введение
Одной из важнейших проблем организации распределенных вычислений является эффективное использование ресурсов с соблюдением соглашений о качестве сервиса. Традиционно в распределенных вычислениях выделяют и, как правило, разделяют планирование на уровне приложений (application-level scheduling) и планирование потоков независимых заданий (job-flow scheduling). В грид первый подход ассоциируется с брокер-ориентированной моделью, а второй - с использованием метапланировщиков в рамках виртуальных организаций (ВО). Многочисленные исследования связаны с планированием «портфеля задач» (bag-of-tasks), относительно простых и слабо связанных между собой. Брокеры ресурсов адаптируются к особенностям приложений с учетом их структуры, в то время как политика ВО регламентирует взаимодействие между ключевыми стейкхолдерами (пользователями, администраторами и владельцами ресурсов), например, на основе экономических моделей. Тем не менее, в рамках обоих подходов необходимо учитывать конкуренцию потоков независимых заданий, которая приводит к снижению уровня доступности разделяемых ресурсов. При этом даже в ВО предпочтения стейкхолдеров могут быть противоречивыми.
Важнейший класс структурированных заданий, состоящих из связанных задач, представляют научные приложения типа «поток работ» (workflow). Примеры таких проектов - Montage, Epigenomics, CyberShake, SIPHT, LIGO. Каждое из заданий задействует значительные разнородные и, зачастую, неотчуждаемые от владельцев, ресурсы, используемые также и локальными заданиями. Модель планирования задания - бесконтурный орграф (DAG), вершины которого соответствуют задачам, а дуги - информационным и
логическим связям. Известно, что проблема планирования в рамках этой модели является ЖР-полной даже для однородных вычислительных сред. Наличие же конкурирующих потоков независимых заданий и гетерогенность среды существенно усложняют вопросы эффективного планирования и разделения ресурсов.
Статья представляет обзор состояния работ по планированию потоков заданий и структурированных приложений в распределенных гетерогенных средах.
Планирование потоков заданий на неотчуждаемых ресурсах
В ГРИД с неотчуждаемыми ресурсами вычислительные узлы обычно частично используются локальными высокоприоритетными заданиями владельцев ресурсов. Таким
образом, доступные для внешних пользователей ресурсы представляются набором временных интервалов (слотов), в течение которых отдельные узлы могут выполнять задачи, входящие в параллельные пользовательские задания. В гетерогенных средах слоты имеют различные времена старта и завершения на ресурсах соответствующей производительности. Это усложняет проблему согласованного назначения параллельных заданий, составляющие задачи которых должны стартовать одновременно. Дополнительные трудности вызываются фрагментацией ресурсов [1, 2], когда большая часть узлов занимается низкоприоритетными мелкими заданиями. При этом высокоприоритетные задания «зависают» в очереди, поскольку не могут набрать требуемое количество слотов соответствующей длительности (окно). Планирование на уровне приложений [3] базируется на использовании доступных ресурсов и, как правило, не предполагает общей политики их предоставления и потребления. Планирование потоков заданий в ВО [4, 5] основывается на неких общих правилах разделения ресурсов, основанных, в частности, на экономических моделях [2-4, 6, 7]. Такой подход позволяет повысить эффективность планирования потоков заданий и разделения ресурсов. Политика ВО может быть направлена на оптимизацию планирования с учетом предпочтений стейкхолдеров. Примеры постановок задач планирования в ВО: оптимизация пользовательских критериев или функций полезности для отобранных заданий [6, 8], балансировка загрузки ресурсов [9, 10], соблюдение строгой очередности либо приоритетов заданий [11], оптимизация производительности системы по совокупности критериев [12, 13] и т.д. На принципе регламентированного участия пользователей в ВО и доступа к ресурсам строится ряд крупнейших грид-инфра-структур, в частности, EGI (European Grid Infrastructure). В настоящее время наблюдается тенденция гибридизации грид-техноло-гий, облачных сервисов и платформ [14-17]. В частности, интересен российский опыт интеграции облачной платформы Everest [14] как PaaS и грид-инфраструктуры EGI. Построение масштабируемых вычислительных сред и поддержка их функционирования, помимо грид-технологий (Globus Toolkit, Unicore, gLite, gUSE), облачных сервисов и платформ (Amazon EC2, IBM Cloud, VMware vCloud, Microsoft Azure, Everest), осуществляется на oc-нове применения метапланировщиков, брокеров ресурсов и систем управления потоками заданий.
Предпочтения различных стейкхолдеров ВО могут быть противоречивыми. С одной стороны, пользователи, вероятнее всего, заинтересованы в наискорейшем завершении их заданий с наименьшими издержками (стоимостью выполнения). В то же время
предпочтения ВО (администраторов и владельцев ресурсов), как правило, связаны с балансировкой загрузки доступных ресурсов либо максимизацией доходов собственников узлов. С другой стороны, политика ВО должна отражать интересы всех стейкхолдеров. При этом важнейшим аспектом является справедливость правил предоставления и потребления ресурсов. В ряде работ понятие справедливости интерпретируется в соответствии с теорией кооперативных игр [8]: справедливое распределение потоков заданий [10], справедливые квоты [18, 19], справедливая приоритезация пользовательских заданий [11], а также немонетарное распределение ресурсов [20]. Во многих исследованиях предпочтения стейкхолдеров ВО учитываются лишь отчасти. Например, владельцы ресурсов конкурируют за выполнение заданий, оптимизируя лишь пользовательские критерии [6, 21], либо основная цель - эффективное использование ресурсов без учета интересов пользователей [22]. В ряде случаев используются мультиагентные экономические модели [3, 23, 24]. Как правило, они не позволяют оптимизировать выполнение потока заданий в целом. Недостатком большинства централизованных подходов к метапла-нированию является то, что они утрачивают свою эффективность и возможность оптимизации в распределенных средах с ограниченным уровнем ресурсов. Например, в [2] показано, что традиционный бэкфиллинг [1] позволяет получать лучшие результаты планирования по сравнению с различными оптимизационными схемами на ресурсах с минимально допустимой для заданий производительностью. При этом некоторые задания могут «зависать» в очереди. В этих условиях приоритеты пользовательских заданий и дисциплина очереди существенно влияют на результаты планирования. В то же время брокеры приложений позволяют учесть предпочтения пользователей и оптимизировать выполнение заданий на основе рыночных механизмов [3, 4, 6, 7].
Циклическое планирование
Циклическая схема планирования (ЦСП) [2, 25] позволяет реализовать справедливое распределение ресурсов в том смысле, что каждый участник ВО обладает механизмами влияния на результаты планирования, исходя из собственных предпочтений [26]. Циклическое планирование потока заданий осуществляется по пакетам, причем с планированием каждого их них ассоциируется соответствующий временной интервал, называемый циклом. Процедура планирования включает два основных этапа. На первом этапе осуществляется поиск альтернативных сценариев выполнения каждого задания (далее - альтернатив) [27]. По сути, альтернатива - это окно слотов в пространстве «ресурсы - время». На втором этапе отбирается оптимальная комбинация альтернатив для выполнения пакета заданий с использованием методов динамического программирования [25]. Для каждого из заданий выбирается одна альтернатива на основе критериев ВО и пользовательских предпочтений [26]. В качестве пользовательских критериев выступают время выполнения задания (makespan), стоимость использования ресурсов и т.д. Эти критерии отражают пользовательские предпочтения и содержат дополнительную информацию для поиска альтернатив. Оптимизационная задача планирования в ВО может заключаться в максимизации или минимизации соответствующих критериев при заданных ограничениях на другие критерии, либо отыскании Парето-оптимальной стратегии в пространстве критериев [4, 25, 28].
Для планирования пакета заданий необходимо выделение для каждого из заданий множества альтернативных, не накладывающихся окон в пространстве «узлы - время». В противном случае могут возникнуть неразрешимые коллизии, обусловленные конкуренцией за ресурсы между различными заданиями, разделяющими одни и те же слоты. Процедуры последовательного поиска и резервирования ресурсов позволяют предотвратить подобный сценарий. Однако, в экстремальном случае, когда ресурсы ограничены либо перегружены, при лучшем исходе для каждого задания может быть зарезервирована лишь одна альтернатива. Это может вызывать фрагментацию ресурсов, поскольку большая часть ресурсов занимается мелкими, низкоприоритетными заданиями. Идея упреждающего (предвосхищающего) планирования представляет собой развитие ЦСП.
Упреждающее планирование
Идея упреждающего планирования состоит в том, чтобы генерировать своего рода «заготовку» множества альтернативных планов относительно опорного решения, а затем из этой «заготовки» выбрать допустимый план, наиболее близкий к опорному в соответствии с заданной метрикой.
Принципиальное отличие идеи упреждающего планирования от известных подходов заключается в следующем.
1. Отбор возможных альтернатив выполнения каждого задания осуществляется без учета возможных коллизий («пересечений» слотов) и без резервирования ресурсов. Результирующий набор альтернатив отражает полный диапазон возможных сценариев выполнения задания на текущем интервале планирования.
2. Реализуется выбор комбинации альтернатив (одна альтернатива для каждого задания пакета), оптимальной в соответствии с заданным критерием. Результирующая комбинация альтернатив, вероятнее всего, соответствует не допустимому плану из-за возможного «пересечения» слотов, обуславливающих коллизии при назначении на ресурсы. Основная идея этого этапа заключается в том, что полученное, возможно, и не допустимое решение, используется как опорное для поиска допустимого плана.
Допустимое назначение на ресурсы формируется с помощью альтернатив, отобранных на первом этапе. Это реализуется с помощью процедуры репликации. Суть репликации заключается в отыскании и резервировании допустимых альтернатив выполнения задания, в наибольшей степени соответствующих отобранным, близким к оптимальным, но не допустимым планам. В основу репликации заложена модификация оригинального алгоритма поиска наборов слотов AEP [27]. Главное отличие модификации АЕР от исходного алгоритма заключается в том, что вместо поиска окна с экстремальным значением заданного критерия, возвращается окно с минимальным расстоянием от опорной альтернативы. В общем случае, это расстояние должно отражать предпочтения стейк-холдеров по выполнению потока заданий в терминах множества критериев: стоимости и времени выполнения, времени старта и финиша и т.д.
Заключение
Проведенный анализ показывает, что известные подходы реализуют лишь отдельные аспекты планирования либо на уровне приложений [1, 3, 6], либо на уровне потоков заданий [4, 5, 7-17]. Снижение уровня доступности ресурсов в условиях конкуренции потоков независимых заданий приводит к уменьшению числа возможных альтернатив выполнения заданий и, следовательно, ограничению возможностей оптимизации планов. В этом случае альтернативное планирование практически сводится к процедуре «первая подходящая». Принципиально иной подход - упреждающее планирование. Упреждающее планирование пакета заданий дает результаты, сопоставимые с бэкфиллингом по времени старта и финиша задания. В то же время оно позволяет учитывать предпочтения стейкхолдеров.
Литература
1. Dimitriadou S.K., Karatza H.D. Job Scheduling in a Distributed System Using Backfilling with Inaccurate Runtime Computations // Proceedings of International Conference on Complex, Intelligent and Software Intensive Systems. 2010. P. 329-336.
2. Toporkov V., Toporkova A., Tselishchev A., Yemelyanov D., Potekhin P. Heuristic Strategies for Preference-based Scheduling in Virtual Organizations of Utility Grids // J. Ambient Intelligence and Humanized Computing. 2015. Vol. 6(6). P. 733-740.
3. Buyya R., Abramson D., Giddy J. Economic Models for Resource Management and Scheduling in Grid Computing // J. Concurrency and Computation. 2002. Vol. 14(5). P. 1507-1542.
4. Kurowski K., Nabrzyski J., Oleksiak A., Weglarz J. Multicriteria Aspects of Grid Resource Management. J. Nabrzyski, Schopf J.M., and J. Weglarz, editors, Grid resource management. State of the Art and Future Trends. Kluwer Acad. Publ. 2003. P. 271-293.
5. Rodero I., Villegas D., Bobroff N., Liu Y., Fong L., Sadjadi S.M. Enabling Interoperability
among Grid Meta-schedulers // J. Grid Computing. 2013. Vol. 11(2). P. 311-336.
6. Ernemann C., Hamscher V., Yahyapour R. Economic Scheduling in Grid Computing. D. Feitelson, L. Rudolph, and U. Schwiegelshohn, editors, JSSPP. Springer, Heidelberg. 2002. Vol. 18. P. 128-152.
7. Baranov A., Telegin P., Tikhomirov A. Comparison of auction methods for job scheduling with absolute priorities // PaCT 2017. LNCS V. 10421. Springer International Publishing AG. 2017. P. 387-395.
8. Rzadca K., Trystram D., Wierzbicki A. Fair Game-theoretic Resource Management in Dedicated Grids // IEEE International Symposium on Cluster Computing and the Grid. Rio De Janeiro, Brazil. IEEE Computer Society. 2007. P. 343-350.
9. Vasile M., Pop F., Tutueanu R., Cristea V., Kolodziej J. Resource-aware Hybrid Scheduling Algorithm in Heterogeneous Distributed Computing // J. Future Generation Computer Systems. 2015. Vol. 51. P. 61-71.
10.Penmatsa S., Chronopoulos A.T. Cost Minimization in Utility Computing Systems // J. Concurrency and Computation: Practice and Experience. 2014. Vol. 16(1). P. 287-307.
11Mutz A., Wolski R., Brevik J. Eliciting Honest Value Information in a Batch-queue Environment // 8th IEEE/ACM International Conference on Grid Computing. New York, USA. 2007. P. 291297.
12.Blanco H., Guirado F., Lrida, J.L., Albornoz V.M. MIP Model Scheduling for Multi-clusters // In: Euro-Par 2012. Heidelberg, Springer. 2012. P. 196-206.
13.Takefusa A., Nakada H., Kudoh T., Tanaka Y. An Advance Reservation-based Co-allocation Algorithm for Distributed Computers and Network Bandwidth on QoS-guaranteed Grids // In: Schwiegelshohn U. Frachtenberg E., editor. JSSPP. Springer, Heidelberg. 2010. Vol. 6253. P. 16-34.
14.Сухорослов О.В. Комбинированное использование высокопроизводительных ресурсов и грид-инфраструктур в рамках облачной платформы Everest // Суперкомпьютерные дни в России: Труды междун. конф. Russian Supercomputing Days. 2015. С. 706-711.
15.Bencivenni M. et al. Accessing Grid and Cloud Services Through a Scientific Web Portal // J. Grid Computing. 2015. Vol. 13. P.159-175.
16.Ronchieri E. et al. Accessing Scientific Applications through the WNoDeS Cloud Virtual-ization Framework // Proceedings of the The International Symposium on Grids and Clouds (ISGC), PoS, Academia Sinica, Taipei, Taiwan. 2013. URL: https://www.researchgate.net/publica-tion/259197043 (дата обращения: 19.07.2017).
17.EGI Federated Clouds Task Force website. https://. URL: wiki.egi. eu/wiki/Fedcloud-tf:FederatedCloudsTaskForce (дата обращения: 19.07.2017).
18.Carroll T., Grosu D. Divisible Load Scheduling: An Approach Using Coalitional Games // Proceedings of the Sixth International Symposium on Parallel and Distributed Computing, ISPDC. 2007. P. 36-45.
19.Kim K., Buyya R. Fair Resource Sharing in Hierarchical Virtual Organizations for Global Grids // In: Proceedings of the 8th IEEE/ACM International Conference on Grid Computing. IEEE Computer Society, Austin, USA. 2007. P. 50-57.
20.Skowron P., Rzadca K. Non-monetary Fair Scheduling Cooperative Game Theory Approach // In: Proc. of the Twenty-fifth annual ACM Symposium on Parallelism in Algorithms and Architectures. ACM, New York, NY, USA. 2013. P. 288-297.
21.Dalheimer M. Pfreundt F., Merz P. Agent-based Grid Scheduling with Calana // In: Proc. Parallel Processing and Applied Mathematics, 6th International Conference. 2006. P. 741-750.
22.Jackson D., Snell Q., Clement M. Core Algorithms of the Maui Scheduler // In Revised Papers from the 7th International Workshop on Job Scheduling Strategies for Parallel Processing, JSSPP '01. 2002. P. 87-102.
23.Thain T., Livny M. Distributed Computing in Practice: the Condor Experience // J. Concurrency and Computation: Practice and Experience. 2005. Vol. 17. P. 323-356.
24.Богданова В.Г., Бычков И.В., Корсуков А.С., Опарин Г.А., Феоктистов А.Г. Мультиа-гентный подход к управлению распределенными вычислениями в кластерной GRID-системе // Известия РАН. ТиСУ. 2014. № 5. С. 95-105.
25.Toporkov V., Toporkova A., Tselishchev A., Yemelyanov D., Potekhin P. Metascheduling and Heuristic Co-allocation Strategies in Distributed Computing // J. Computing and Informatics. 2015. Vol. 34 (1). P. 45-76.
26.Toporkov V., Yemelyanov D., Bobchenkov A., Potekhin P. Fair Resource Allocation and Metascheduling in Grid with VO Stakeholders Preferences // Proc. of the 45th International Conference on Parallel Processing Workshops. IEEE. 2016. P. 375-384.
27.Toporkov V., Toporkova A., Tselishchev A., Yemelyanov D. Slot Selection Algorithms in Distributed Computing // Journal of Supercomputing. 2014. Vol. 69(1). P. 53-60.
28.FarahabadyM.H., Lee Y.C., ZomayaA.Y. Pareto-optimal Cloud Bursting // In: IEEE Transactions on Parallel and Distributed Systems. 2014. Vol. 25. P. 2670-2682.
State-of-the art in scheduling methods and algorithms in Grid and cloud computing
Toporkov Victor Vasilyevich, Doctor of Technical Sciences, Professor, Head of CE Department, National Rresearch University "MPEI"
Yemelyanov Dmitry Mikhailovich, Candidate of Sciences (PhD), Associate Professor, National Rresearch University "MPEI"
Toporkova Anna Stanislavovna, Candidate of Sciences (PhD), Associate Professor, HSE Moscow Institute of Electronics and Mathematics
This paper deals with the analysis of a current state of research in the field of methods and algorithms for scheduling job-flows in Grid and cloud computing.
Keywords: distributed computing, Grid, cloud computing, non-dedicated resources, scheduling, virtual organizations, economic principles
УДК 004.93
МОДЕЛИРОВАНИЕ РАССУЖДЕНИЙ НА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ
В ЗАДАЧАХ СППР
Александр Валерьевич Кучуганов, канд. тех. наук, доц. каф. АСОИУ E-mail: [email protected], , ФГБОУ ВО «Ижевский государственный технический университет имени М.Т. Калашникова» http://www.istu.ru.
В работе предлагается для формального описания и структурного анализа изображений объектов использовать дескрипционную логику ALCсо специальным расширением на данные, представленные в виде атрибутивных графов, названную как ALC(GI). Назначение этой логики - сокращение области интерпретации и интерпретирующих функций для задач с графовой структурой данных.
Ключевые слова: изображение, анализ, граф, дескрипционная логика.
В процессе инженерного проектирования по данным зарубежных исследований разработчики затрачивают от 20 до 30% времени на поиск информации, будучи успешными только примерно в 50% случаев [1]. Каждый раз, когда удается избежать повторной разработки детали, экономится 20 тыс. долларов и 33 тыс. долларов - если требовалась новая технологическая оснастка для детали) [2].
В конструкторском и технологическом проектировании классификаторы деталей достаточно широко применяются с целью унификации конструкций и технологической оснастки. Они регламентированы единой системой конструкторской документации ЕСКД. Но применение их, в частности, для разработки групповых технологий, сдерживается проблемами автоматизации процесса кластеризации деталей по их чертежам или 3D геометрическим моделям. Оперативная автоматическая классификация деталей по геометрическим, техническим, технологическим, производственным параметрам могла бы повысить степень унификации технологических процессов и оснастки, обоснованность и качество нормирования труда, оптимизировать планы производства. Для этого,