Конференции ИВТ СО РАН



X Российская конференция с участием иностранных ученых "Распределенные информационно-вычислительные ресурсы”

Академгородок, г. Новосибирск, Россия, 6-8 октября 2005 г.

Тезисы докладов


Система удаленного доступа к вычислительным ресурсам

Афанасьев К.Е., Демидов А.В.

Кемеровский государственный университет (Кемерово)

В связи с усложнением решаемых с помощью ЭВМ задач потребность научных организаций и промышленных предприятий в вычислительных ресурсах в последние десятилетия годы неуклонно растет. Спрос на высокопроизводительные компьютеры порождает предложение в виде СуперЭВМ с различными параллельными архитектурами [1]. В последние годы отчетливо прослеживается тенденция роста популярности кластерных решений в силу их относительно невысокой стоимости и хорошей масштабируемости. Компьютерный кластер – это единственный вид ЭВМ с параллельной архитектурой, которую можно создать, практически не вкладывая финансовых средств, на основе обыкновенного компьютерного класса с локальной сетью (разумеется, производительность такого кластера будет невысока, но тем не менее она будет выше, нежели у отдельно взятого компьютера). В силу простоты кластерных решений, практически в каждом ВУЗе России имеется свой вычислительный кластер и, как правило, не один [2].

И при наличии нескольких вычислительных кластеров возникает вопрос, как же сделать работу пользователя этими ресурсами удобной и эффективной? Практически всегда пользователь работает на кластере в удаленном режиме, поскольку сами кластеры могут быть разнесены географически, да и физический доступ к ним может быть ограничен по ряду причин. Кроме того, кластеры могут работать по собственному графику, например кластер, построенный на базе учебного класса, часть времени используется в учебном процессе, а остальное - для расчетов. Для работы с такими ресурсами используют различные системы пакетной обработки заданий (например PBS, SGE, Condor и другие). Эти системы позволяют пользователю, работающему в удаленном режиме, поставить выполнение его расчетной задачи в очередь, из которой задача будет запущена при наличии свободного вычислительного ресурса. Пользователю нет необходимости быть постоянно подключенным к кластеру, ожидая освобождения его ресурсов. Достаточно поставить задачу в очередь, а через некоторое время проверить результат выполнения расчета. Помимо решения проблемы с графиком работы кластера, такой подход позволяет решить еще одно возможное неудобство пользователя: если различные кластеры работают под управлением различных ОС, то при прямой работе с каждым из кластеров, пользователь должен знать интерфейс каждой из работающих там ОС. Системы пакетной обработки заданий берут на себя процесс запуска расчетов и пользователю достаточно знать лишь интерфейс работы с самой системой для постановки задания в очередь.

В данной работе описывается процесс создания системы пакетной обработки заданий, которая обеспечивается следующие возможности:

  1. Принимать запросы на соединения, проводить аутентификацию пользователей;
  2. Принимать от пользователей запросы, авторизовывать, исполнять их и сообщать пользователю результаты обработки его запроса;
  3. Передавать между клиентом и сервером файлы с исходными текстами, а также файлы с результатами работы программ;
  4. Компилировать и запускать программы на заданном вычислительном ресурсе по запросу пользователя;
  5. Создавать серии расчетов (запуск одной программы с различными начальными данными) в автоматическом режиме по запросу пользователя;
  6. Поддерживать базу доступных вычислительных ресурсов, отслеживать состояние этих ресурсов;
  7. Поддерживать очередь расчетных программ, запускать программы из очереди по мере освобождения вычислительных ресурсов и в соответствии с некоторым планом запуска заданий;
  8. Поддерживать базу с исходными текстами программ, файлами начальных данных и результатами расчетов;

Разработка системы велась согласно методологии объектно-ориентированного проектирования [3] .Для реализации системы была выбрана архитектура «клиент-сервер». В рамках выбранной архитектуры клиентом будем называть ПО удаленного пользователя, а сервером – систему распределения заданий между имеющимися вычислительными ресурсами.

