Orlando Tools

Новости


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

Он включает в себя следующие основные компоненты (рис. 1):

– веб-интерфейс, поддерживающий доступ пользователей к компонентам Orlando Tools;

– конструктор модели, который применяется для спецификации знаний о предметной области приложения как в текстовом, так и в графическом режимах (в текстовом режиме спецификация знаний описывается в терминах XML);

– базу знаний с информацией о модульной структуре приложения (наборах прикладных и системных модулей), схемах решения задач предметной области (параметрах, операциях и продукциях предметной области, а также отношениях между ними), программно-аппаратной инфраструктуре (характеристиках узлов, каналов связи, сетевых устройств, топологии сети, сбоях программного и аппаратного обеспечения и т. д.);

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

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

– API для поддержки Grid и веб-сервисов обеспечивает подключение разнообразных удаленных информационно-вычислительных ресурсов.

Orlando

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

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

Агенты представляют вычислительные системы, входящие в среду, и управляют распределением потоков заданий приложений с учетом административных политик, принятых в каждой системе, а также классов заданий, генерируемых приложениями.

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

На рис. 2 показана схема интеграции вычислительных инфраструктур в единую среду с помощью Orlando Tools.

Orlando

В качестве вычислительных систем могут быть использованы:

– различные ПК, сервера и базы данных;

– кластеры ПК и HPC-кластеры;

– узлы Linux (отдельные узлы с операционной системой Linux), которые могут использоваться для включения в приложения неотторжимого (расположенного в специализированных узлах) программного обеспечения;

– виртуальный кластер создается на основе выделенных ресурсов центра коллективного пользования с размещенными на них виртуальными машинами проблемно-ориентированной среды, образы которых включают необходимое прикладное программного обеспечения приложений и средства PBS Torque для управления очередями заданий этих приложений;

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

Системная часть является общей для всех приложений, разработанных в рамках конкретной среды. Она представлена сервером Orlando Tools, поддерживающим веб-интерфейс для доступа пользователей к ее компонентам. Основу системной части составляют конструктор концептуальной модели, планировщики вычислений и интерпретаторы схем решения задач. Библиотеки модулей приложений включают прикладное программное обеспечение для решения задач предметной области.

Архитектура виртуального кластера приведена на рис. 3. Образы Orlando Tools VM и Linux VM предварительно сконфигурированы и упакованы с использованием Open Virtualization Format – версии 1.0, который обеспечивает переносимость виртуальной машины на различное оборудование и совместимость с различными гипервизорами.

Узлы имеют один из гипервизоров: Oracle VM VirtualBox, ESXi или XEN. Виртуальный кластер создается путем размещения виртуальных машин в узлах, объединенных LAN, WAN или VPN. NFS-сервер используется для предоставления общего доступа виртуальной машины Linux к DLL (/ usr / share / lib), прикладным программам и данным (/ home) в сети. Доступ к Orlando Tools осуществляется по IP-адресу Orlando Tools VM.

Orlando

Приложения, разработанные в Orlando Tools, генерируют потоки заданий. Задание описывает процесс решения задачи и включает информацию о необходимых вычислительных ресурсах, используемых программах, входных и выходных данных, интерконнекте и т.п. Потоки заданий поступают в вычислительные инфраструктуры, включенные в среду. Планировщик Orlando Tools распределяет потоки заданий между инфраструктурами с учетом производительности их узлов применительно к схеме решения задачи. Оценка производительности узла производится путем предварительных экспериментов с прикладными модулями. Когда потоки заданий поступают в среду, организованную на основе ресурсов центра коллективного пользования «Иркутский суперкомпьютерный центр СО РАН», они управляются мультиагентной системой.

1. Feoktistov A., Gorsky S., Sidorov I., Kostromin R., Edelev A., Massel L. Orlando Tools for Scientific Applications Development and Use: Convergence of Grid and Cloud Computing // Communications in Computer and Information Science. 2019. V. 965. P. 289-300.

2. Feoktistov A., Kostromin R., Sidorov I.A., Gorsky S.A. Development of Distributed Subject-Oriented Applications for Cloud Computing through the Integration of Conceptual and Modular Programming // Proceedings of the 41st International Convention on information and communication technology, electronics and microelectronics (MIPRO-2018). Riejka: IEEE, 2018. P. 256-261.

3. Feoktistov A., Sidorov I., Sergeev V., Kostromin R., Bogdanova V. Virtualization of Heterogeneous HPC-clusters Based on OpenStack Platform // Bull. S. Ural State Univ. Ser. Comput. Math. Soft. Eng. 2017. V. 6, № 2. P. 37-48.

4. Edelev A., Zorkaltsev V., Gorsky S., Doan V.B., Nguyen H.N. The Combinatorial Modelling Approach to Study Sustainable Energy Development of Vietnam // Commun. Comput. Inf. Sci. 2017. V. 793. P. 207-218.

5. Феоктистов А.Г., Сидоров И.А., Горский С.А. Автоматизация разработки и применения распределенных пакетов прикладных программ // Проблемы информатики. 2017. № 4. С. 61-78.

6. Bychkov I.V., Oparin G.A., Feoktistov A.G., Sidorov I.A., Bogdanova V.G., Gorsky S.A. Multiagent control of computational systems on the basis of meta-monitoring and imitational simulation // Optoelectronics, Instrumentation and Data Processing. 2016. V. 52, № 2. P. 107-112.

7. Феоктистов А.Г., Горский С.А. Язык спецификации вычислительных моделей в масштабируемых пакетах прикладных программ // Современные наукоемкие технологии. 2016. № 7. С. 84-88.

    Gorsky Sergey