Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экз 1.doc
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
    1. Технология х-Соm

Х-Соm имеет простую структуру, соответствующую модели «ведущий/ведомые». В основе системы лежит клиент-серверная архитектура, в которой можно выделить два базовых компонента (Рис.5).

Сервер Х-Соm - центральная часть системы, отвечающая за разделение исходного набора данных на блоки, распределение заданий между узлами, координацию работы подчиненных узлов, контроль целостности результата расчета, сбор результата в единое целое. Узел Х-Соm - любая вычислительная единица (рабочая станция, узел кластера, виртуальная машина), на которой происходит расчет прикладной программы. Отдельные блоки входных данных передаются от сервера на узлы, где и происходит расчет, а полученные на узлах результаты передаются обратно на сервер. Узлы отвечают за обработку блоков входных данных, запрос новых заданий для расчета от сервера, передачу результатов расчета на сервер.

Рис.5. Модель Функционирования системы Х-Соm

Взаимодействие между узлами и сервером в Х-Соm происходят по протоколу HTTP, что позволяет подключать к системе практически любые вычислительные мощности, имеющие доступ к Сети.

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

Рис. 6 . Пример реальной организации процесса вычислений средствами Х-Соm

Для организации эффективного взаимодействия между сервером и узлами, а также для обеспечения масштабируемости системы при подключении большого числа узлов можно воспользоваться промежуточными серверами. В этом случае система приобретает иерархическую древовидную структуру произвольной вложенности. В листьях дерева всегда расположены вычислительные узлы, в корне находится центральный сервер Х-Соm. Промежуточные серверы (например, Сервер 2 на Рис. 6), с точки зрения центрального сервера выглядят обычными вычислительными узлами, а с точки зрения нижележащих вычислительных узлов - центральным сервером.

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

Заметим, полная архитектура системы Х-Соm не содержится ни в одном узле дерева и не управляется каким-либо единственным компонентом системы. Это, в частности, позволяет в процессе работы подключать новые узлы или отключать уже работающие без опасения нарушить ход расчета. Никаких помех подобная динамика изменения конфигурации вычислительной среды системе Х-Соm не создает. Центральный сервер знает, какие порции данных уже обработаны, какие находятся в процессе обработки, а какие пока не трогали вовсе. Если подключился новый узел, ему выдается очередное задание. Если узел отключился, не доведя свою работу до конца, то выданное ему задание перераспределяется между другими узлами. Если от какого-либо узла слишком долго не поступает никакой информации, то узел считается отключившимся, а его работа перераспределяется между другими узлами.

Рис. 7. Изменение числа процессоров, участвующих в эксперименте

На Рис. 7 показан график изменения во времени числа работающих процессоров, привлеченных для одного из расчетов. Верхний график отображает общее число процессоров в системе, нижние - по каждой отдельной системе Видно, что общее число процессоров сильно меняется. Резкий подъем, отмеченный на графике (1), связан с подключением к расчету через сутки после его начала вычислительных систем НИВЦ МГУ. Уменьшение (2) вызвано падением канала связи с Уфой. Через несколько часов связь восстановилась, и кластер УГАТУ вновь подключился к работе. Небольшие изменения числа процессоров (3) связаны с особенностью настройки кластера в ИММ УрО РАН: время работы пользовательского процесса ограничивалось 500 минутами. По достижении этой точки процессы Х-Соm автоматически снимались, после чего их приходилось запускать заново.

Любая прикладная программа, работающая в рамках системы Х-Соm, разбивается на две части: серверную и вычислительную (Рис. 8).

Рис. 8. Взаимодействие прикладной программы с Х-Соm

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

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

Легко было сказать, опираясь на аналогию с электрической сетью: «Подключайся и используй». На практике же возникает огромное количество действительно серьезных проблем. Часть из них касается вопросов политического и экономического характера. Без решения таких вопросов не обойтись; их обязательно надо учитывать, поскольку масштаб работ по метакомпьютингу выходит на межгосударственный уровень.

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