Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архитектура метакомпьютера

.doc
Скачиваний:
14
Добавлен:
17.06.2016
Размер:
62.46 Кб
Скачать

4

Архитектура метакомпьютера

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

Можно полагать, что архитектура метакомпьютера аналогична “шинной” архитектуре. Сеть Internet представляет собой множество узлов с собственными процессорами, оперативной и внешней памятью, устройствами ввода/вывода. Узлы соединены друг с другом коммутационным оборудованием и линиями передачи данных. Такая конструкция весьма напоминает многопроцессорную систему, в которой роль магистральных шин выполняет Сеть. Возможно превращение указанной аналогии в реальность с целью образования сверхкомпьютера или метакомпьютера, который для пользователей и программистов выступал бы как единая вычислительная среда, доступная непосредственно с рабочего места. Современные исследовательские проекты в этой области направлены на обеспечение прозрачного доступа пользователей через Internet к необходимым распределенным вычислительным ресурсам, а также прозрачного подключения простаивающих вычислительных систем к метакомпьютерам.

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

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

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

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

0.2 – 20 Tflops процессорной мощности;

100 – 200 GB оперативной памяти;

1 – 2 TB дисковой памяти;

0.2 – 0.5 GB/sec ширина полосы пропускания канала ввода/вывода.

Нижняя граница указанных запросов обеспечивается уникальной архитектурой типа SGI/CRAY Origin с тысячами процессоров. Объем требуемых ресурсов, задаваемых верхней границей, значительно меньше даже суммарного объема ресурсов в некотором фрагменте сети Internet. Для использования ресурсов сети Internet требуются знания о том, как эти ресурсы объединить и дать доступ к ним реальному потребителю.

Для решения задачи трансформации сети в метакомпьютер необходимы интеллектуальные и финансовые ресурсы. В США создан Национальный научный фонд NSF – National Science Foundation, для которого проект вычислительной сетевой среды стал естественным продолжением предыдущей общенациональной программы создания суперкомпьютерных центров, начатой в 1985 году и завершившейся в сентябре 1997.

По окончании Суперкомпьютерной программы в США стартовала новая — Partnership for Advanced Computational Infrastructure (PACI). Она выполняется сразу двумя крупными научными объединениями: National Computational Science Aliance (далее Aliance) и National Partnership for Advanced Computational Infrastructure (NPACI). Финансирование осуществляют NSF, DARPA, NASA, Министерство обороны.

План Aliance ставит задачу (и за истекший период она достаточно успешно реализуется) создания Национальной Технологической Сети GRID, которая способна открыть доступ с рабочих мест к самой большой из когда—либо собранных вычислительных сред для решения сложнейших научных и инженерных задач. Термин GRID используется для обозначения вычислительной среды по аналогии с электрической сетью: включение в GRID пользователей должно быть столь же легким, как и включение бытовых приборов.

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

Потенциал технологий GRID имеет стратегический характер. В близкой перспективе GRID должен стать вычислительным инструментарием для развития высоких технологий в различных сферах человеческой деятельности, подобно тому, как таким инструментарием стали персональный компьютер и сеть Интернет. GRID позволяет решить две проблемы: создание распределенных вычислительных систем сверхвысокой пропускной способности из серийно выпускаемого оборудования при одновременном повышении эффективности имеющегося парка вычислительной техники путем предоставления в GRID временно простаивающих ресурсов; создание систем, обрабатывающих глобально распределенные данные, способных поддерживать жизнедеятельность государственных структур.

Для распространения метакомпьютерных технологий необходимо гармоничное сочетание двух направлений. Необходимо развитие технической базы и создание программного обеспечения (ПО) нового поколения. Необходимо использование новых методов для создания GRID.

Развитие GRID ориентировано на сети второго поколения. В первую очередь это магистрали vBNS (NSF), ESNet (Министерство энергетики), DREN (Министерство обороны), NASA Science Internet, Internet2. В этих сетях используются протоколы с пропускной полосой от 45 Mb/sec до 622 Mb/sec. В планах Aliance ставится задача довести производительность магистрали до 38,4 Gb/sec, и параллельно производится подключение участников проекта к магистралям такого рода.

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

Обновлению необходимо подвергнуть все базовые компоненты современных операционных систем (ОС): систему управления памятью, процессами и файлами, систему ввода/вывода и систему безопасности.

Некоторые методы современных ОС, например, методы управления памятью могут быть использованы при организации единой вычислительной среды. Можно организовать сверхбольшое адресное пространство для задач, используя виртуальную память нескольких машин. При подкачке страницы может происходить ее пересылка по сети с узла, на котором она размещается в данный момент, на узел, где выполняется задача. Такая схема реализована в программах (TreadMarks), эмулирующих аппаратные архитектуры распределенной общей памяти и действующих на уровне механизмов ОС совершенно прозрачно для любых приложений. Даже в готовые приложения не требуется вносить каких-либо изменений – они получают большую память бесплатно.