Клиент предоставляет пользователю удобный (графический) интерфейс для подключения к серверу, просмотра состояния пользовательских расчетов в системе, создания новых расчетов и размещения их в очередях. Клиент содержит подсистему для работы с сетевым соединением, графический интерфейс и блок формирования команд серверу и интерпретации его ответов. Клиент может быть как приложением, запускаемым пользователем, так и некоторым программным модулем, встраиваемым в другое ПО для обеспечения возможности запуска расчетных программ на удаленных вычислительных ресурсах. Примером такого ПО является пакет прикладных программ «АКОРД» для решения задач гидродинамики [4].

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

Для взаимодействия клиента и сервера используется собственный протокол прикладного уровня.

После формулировки требований и определения архитектуры и структуры была построена объектная модель системы удаленного доступа и управления очередями. В процессе моделирования были выделены основные классы системы: пользователь, вычислительный ресурс, расчет (совокупность расчетной программы и начальных данных), задание (расчет с указанными условиями запуска), очередь заданий, результат и другие. Всего для описания системы понадобилось около 20 классов.

После этого была описана функциональная модель системы в стандарте IDEF0 [5]. Данная модель содержит отдельные функциональные блоки системы и показывает потоки данных между этими блоками. Основными функциями системы являются: открыть сессию (в момент подключения пользователя), получить и выполнить команду, обработать очередь заданий. Открытие сессии разбивается на принятие входящего запроса, авторизацию пользователя и создание объекта типа «сессия». Блок выполнения команд включает в себя получение команды от клиента, ее синтаксический разбор, авторизацию и непосредственно исполнение. Обработка очереди заданий содержит функции проверки очереди на предмет ожидающих заданий, проверки доступности вычислительных ресурсов (кластеров), отправки заданий на кластер, отслеживания статуса исполняемых заданий, получения результатов выполнения программ и сохранения их в базе результатов. Каждый из перечисленных функциональных блоков в свою очередь подвергается расщеплению на составляющие функции.

Для хранения исходных кодов программ, бинарных файлов, файлов исходных данных для расчетных программ, расчетов, заданий, результатов и ряда других объектов системы используется реляционная СУБД MySQL [6]. ER-модель базы данных, приведенная к 3-й нормальной форме, состоит из 15 таблиц и набора связей между ними. Большая часть компонентов ER-модели соответствует классам, описанным в объектной модели, но вводятся и новые элементы, отсутствующие в объектной модели, но возникшие в ходе нормализации ER-модели.

В целом разработка системы ведется по методологии RAD (Rapid Application Development) и реализация отдельных функциональных блоков ведется параллельно с разработкой других блоков.

Система удаленного доступа и управления вычислительными ресурсами ведется в рамках гранта №4829 ведомственной научной программы «Развитие научного потенциала высшей школы» Министерства образования и науки Российской Федерации.

Литература

  1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - С. - П. - "БХВ - Петербург", 2002. - 608с.
  2. Афанасьев К.Е., Стуколов С.В., Демидов А.В. «Некоторые вопросы развития высоко производительных ресурсов: состояние, перспективы развития и подготовка кадров» // Вестник Кемеровского государственного университета, серия «математика» №3(7). – Кемерово, 2001
  3. Гради Буч Объектно-ориентированный анализ и проектирование с примерами приложений на С++. - Изд-во «Бином», 1998. – 560 с.
  4. Афанасьев К.Е., Гудов А.М. Информационные технологии в численных расчетах. – Кемерово, 2001. – 203 с.
  5. Свиридов С., Курьян А.. IDEF0: функциональное моделирование деловых процессов. // Центр ОТСМ-ТРИЗ технологий, Минск, Беларусь 1997. http://www.trizminsk.org
  6. Поль Дюбуа MySQL. – Изд-во «Вильямс», 2004. – 1056 с.

Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск