Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,087

MODELS, METHODS AND MEANS CALCULATIONS CONTROL IN INTEGRATED CLUSTER SYSTEM

Kostromin R.O. 1
1 Irkutsk National Research Technical University
Обсуждаются международный опыт и направления исследований в области организации и применения высокопроизводительных систем. Предлагается решение проблемы повышения эффективности управления потоками вычислений в Grid-системах путем применения модели с различными уровнями обслуживания заданий, выбор которых регулируется соотношением спроса и предложения ресурсов. Разработка программных средств, реализующих данную модель, осуществляется на основе агентно-ориентированного подхода с использованием инженерных онтологий для концептуализации предметных областей решаемых задач. В качестве узлов Grid-системы используются вычислительные кластеры. Рассматривается подход к организации кластеров и оценке их производительности. При создании кластера применяются система управления вычислительными заданиями Torque, библиотека поддержки параллельных вычислений Open MPI и набор эталонных тестов NPB для оценки производительности кластеров. Обобщается опыт использования и интеграции вычислительных кластеров в Иркутском научном центре. Рассматриваются модели и методы управления вычислениями на уровне интегрированной кластерной системы, реализуемой мультиагентной системой с заданной организационной структурой, а также прототип мультиагентной системы, реализуемый с помощью инструментария JADE.
Discusses international experience and research directions in the field of organization and application of high-performance systems. It is proposed a solution to the problem of increasing the efficiency of managing the flow calculations in Grid-systems through the use of models with varying levels of service assignments, the choice of which is regulated by supply and demand of resources. Software development for implementing this model is based on the agent-based approach using the ontology engineering domains to conceptualize tasks. As nodes of grid-system used computing clusters. Considered an approach to organization of clusters and evaluation of their performance. When creating the cluster are used task control system Torque, library support for Open MPI parallel calculations and a set of benchmarks NPB to evaluate the performance of clusters. Summarizes the experience of the usage and integration of computing clusters in the Irkutsk Scientific Center. We considered models and methods of calculations management at the level of an integrated cluster system implemented multiagent system with a given organizational structure, as well as a prototype of multiagent system, implemented using tools JADE.
grid-system
distributed computing
resource allocation
computer cluster
multiagent systems
Abasov N.V., Berezhnyh T.V., Reznikov A.P. Dolgosrochny prognoz prirodoobuslovlennyh faktorov Energetiki v informacionno-prognosticheskoy sisteme GIPSAR // Izvestija RAN. Energetika. 2000. no. 6. рр. 22–30.
Basharina O.Yu., Dmitriev V.I., Korsukov A.S., No skov S.I., Feoktistov A.G. Metodika i instrumentalnye sredstva avtomatizacii provedenija vychislitelnyh jeksperimentov po imitacionnomu modelirovaniju slozhnyh sistem // Sovremennye problemy nauki i obrazovanija. 2014. no. 1. 241 p.
Bychkov I.V., Oparin G.A., Feoktistov A.G., Bogdano va V.G., Pashinin A.A. Multiagentnye metody i instrumentalnye sredstva upravlenija v servis-orientirovannoy raspredelennoy vychislitelnoj srede // Trudy Instituta sistemnogo programmirovanija RAN. 2014. T. 26. Vyp. 5. pp. 65–82.
Bychkov I.V., Oparin G.A., Feoktistov A.G., Ka nter A.N. Multiagentnyj algoritm raspredelenija vychislitelnyh resursov na osnove ekonomicheskogo mehanizma regulirovanija ih sprosa i predlozhenija // Vestnik kompjuternyh i informacionnyh tehnologiy. 2014. no. 1. рр. 39–45.
Bychkov I.V., Oparin G.A., Feoktistov A.G., Kor sukov A.S. Decentralizovannoe upravlenie potokami zadanij v integrirovannoj klasternoj sisteme // Vestnik NGU. Serija: Informacionnye tehnologii. 2011. T. 9. Vyp. 2. pp. 42–54.
Dmitriev V.I., Basharina O.E., Feoktistov A.G., Larina A.V. Modelirovanie logisticheskih skladskih kompleksov s ispolzovaniem vychislitelnoj tehniki // Ekonomika i upravlenie. 2010. no. 6. рр. 88–92.
Kostromin R.O. Sozdanie vychislitelnogo klastera dlya provedeniya optimizacionnyh raschetov obektov teploenergetiki // Sistemnye issledovaniya v energetike: Trudy molodyh uchenyh ISEM SO RAN. Irkutsk: Izd-vo ISEM SO RAN, 2013. no. 43. pp. 184–192.
Shamakina A.V. Obzor tehnologiy raspredelennyh vychisleniy // Vestnik Yuzhno-Uralskogo gosudarstvennogo universiteta. Seriya: Vychislitelnaja matematika i informatika. 2014. T. 3. no. 3. pp. 51–85.
Baker M., Buyya R., Laforenza D. Grids and Grid Technologies for Wide-Area Distributed Computing // Software: Practice and Experience. 2002, vol. 32, no. 15, pp. 1437–1466.
Bellifemine F., Bergenti F., Caire G. and al. Jade A Java Agent Development Framework // Multiagent Systems, Artificial Societies, And Simulated Organizations: MultiAgent Programming / Ed. by R. Bordini, M. Dastani, J. Dix, A. El Fallax Seghrouchni. Springer, 2006, vol. 15, pp. 125–147.
Bogdanova V.G., Bychkov I.V., Korsukov A.S., Oparin G.A., Feoktistov A.G. Multiagent Approach to Controlling Distributed Computing in a Cluster Grid System // Journal of Computer and Systems Sciences International. 2014, vol. 53, no. 5, pp. 713–722.
Durfee E.H. Distributed Problem Solving and Planning // Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence / Ed. by G. Weiss. MIT Press, 1999, pp. 121–164.
Herrera J., Huedo E., Montero R., Llorente I. Porting of Scientific Applications to Grid Computing on GridWay // Scientific Programming. 2005, vol. 13, no. 4, pp. 317–331.
Market-Oriented Grid and Utility Computing / Ed. by R. Buyya, K. Bubendorfer. New York, Wiley & Sons, 2010. 643 p.
Taha, H.A. Operations Research: An Introduction. Upper Saddle River, Prentice Hall, 2006. 592 p.

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

Известные модели, методы, алгоритмы и программные средства [8] не решают перечисленные выше проблемы полностью. Возникает необходимость разработки новых, более гибких средств управления распределенными вычислениями, базирующихся на методах искусственного интеллекта и позволяющих в полной мере учитывать специфику вычислительных ресурсов и решаемых с их помощью задач. Требуется также сформулировать специальные критерии функционирования вычислительной системы, которые бы позволили отразить изменяющиеся во времени интересы различных субъектов системы и осуществить выбор удовлетворительного уровня обслуживания поступающих в систему заданий. С этой точки зрения наиболее целесообразным видится применение модели с различными уровнями обслуживания заданий [15], выбор которых регулируется соотношением спроса и предложения по ресурсам [14]. Использование такой модели сводит задачу управления Grid-системой к определению приемлемых интервалов изменения значений для характеристик назначенного уровня обслуживания задания. Как следствие, возникает необходимость разработки программных средств, которые бы позволили всесторонне описать аспекты прохождения потоков заданий в Grid-системе и обеспечили управление потоками заданий на основе прав и обязанностей, делегированных этим средствам администраторами и пользователями Grid-системы. Для реализации таких программных средств наиболее предпочтительным является агентно-ориентированный подход с использованием инженерных онтологий для концептуализации предметных областей решаемых задач.

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

Кластер для проведения оптимизационных расчетов объектов теплоэнергетики

В качестве узлов Grid-системы могут выступать как офисные компьютеры, так и суперкомпьютеры, в том числе вычислительные кластеры. Рассмотрим подход к настройке, запуску и тестированию вычислительного кластера на примере решения ресурсоемких задач в теплоэнергетике [1].

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

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

– выбрано, установлено и настроено следующее системное программное обеспечение для управления вычислениями: операционная система Gentoo Linux – для управления ресурсами кластера, библиотека Open Message Passing Interface (Open MPI) – для поддержки выполнения параллельных расчетов, система TORQUE (Terascale Open-Source Resource and QUEue Manager) – для управления вычислительными заданиями;

– разработан набор скриптов на языке Bourne Again SHell (BASH) для автоматизации процессов установки операционной системы Gentoo Linux в узлах кластера: создания/удаления разделов жесткого диска, создания необходимых файловых систем и их монтирования, настройки сетевых подключений, загрузки и установки программных пакетов, конфигурирования необходимых параметров системы;

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

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

– произведена оценка производительности кластера при помощи набора эталонных тестов NASA Advanced Supercomputing Parallel Benchmarks (NPB).

Создание вычислительного кластера обеспечило возможность решения ряда сложных задач оперативного управления теплоэнергетическими установками за приемлемые промежутки времени [7].

Интеграция вычислительных кластеров

В Иркутском научном центре был создан целый ряд вычислительных кластеров на базе персональных компьютеров, подобных представленному в статье кластеру. Эти кластеры эффективно использовались самостоятельно или в составе интегрированных распределенных вычислительных сред для решения важных прикладных задач в различных предметных областях [1, 6, 2]. Интеграция вычислительных кластеров позволяет существенно расширить спектр решаемых с их помощью задач и предполагает использование специального промежуточного программного обеспечения (middleware), предназначенного для представления глобально распределенных вычислительных систем в виде единой среды решения задач. Процесс решения задачи специфицируется в виде задания вычислительной среде, содержащего информацию о требуемых вычислительных ресурсах, исполняемых прикладных программах, входных/выходных данных, а также другие необходимые сведения. Однако традиционные системы управления заданиями (например, [13]) промежуточного программного обеспечения недостаточно полно учитывают специфику спроса и предложения ресурсов при распределении этих ресурсов для выполнения заданий. Таким образом, возникает важная и практически значимая проблема эффективного планирования вычислений и распределения ресурсов для их выполнения. Широко используемым на практике подходом к решению этой проблемы является применение мультиагентных систем для управления вычислениями [12].

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

Прототип системы агентов реализуется с помощью инструментария Java Agent DEvelopment framework (JADE) [10]. Алгоритмы функционирования агентов разрабатываются на основе конечно-автоматной модели в соответствии со спецификой действий, выполняемых этими агентами в системе управления вычислениями. Разработка системы агентов осуществляется в рамках реализации мультиагентного подхода к управлению распределенными вычислениями в интегрированной кластерной системе [12].

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

Заключение

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

Рецензенты:

Опарин Г.А., д.т.н., профессор, зам. директора по научной работе, Институт динамики систем и теории управления им. В.М. Матросова СО РАН, г. Иркутск;

Петров А.В., д.т.н., профессор кафедры автоматизированных систем института кибернетики им. Е.И. Попова, ФГБОУ ВО «Иркутский национальный исследовательский технический университет», г. Иркутск.