Необходимо создание нового метода безопасности. В современных ОС (и Unix, и Windows) он основан на персональной регистрации каждого пользователя, получающего доступ к машине. Этот метод практически непригоден в динамически организующейся среде метакомпьютера, в которой каждый пользователь может претендовать на "чужие" ресурсы. В такой ситуации нужен принципиально иной подход, сохраняющий за каждым административным доменом право проводить собственную политику безопасности и гарантирующий надежность, но в то же время предполагающий однократную регистрацию пользователей в общей распределенной среде.

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

Поэтому в области высокопроизводительных приложений применяется "промежуточное" решение – кластерные системы пакетной обработки заданий для управления вычислительным процессом в многоузловых системах, объединяющих локальной сетью многопроцессорные установки и рабочие станции Unix. Пользователи могут запускать задания не на конкретную машину, а на кластер в целом. Задания оформляются обычным образом с добавлением паспорта требуемых ресурсов: времени счета, объема памяти и дискового пространства, количества процессоров и т.д. Система пакетной обработки организует очереди заданий и распределяет задания по наличным ресурсам, оптимально балансируя нагрузку на узлы.

Примерно такая же идеология управления ресурсами, но уже на уровне глобальных сетей типа Internet поддерживается программной метакомпьютерной средой Globus, развиваемой в рамках проекта PACI. Эдесь пул ресурсов формируется из крупных сайтов, разбросанных по всему миру. Информация об их состоянии динамически собирается на выделенном сервере, к которому могут обращаться все сертифицированные пользователи. Потенциально можно запустить задание на суперкомпьютер, расположенный, скажем, в Бостонском университете и получить результат на свое рабочее место. Уже в сегодняшнем состоянии Globus представляет собой развитую среду, в которую входят средства управления сетевой передачей, дистанционного доступа к файлам, обеспечения безопасности и т.д. Цель проекта Globus создание средств для организации глобадьной информационно-вычислительной среды.

Проект Globus предусматривает разработку ПО для организации так называемых вычислительных сетей "computational grids", включающих в себя вычислительные системы, системы визуализации, экспериментальные установки. В рамках проекта проводятся исследовании по построению распределенных алгоритмов, обеспечению безопасности и отказоустойчивости метакомпьютеров.

К настоящему времени разработаны следующие программные средства. Globus Resource Allocation Manager - единообразный интерфейс к различным "локальным" системам распределения нагрузки (LSF, NQE, LoadLeveler). Globus Security Infrastructure - система аутентификации на базе открытого ключа и X.09-сертификатов. Metacomputing Directory Service (MDS) - репозиторий информации о вычислительных ресурсах, входящих в метакомпьютер. Nexus - коммуникационная библиотека; Heartbeat Monitor (HBM) - средство мониторинга, позволяющее определить сбой некоторых машин и процессов, входящих в метакомпьютер. Globus Access to Secondary Storage (GASS) - средство доступа к удаленным данным через URL. Для описания требований приложения к ресурсам разработан специальный язык RSL (Resource Specification Language).

Программное обеспечение Globus 1.0.0 доступно бесплатно. Доступна также реализация MPI (MPICH-G) поверх Globus.

Для тестирования метакомпьютерной системы Globus был создан реальный метакомпьютер GUSTO (testbed environment), который включает около 40 компонент с суммарной пиковой производительностью 2.5 TFLOPS.

В институте прикладной математики им. М.В.Келдыша РАН создан проект реализации Метадиспетчера средствами метакомпьютерной системы Globus. Метадиспетчер – система управления заданиями в гетерогенной вычислительной Сети, объединяющей группы компьютеров, находящиеся под управлением систем управления пакетной обработкой. Globus предоставляет средства информационного обеспечения (MDS), инфраструктуру безопасности (GSI), удаленного доступа к даным (GASS), унифицированного удаленного запуска и управления заданиями (GRAM). В проекте описаны функциональность и архитектура Метадиспетчера, включающая пул заданий, интерпретатор команд, планировщик и монитор заданий. Рассмотрен вопрос подготовки заданий с учетом гетерогенности.

Завершая обсуждение проблемы трансформации сети Internet в метакомпьютер, можно архитектуру метакомпьютера представить в виде двух уровней. Первый уровень, локальный, представляемый в виде кластера в локальной сети, включает: систему управления пакетной обработкой заданий (LSF, LoadLeveler, Condor, DQS, PBS); распределенную файловую систему (NFS, DFS, AFS); систему эмуляции распределенной общей памяти.

Второй, глобальный, уровень включает ПО Globus, интегрирующее функции управления ресурсами, запуска заданий, глобальной файловой системы и безопасности. Однако, эта далеко не завершенная среда, практически все из перечисленных подсистем нуждаются в существенной доработке и, возможно, в новых подходах. Так как строить «метакомпьютер», не меняя компьютерных первооснов, - означает создавать гигантский ускоритель темпов роста информационных шумов, способный обесценить любые инвестиции.