УДК 004.9
И.В. Бычков, Г.А. Опарин, А.Г. Феоктистов, В.Г. Богданова, А.А. Пашимим
СЕРВИС-ОРИЕНТИРОВАННОЕ УПРАВЛЕНИЕ РАСПРЕДЕЛЕННЫМИ
ВЫЧИСЛЕНИЯМИ НА ОСНОВЕ МУЛЬТИАГЕНТНЫХ ТЕХНОЛОГИЙ
Предложен сервис-ориентированный подход к организации проблемно-ориентированных распределенных вычислений в кластерной Grid с интеллектным управлением вычислительными процессами. Управление распределенными вычислениями реализовано с помощью мультиагентной системы. Основные функциональные и системные возможности проблемно-ориентированных приложений и агентов представлены в виде сервисов. Представление приложения пользователя в виде сервиса реализовано с помощью разработанных авторами инструментальных средств. Рассмотрены особенности предлагаемого подхода и приведены примеры сервисов приложений, созданных на основе данного подхода. В качестве первого примера приведен сервис для решения задачи построения области устойчивости в пространстве двух выбранных параметров регулятора замкнутой системы управления. В качестве второго примера приведен сервис для решения ряда задач булевой выполнимости, являющейся фундаментальной в математической логике и теории вычислений. Приведены результаты вычислительного эксперимента, показывающие существенное сокращение времени решения задачи под управлением мультиагентной системы по сравнению со стандартизированными менеджерами ресурсов за счет выбора наиболее оптимальных решателей и возможности миграции заданий по узлам вычислительной среды.
Распределенные вычисления; вычислительные задания; сервис-ориентированное программирование; мультиагентное управление.
I.V. Bychkov, G.A. Oparin, A.G. Feoktistov, V.G. Bogdanova, A.A. Pashinin
SERVICE-ORIENTED CONTROL OF DISTRIBUTED COMPUTING BASED ON MULTIAGENT APPROACH
In this paper we propose a service-oriented approach to problem-oriented distributed computing in the cluster Grid with intelligent control for computer processes. The distributed computing management is released using the multiagent system. The main functional and system features of the problem-oriented software and agents implemented in the form of services. The submission of the user application as a service implemented by the authors developed tools. The features of the proposed approach and examples of application services based on this approach are considered. The first example is a service to solve the problem of constructing the stability region in the space of two selected parameters of regulator of the closed control system. The second example is a service for solving Boolean Constraint Satisfaction Problem. This problem is fundamental in mathematical logic and the theory of computation. The results of computational experiments show a significant reduction in the time for solving the problem under control of multiagent system in comparison with traditional resource managers due to the selection of the best solvers and possible migration tasks on the nodes of computing environment.
Distributed computing; jobs; servis-oriented programming; multiagent management.
Введение. При организации распределенных вычислительных сред важной практически значимой проблемой является размещение в них проблемно-ориентированных программных комплексов, обеспечение удаленного высоко-уровнего доступа пользователей-«предметников» к этим комплексам и управление ими в процессе вычислений. В настоящее время решение данной проблемы осуществляется, как правило, на основе концепции Service-Oriented Science [1], базирующейся на автоматизации интеграции распределенных разнородных ресурсов в виртуальную исполнительную среду и прозрачного использования этой среды путем представления ресурсов в виде сервисов. Известно применение научных сервисов в вычислительной химии, компьютерной алгебре, статистическом анализе
временных рядов (статистическом прогнозировании), биоинформатике, геоинформатике и во многих других областях. Сервис-ориентированные среды обладают рядом свойств, существенно усложняющих процессы их организации, исследования и применения. В их числе: организационно-функциональная разнородность и динамичность; разнообразие спектра решаемых задач; наличие различных категорий пользователей, преследующих свои субъективные цели эксплуатации тех или иных ресурсов; применение в узлах среды различных средств управления вычислениями. Анализ мировых тенденций в области автоматизации решения прикладных задач в таких средах позволяет утверждать, что решение этих проблем непосредственно связано с интеллектуализацией сервис-ориентированного инструментария.
К настоящему времени разработан широкий спектр инструментов для построения сервис-ориентированных распределенных вычислительных сред. К их числу относятся, например, средства общего назначения Amazon Elastic Compute Cloud, Google App Engine и Microsoft Windows Azure, специализированные системы Globus Toolkit, Unicore, языки программирования Opa и Swarm. Из отечественных средств построения сервис-ориентированных сред следует отметить такие системы, как MathCloud [2], iPSE [3] и сервис-ориентированная ГИС ННЦ СО РАН [4]. Основной упор в таких системах, как правило, делается на упрощение процесса создания сервисов. Однако существует ряд важных задач, связанных с организацией распределенных и параллельных вычислений в сервис-ориентированных средах, требующих проведения дополнительных исследований, в частности, создание и публикация новых сервисов с использованием соответствующих аппаратных и программных ресурсов СО РАН [5].
В статье представлен подход к оформлению приложений, ориентированных на работу в распределенной вычислительной среде, в виде удаленно доступных сервисов с помощью инструментальных средств, разрабатываемых в Институте динамики систем и теории управления СО РАН (ИДСТУ СО РАН).
Управление вычислениями. В рамках предлагаемого подхода управление вычислениями реализуется мультиагентной системой (МАС) с заданной организационной структурой, представленной на рис. 1. Координация действий агентов реализуется с помощью общих правил группового поведения. Агенты функционируют в соответствии с заданными ролями, и для каждой роли определены свои правила поведения в виртуальном сообществе агентов. МАС включает агентов постановки задачи, планирования вычислений, мониторинга и распределения ресурсов, классификации, конкретизации и выполнения заданий. В разных виртуальных сообществах, возникающих в МАС, агенты могут координировать свои действия путем кооперации или соперничества.
Администратор кластерной Grid-системы формирует классы заданий и выполняет виртуальную декомпозицию ресурсов, заключающуюся в назначении каждому ресурсу классов заданий, наиболее подходящих по своим характеристикам вычислительным возможностям этого ресурса. Сформированные классы заданий и результаты виртуальной декомпозиции ресурсов сохраняются в базе знаний. Агент постановки задачи обеспечивает пользователю возможность формулировки задачи, определения требований к вычислительной системе, необходимых для ее решения, и управления процессом вычислений. Данный агент взаимодействует с пользователем Grid-системы в интерактивном режиме.
Агент планирования вычислений формирует в общем случае множество планов решения задачи. Подбор ресурсов для выполнения планов решения задачи и формирование заданий вычислительной системе осуществляют агенты распределения ресурсов. Агенты планирования вычислений и распределения ресурсов используют данные о состоянии этих ресурсов, собираемые агентами мониторинга
ресурсов, и информацию о статусе уже запущенных на выполнение заданий, предоставляемую агентами выполнения заданий. Агенты классификации и конкретизации заданий, используя знания о классах заданий и результатах виртуальной декомпозиции ресурсов, осуществляют детальную настройку требований к вычислительной системе, содержащихся в заданиях, с целью обеспечения более эффективного планирования и распределения ресурсов планировщиками менеджеров ресурсов вычислительных кластеров (ВК) при обработке этих заданий.
Рис. 1. Структура МАС
Методы мультиагентного управления потоками заданий детально рассмотрены в работе [7]. При таком управлении время выполнения отдельных приложений может увеличиваться, поскольку при планировании не удается учесть ряд важных особенностей структуры заданий и пользовательских предпочтений, касающихся ресурсов. В статье представлены новые дополнительные средства планирования вычислений и распределения ресурсов на уровне приложений, позволяющие в определенной степени решать эту проблему.
Архитектура виртуального сообщества агентов. Дополнительные средства планирования вычислений и распределения ресурсов на уровне приложений представляют собой виртуальное сообщество (ВС) агентов, реализуемое для организации параллельного выполнения приложения пользователя в распределенной вычислительной среде. Основное назначение ВС агентов - обеспечение выбора наименее загруженного ресурса (кластера) для запуска на нем параллельного приложения, мониторинг его выполнения и передача результатов решения пользователю. ВС агентов включает пользовательского агента, агентов классификации и планирования, агента-менеджера, получающего статус координатора после приема запроса пользователя (в дальнейшем просто агента-менеджера), и динамически
меняющийся набор локальных агентов-менеджеров (в дальнейшем просто локальных агентов). Первые три агента осуществляют прием и классификацию запроса пользователя, построение плана вычислений. Сформированное в результате совместных действий агентов задание передается агенту-менеджеру, который, взаимодействуя с агентом мониторинга ресурсов, распределяет задание по локальным агентам ВК. Для распределения задач по локальным агентам применяется модель тендера, где в качестве лотов выступают вычислительные работы, а в качестве участников - представители вычислительных ресурсов, претендующие на выполнение этих работ. Использование аукциона Викри для реализации этой модели, рассмотренное подробно в [8], позволяет достичь согласованного устойчивого состояния участников аукциона по окончании торгов, а также обеспечить более сбалансированное распределение заданий локальных пользователей кластеров (появление свободных ресурсов Grid-системы в процессе решения пользовательских задач влечёт перераспределение в узлах этой системы заданий, управляемых МАС).
Агент-менеджер отвечает также за выполнение следующих функций: разбиение задачи на подзадачи, автоматический перезапуск задач с новыми параметрами (для определенного класса задач), управление, мониторинг выполнения задания пользователя. Локальные агенты отвечают за анализ текущего состояния ВК, передачу результатов агенту-менеджеру и отправку заданий системе управления заданиями (СУПЗ).
К таким системам относятся глобальные планировщики заданий типа GridWay [9]; локальные системы управления ВК, такие, например, как PBS [10] или Condor [11]. На сегодняшний день стандартом де-факто промежуточного программного обеспечения для организации Grid-вычислений является пакет Globus Toolkit [12]. Поэтому будем называть менеджер ресурсов стандартизированным, если он входит в этот пакет или обеспечивает возможность взаимодействия с ним. Само задание представляет собой спецификацию процесса решения задачи, содержащую информацию о требуемых вычислительных ресурсах, исполняемых прикладных программах, входных/выходных данных, а также другие необходимые сведения. Таким образом, при реализации сервис-оринтированного подхода к организации распределенных вычислений требуется решить две основные задачи: 1) получить описание сервиса для приложения на языке WSDL; 2) конвертировать пользовательский запрос к сервису в вычислительное задание для распределенной вычислительной среды.
Особенностью представленного в статье ВС является реализация агентов в виде сервисов. ВС агентов, использованное для управления выполнением приложения пользователя в описываемом в статье вычислительном эксперименте, было реализовано с помощью разработанных авторами инструментальных средств HpcSoMas Framework (High-performance computing Service-oriented Multi-agent system), предназначенных для разработки мультиагентных систем, использующихся в распределенных высокопроизводительных вычислительных средах.
Архитектура инструментальных средств HpcSoMas Framework. В состав инструментальных средств (рис. 2) входят библиотека классов и утилиты создания агентов на базе нейронных сетей, библиотека шаблонов сервисов на базе REST [13] и SOAP [14] архитектур, а также готовые сервисы, при разработке которых дополнительно использовался набор интерфейсов API платформы Java EE и сервер сервисов Apache TomEE.
Основными компонентами HpcSoMas Framework являются шаблоны для создания агентов-менеджеров, выполняющих основную работу по распределению заданий, подбор наилучшей вычислительной среды под конкретную задачу, анализ состояний СУПЗ, перераспределение заданий, их декомпозицию. Данные агенты
реализуются в виде rest-сервисов. Для выполнения различных функций, зависящих от конфигурации ВК, они запускают soap-сервисы и должны иметь возможность их динамического подключения без перекомпиляции. Для этого предусмотрены шаблоны настроек сервисов в формате XML. Разработчик rest-сервиса на этапе разработки или в процессе работы на самом кластере закладывает информацию о параметрах soap-сервисов, необходимых для функционирования агента, а также о списке доступных soap-сервисов решателей. Для вызова сервисов используются стандартные soap-сообщения в формате XML.
Для отслеживания выполнения задания каждый агент-менеджер поддерживает четыре очереди, с сортировкой элементов по времени их добавления: пользовательские задания, агентские задания, предложения заданий, отдельные ставки.
Рис. 2. Средства, использованные для создания ВС агентов
Разрабатываемые агенты взаимодействуют путем кооперации на базе соперничества, достигаемого в процессе торгов за выполнение задания, которое не смог самостоятельно выполнить получивший его агент. В ходе формирования ставок на задания планируется применение нейросетевых алгоритмов, что обеспечивает определенную степень интеллектуальности агентов в процессе их
взаимодействия. Мультиагентная система состоит из ряда агентов-менеджеров, устанавливаемых на вычислительные кластеры и представляющих собой rest-сервисы. Каждый агент имеет свой набор функциональных soap-сервисов, состав которого обусловлен архитектурой ВК и установленным на нем программным обеспечением.
Цикл функционирования агента-менеджера включает следующие шаги:
1. Получить задание от пользователя, поместить в очередь пользовательских заданий.
2. Разослать предложения задания остальным агентам-менеджерам, каждый агент-менеджер сразу отвечает на предложение и сохраняет его в локальном списке предложений.
3. По ставкам определить лучшего агента-менеджера для решения задания.
4. Перенаправить задания (теперь агентские задания) на агенты-менеджеры с лучшими ставками.
5. Поставить в очередь СУПЗ агентские задания.
6. Поставить в очередь СУПЗ пользовательские задание, которые не были перенаправлены.
7. Перепроверить изменение ставок по списку предложений, при значительном изменении уведомить агента, отправившего ставку, об изменении ситуации.
8. Осуществить анализ ставок, пришедших отдельно. Для снижения риска задание отправляется как агентское, и только после ответа об удачном запуске на удаленном агенте-менеджере задание снимается с СУПЗ текущего агента-менеджера. Инициация такой отправки заданий приостанавливает цикл агента-менеджера, чтобы он мог быстрее воспользоваться вычислительными ресурсами.
9. Проверить статус локальных пользовательских и агентских заданий в СУПЗ.
10. Уведомить пользователей или агентов-менеджеров о завершении работы задания, переслать результаты, снять предложения о данных заданиях со всех агентов-менеджеров.
Пользователи могут подключаться к любому из агентов-менеджеров через web-интерфейс пользовательского агента, доступный с компьютеров и мобильных устройств, подключенных к сети Интернет, при условии наличия учетной записи на связанном с ним ВК.
Вычислительный эксперимент. При создании сервисов приложений в качестве распределенной вычислительной среды была использована разнородная кластерная Grid-система ИДСТУ СО РАН, включающая: однородный ВК «Blackford» с SMP-узлами, неоднородный ВК «Академик В.М. Матросов» с SMP-узлами и узлом с графическими процессорами NVidia C2070 («Fermi»); неоднородный ВК «Tesla», в состав которого входит 4 четырехъядерных процессора и 8 GPU NVidia «Tesla» C1060 (рис. 3). Сервисы приложений для решения задач на этом рисунке названы солверами. На каждом ВК был установлен HTTP web-сервер, обеспечивающий доступ извне, для rest и soap-сервисов использовался сервер TomEE, который представляет собой модифицированный Apache Tomcat с добавленным в него функционалом JavaEE.
В качестве первого примера был реализован сервис для решения задачи построения области устойчивости в пространстве двух выбранных параметров K и T регулятора замкнутой системы управления, описываемой дифференциальным
dX
уравнением-= Ax , где элементы матрицы A зависят от параметров K и T. Эта
dt
задача сводится к решению множества независимых подзадач (проведению многовариантных расчетов) по определению устойчивости матрицы А при изменении значений параметров К и Т в заданных диапазонах Кт1П < К < Ктах и
Ттп < Т < Ттх с шагом АК и АТ соответственно. Путем варьирования значений параметров К и Т строится числовая сетка, на основе которой формируется множество подзадач. Для выполнения задания локальный агент запускает приложение, реализующее схему вычисления собственных значений произвольной плотной матрицы с использованием алгоритмов, представленных в работе [15]. Необходимым условием решения исходной задачи является выполнение задания для решения каждой подзадачи.
Пользователь
к
Рис. 3. Структура агентов ВС для вычислительного эксперимента
В качестве второго примера реализован сервис для решения SAT-задач (задач выполнимости булевых ограничений) путем проведения многовариантных расчетов на основе декомпозиции исходной задачи на основе метода расщепления [16]. В этом случае многовариантные расчеты могут выполняться в режиме динамического выбора ресурсов. В вычислительных экспериментах использовались как существующие SAT-решатели с открытой лицензией, так и разработанные авторами решатели [17, 18].
В первом примере сервис приложения предназначен для реализации многовариантных расчетов с использованием статического выбора ресурсов. Очевидно, что для задач такого вида преимущество рассмотренных выше средств мультиа-гентного управления по сравнению со стандартизированными менеджерами ре-
сурсов незначительно. Во втором же примере сервис приложения предназначен для реализации многовариантных расчетов в режиме динамического выбора ресурсов. В этом случае, предлагаемые средства мультиагентного управления вычислениями позволяют существенно сократить время решения задачи по сравнению со стандартизированными менеджерами ресурсов за счет выбора наиболее оптимальных решателей и возможности миграции заданий по узлам вычислительной среды (табл. 1). В таблице приведены результаты решения задачи Эйлера о ходе шахматного коня (незамкнутое движение) под управлением стандартизованного менеджера заданий и под управлением ВС, обеспечивающего возможность динамического перераспределения подзадач при появлении свободных ресурсов. Приводится среднее и минимальное время для серии из 100 запусков задач.
Таблица 1
Сравнение времени решения sat-задачи при распределении потока заданий стандартизованным менеджером ресурсов (СМ) и агентом-менеджером (АМ)
ВС агентов
Среднее время решения sat-задачи, с. Минимальное время решение sat-задачи, с.
КНФ Число переменных/дизъюнктов СМ АМ СМ АМ
knight8 4096/491024 183,0 132,0 61,0 0,6
knight9 6561/1007603 499,0 359,0 282,0 199,0
knight10 10000/1913276 3599,0 2464,0 651,0 276,0
Заключение. В статье рассмотрены сервис-ориентированные методы и средства управления проблемно-ориентированными распределёнными вычислениями в кластерной Grid-системе, интегрированные с традиционными метапланировщика-ми и локальными менеджерами ресурсов узлов Grid-системы. Отметим отличительные особенности представленного подхода. Во-первых, в рамках данного подхода обеспечивается возможность применения средств разработки и выполнения сервисов приложений в разных режимах: использование веб-ориентированного пользовательского интерфейса Grid-сервисов и/или их спецификаций на языке WSDL; управление вычислениями как на уровне отдельных приложений, так и на уровне потоков заданий; распределение ресурсов, необходимых для выполнения операций сервисов, специальными агентами или стандартизированными менеджерами ресурсов; применение статического или динамического планирования вычислений. Во-вторых, создание ВС агентов, функционирующего на уровне приложений, позволяет представить в виде Grid-сервисов ряд системных функций этих приложений. В их числе: планирование вычислений, распределение и мониторинг ресурсов, определение статуса заданий, учет специфики проблемной области решения задачи в процессе управления вычислениями.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Foster I. Service-Oriented Science // Science. - 2005. - Vol. 308, No. 5723. - P. 814-817.
2. Астафьев А.С., Афанасьев А.П., Лазарев И.В., Сухорослов О.В., Тарасов А.С. Научная сервис-ориентированная среда на основе технологий Web и распределенных вычислений // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всерос. суперкомпьютерной конф. - М.: Изд-во МГУ, 2009. - С. 463-467.
3. Бухановский А.В., Ковальчук С.В., Марьин С.В. Интеллектуальные высокопроизводительные программные комплексы моделирования сложных систем: концепция, архитектура и примеры реализации // Известия вузов. Приборостроение. - 2009. - Т. 52, № 10. - C. 5-24.
4. Жижимов О.Л., Пестунов И.А., Федотов А.М. Структура сервисов управления метаданными для разнородных информационных систем // Электронные библиотеки: российский научный электронный журнал. - 2012. - Т. 15, № 5.
5. Шокин Ю.И., Федорук М.П., Чубаров Д.Л., Юрченко А.В. О развитии инфраструктуры суперкомпьютерных и распределенных вычислений в СО РАН // Информационные технологии и вычислительные системы. - 2011. - № 3. - С. 9-19.
6. Бычков И.В., Опарин Г.А., Феоктистов А.Г., Корсуков А.С. Децентрализованное управление потоками заданий в интегрированной кластерной системе // Вестник НГУ. Сер. Информационные технологии. - 2011. - Т. 9. - Вып. 2. - С. 42-54.
7. Бычков И.В., Опарин Г.А., Феоктистов А.Г., Кантер А.Н. Мультиагентный алгоритм распределения вычислительных ресурсов на основе экономического механизма регулирования их спроса и предложения // Вестник компьютерных и информационных технологий. - 2014. - № 1. - С. 39-45.
8. Бычков И.В., Опарин Г.А., Феоктистов А.Г., Корсуков А.С. Распределение заданий в интегрированной кластерной системе на основе их классификации // Вычислительные технологии. - 2013. - Т. 18, № 2. - С. 25-32.
9. Czajkowski K., Ferguson D.F., Foster I., Frey J., Graham S., Sedukhin I., Snelling D, Tuecke S., Vambenepe W. The WS-Resource Framework. Version 1.0. http://www.globus.org/wsrf/specs/ws-wsrf.pdf.
10. Herrera J., Huedo E., Montero R., Llorente I. Porting of Scientific Applications to Grid Computing on GridWay // Scientific Programming. - 2005. - Vol. 13, No. 4. - P. 317-331.
11. Henderson R. Job scheduling under the portable batch system // Job scheduling strategies for parallel processing. Springer. - 1995. - P. 279-294.
12. Litzkow M., Livny M., Mutka M. Condor - A Hunter of Idle Workstations // In 8th International Conference of Distributed Computing Systems (ICDCS). IEEE CS Press, Los Alamitos, CA, USA. - 1988. - P. 104-111.
13. Foster I. Globus Toolkit Version 4: Software for Service-Oriented Systems // IFIP International Conference on Network and Parallel Computing. Springer. - 2006. - P. 2-13.
14. Kundu P., Das D., Ratha B. WSDL Specification of Services for Service Oriented Architecture (SOA) Based Implementation of a CRM Process // International Journal of Scientific and Engineering Research. - 2012. - Vol. 3, No. 10. - P. 1-24.
15. Wilkinson J.X., Reinsch C. Handbook for Automatic Computation. Volume II: Linear Algebra. Shpringer-Verlag. - 1971. - 448 p.
16. Oparin G.A., Feoktistov A.G., Bogdanova V.G., Novopashin A.P. The solution of Boolean equations of high dimensionality in the distributed computing environment // Distributed Computing and Grid-Technologies in Science and Education: Book of the Abstr. of the Intern. Conf. Dubna, Russia, June 29 -July 2, 2004. JINR, 2004. D11-2004-82. - P. 65.
17. Опарин Г.А., Богданова В.Г. РЕБУС - интеллектуальный решатель комбинаторных задач в булевых ограничениях // Вестник НГУ. Сер. Информационные технологии. - 2008. - Т. 6. - Вып. 1. - С. 60-68.
18. Опарин Г.А., Богданова В.Г. Инструментальные средства автоматизации параллельного решения булевых уравнений на многоядерных процессорах // Программные продукты и системы. - 2012. - № 1. - С. 10-14.
REFERENCES
1. Foster I. Service-Oriented Science, Science, 2005, Vol. 308, No. 5723, pp. 814-817.
2. Astafev A.S., Afanas'ev A.P., Lazarev I. V., Sukhoroslov O.V., Tarasov A.S. Nauchnaya servis-orientirovannaya sreda na osnove tekhnologiy Web i raspredelennykh vychisleniy [Academic service-oriented environment based on Web technologies and distributed computing], Nauchnyy servis v seti Internet: masshtabiruemost', parallel'nost', effektivnost': Trudy Vseros. superkomp'yuternoy konf. [Scientific service in the Internet: scalability, parallelism, efficiency: Proceedings of all-Russian supercomputing conference]. Moscow: Izd-vo MGU, 2009, pp. 463-467.
3. Bukhanovskiy A.V., Koval'chuk S.V., Mar'in S.V. Intellektual'nye vysokoproizvoditel'nye programmnye kompleksy modelirovaniya slozhnykh sistem: kontseptsiya, arkhitektura i primery realizatsii [Intelligent high-performance software systems modeling of complex systems: concepts, architecture and implementation examples], Izvestiya vuzov. Priborostroenie [Izvestiya vuzov. Instrumentation], 2009, Vol. 52, No. 10, pp. 5-24.
4. Zhizhimov O.L., Pestunov I.A., Fedotov A.M. Struktura servisov upravleniya metadannymi dlya raznorodnykh informatsionnykh sistem [The structure of services metadata management for heterogeneous information systems], Elektronnye biblioteki: rossiyskiy nauchnyy elektronnyy zhurnal [Digital libraries: the Russian scientific electronic journal], 2012, Vol. 15, No. 5.
5. Shokin Yu.I., Fedoruk M.P., Chubarov D.L., Yurchenko A.V. O razvitii infrastruktury superkomp'yuternykh i raspredelennykh vychisleniy v SO RAN [Infrastructure development of supercomputing and distributed computing in RAS], Informatsionnye tekhnologii i vychislitel'nye sistemy [Information technology and computer systems], 2011, No. 3, pp. 9-19.
6. Bychkov I.V., Oparin G.A., Feoktistov A.G., Korsukov A.S. Detsentralizovannoe upravlenie potokami zadaniy v integrirovannoy klasternoy sisteme [Decentralized management tasks in an integrated cluster system], Vestnik NGU. Ser. Informatsionnye tekhnologii [Novosibirsk state University. Series Information technology], 2011, Vol. 9, Issue 2, pp. 42-54.
7. Bychkov I.V., Oparin G.A., Feoktistov A.G., Kanter A.N. Mul'tiagentnyy algoritm raspredeleniya vychislitel'nykh resursov na osnove ekonomicheskogo mekhanizma regulirovaniya ikh sprosa i predlozheniya [Multi-agent algorithm for the allocation of computing resources on the basis of the economic mechanism of regulation of supply and demand], Vestnik komp'yuternykh i informatsionnykh tekhnologiy [Bulletin of the computer and information technology], 2014, No. 1, pp. 39-45.
8. Bychkov I.V., Oparin G.A., Feoktistov A.G., Korsukov A.S. Raspredelenie zadaniy v integrirovannoy klasternoy sisteme na osnove ikh klassifikatsii [The distribution of tasks in the integrated cluster system on the basis of their classification], Vychislitel'nye tekhnologii [Computational technologies], 2013, Vol. 18, No. 2, pp. 25-32.
9. Czajkowski K., Ferguson D.F., Foster I., Frey J., Graham S., Sedukhin I., Snelling D., Tuecke S., Vambenepe W. The WS-Resource Framework. Version 1.0. Available at: http: //www. globus.org/wsri/ specs/ws-wsrf.pdf.
10. 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.
11. Henderson R. Job scheduling under the portable batch system, Job scheduling strategies for parallel processing. Springer, 1995, pp. 279-294.
12. Litzkow M., Livny M., Mutka M. Condor - A Hunter of Idle Workstations, In 8th International Conference of Distributed Computing Systems (ICDCS). IEEE CS Press, Los Alamitos, CA, USA, 1988, pp. 104-111.
13. Foster I. Globus Toolkit Version 4: Software for Service-Oriented Systems, IFIP International Conference on Network and Parallel Computing. Springer, 2006, pp. 2-13.
14. Kundu P., Das D., Ratha B. WSDL Specification of Services for Service Oriented Architecture (SOA) Based Implementation of a CRM Process, International Journal of Scientific and Engineering Research, 2012, Vol. 3, No. 10, pp. 1-24.
15. Wilkinson J.X., Reinsch C. Handbook for Automatic Computation. Volume II: Linear Algebra. Shpringer-Verlag, 1971, 448 p.
16. Oparin G.A., Feoktistov A.G., Bogdanova V.G., Novopashin A.P. The solution of Boolean equations of high dimensionality in the distributed computing environment, Distributed Computing and Grid-Technologies in Science and Education: Book of the Abstr. of the Intern. Conf. Dubna, Russia, June 29 -July 2, 2004. JINR, 2004. D11-2004-82, pp. 65.
17. Oparin G.A., Bogdanova V.G. REBUS - intellektual'nyy reshatel' kombinatornykh zadach v bulevykh ogranicheniyakh [REBUS - intellectual solver combinatorial problems in Boolean constraints], Vestnik NGU. Ser. Informatsionnye tekhnologii [Novosibirsk state University. Series Information technology], 2008, Vol. 6, Issue 1, pp. 60-68.
18. Oparin G.A., Bogdanova V.G. Instrumental'nye sredstva avtomatizatsii parallel'nogo resheniya bulevykh uravneniy na mnogoyadernykh protsessorakh [Tools automation parallel solution of Boolean equations on multi-core processors], Programmnye produkty i sistemy [Software products and systems], 2012, No. 1, pp. 10-14.
Статью рекомендовал к опубликованию д.т.н., профессор Л.В. Массель.
Бычков Игорь Вячеславович - Институт динамики систем и теории управления СО РАН, e-mail: [email protected]; 664033, ул. Лермонтова, 134, г. Иркутск; тел.: 83952427100, 83952510184, факс: 83952511616; академик РАН; д.т.н.; профессор; директор.
Опарин Геннадий Анатольевич - e-mail: [email protected]; тел.: 83952453061, 83952429006, факс: 83952511616; зам. директора по научной работе; д.т.н.; профессор.
Феоктистов Александр Геннадьевич - e-mail: [email protected]; тел.: 83952453154, 83952350864; с.н.с.; к.т.н.; доцент.
Богданова Вера Геннадьевна - e-mail: [email protected]; тел.: 83952453093, 83952510039; с.н.с.; к.т.н.; доцент.
Пашинин Антон Алексеевич - e-mail: [email protected]; тел.: 83952453017, 83955678309; аспирант.
Bychkov Igor Vyacheslavovich - Institute for System Dynamics and Control Theory of SB RAS; e-mail: [email protected]; 134, Lermontova street, Irkutsk, 664033, Russia; phones: +73952427100, +73952510184, fax: +73952511616; academician of RAS; dr. of eng. sc.; professor; director.
Oparin Gennady Anatoljevich - e-mail: [email protected]; phones: +73952453061, +73952429006, fax: +73952511616; deputy director for science; dr. of eng. sc.; professor.
Feoktistov Alexander Gennadjevich - e-mail: [email protected]; phones: +73952453154, +73952350864; senior researcher; cand. of eng. sc.; associate professor.
Bogdanove Vera Gennadjevna - e-mail: [email protected]; phones: +73952453093, +73952510039; senior researcher; cand. of eng. sc.; associate professor.
Pashinin Anton Alekseevich - e-mail: [email protected]; phone: +73952453017, +73955678309; postgraduate student.
УДК 004.383.4
В.Ф. Гузик, С.М. Гушанский, Е.С. Кубраков
АППАРАТНЫЙ ПОДХОД К МОДЕЛИРОВАНИЮ КВАНТОВЫХ ВЫЧИСЛЕНИЙ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА ОПТИМИЗАЦИИ
Рассмотрен аппаратный подход к моделированию квантовых вычислений, а также описана общая математическая модель работы квантового компьютера и приведена методика математического моделирования квантовых вычислений. На этапе рассмотрения методики математического моделирования указываются наиболее ресурсоемкие для реализации участки модели. Также были рассмотрены вопросы, связанные с распараллеливанием данных на аппаратном ускорителе, который планируется использовать для моделирования квантовых вычислений, и приведены алгоритмы работы такого типа ускорителя. Предложен более компактный формат данных, который рекомендуется использовать при реализации ускорителя. Используя предложенные формат, можно уменьшить ресурсы, затрачиваемые на элементарные арифметические операции. Предложена возможность внедрения алгоритма оптимизации для минимизации временных затрат при вычислениях, а также ускорения выполнения квантовых алгоритмов в симуляторах квантового компьютера на этапе воздействия квантовых вентилей на модель квантового регистра. Приведены результаты работы алгоритма оптимизации и его сравнение с классическим математическим подходом при помощи программной модели.
Квантовый компьютер; моделирование квантовых вычислений; аппаратный ускоритель; алгоритм оптимизации.