Доступ к агрегированным ресурсам вычислительной системы осуществляется в рамках традиционной парадигмы вычислений, т.е. так, как если бы вся совокупная вычислительная мощь была сосредоточена на одном компьютере [2]. При этом участвующие в проведении вычислений ресурсы (объекты) могут быть реализованы на различных языках программирования и размещены на различных платформах.
Целью данной работы являлась разработка высокоэффективной, масштабируемой, платформо-независимаой вычислительной системы, которая позволила бы подойти к решению вычислительных задач практически любой степени сложности. Основным требованием к данной разработки являлась возможность ее использования непосредственно специалистами соответствующей прикладной области науки и техники, которым не требуется иметь навыков в программировании для работы системой.
В ходе реализации данной работы было разработано программное обеспечение (ПО) представляющее собой комплекс различных сервисных программ, компонентов, служб доступа и мониторинга, образующих единое вычислительное пространство, ядром которого является кластер серверов управления распределенными вычислительными ресурсами.
Разработка ПО для вычислительного информационного ресурса велась в соответствии с современными способами организации и работы с данными для распределенных вычислительных систем, в основе которого стоит платформо-независимая технология CORBA - Общая Архитектура Брокеров Объектных Запросов. Эта технология определяет промежуточное программное обеспечение (ППО), которое потенциально связано со всеми другими формами существующих клиент/серверных ППО. Использование данной технологии позволило соединить все созданные компоненты системы единой шиной обмена данными.
Полученная вычислительная система (рис.1) предоставляет двойной интерфейс для доступа к репозиторию объектов. Первый, рассчитан непосредственно на разработчиков программного обеспечения, и позволяет видоизменять исходный код объекта с учетом нужд разработчика, что дает гибкость и масштабируемость системы, в свою очередь второй интерфейс доступа рассчитан на конечного пользователя и выполнен в JAVA аплета.
Рис. 1 Общая схема работы IARnet
Как уже отмечалось, ядром системы является программный комплекс для работы серверов (рис. 2). Система представлена тремя типами серверов. На первом типе установлен DNS-сервер (сервер разрешения имен), в нем находятся записи всех входящих в систему серверов-репозиториев объектов. При получения запроса от клиента, DNS-сервер вычленяет из пакета запроса префикс объекта, который характеризует имя сервера-репозитария объекта. Далее запрос перенаправляется непосредственно одному из серверов-репозитарев объектов, который устанавливает адресную связь с клиентом и выполняет все дальнейшие взаимодействие с ним. На следующем этапе, необходимый для создания объект передается в кластер серверов распределенных вычислений. На одном из серверов распределенных вычислений производится создание объекта, и последующий анализ и дробление вычислительной задачи на более мелкие пакеты вычислений, которые в свою очередь распределяются по конечным узлам - участникам кластера распределенных вычислений.
Рис.2 Общий принцип работы ядра IARnet
Суммарная вычислительная мощь системы, характеризуется размерностью вычислительного кластера в целом, т.е. общим количеством входящих в него (кластер) компьютеров-узлов, и непосредственно количеством самих серверов распределенных вычислений, так как объекты выполняются и управляются непосредственно на серверах, в то время как выполнение сегментов кода выделенное сервером выполняется компьютерами-узлами.
Таким образом предложенный подход к созданию программных средств позволяет наиболее полно использовать ресурсы вычислительной системы, которая представлена соединенными в единую сеть распределенных вычислений персональными компьютерами, способных взаимодействовать между собой как в локальной, так и в глобальной сети Internet.
Литаратура:
- Грегори Р.Эндрюс, "Основы многопоточного, параллельного и распределенного программирования", 512 С;
- Мак К. Гофф, Сетевые распределенные вычисления. Достижения и проблемы, 320 С;
- Сергей Немнюгин, Ольга Стесик, "Параллельное программирование для многопроцессорных вычислительных систем", 396С;
- Воеводин В.В., Воеводин Вл.В., «Параллельные вычисления», 608 С.