Архитектура Вычислительных Систем», Университет «Дубна» лекция

Вид материалаЛекция

Содержание


Межведомственный суперкомпьютерный центр в Москве
ГРИД и метакомпьютинг.
Особенности метакомпьютера.
Распределенная система по своей природе. Может динамически менять конфигурацию (Масштабируемость)
Новое поколение
3е поколение
Teragrid usa
Это означает что для любых двух опреаций существуют две возможности
Важное утверждение, которое определяет однозначность конечного результата при различных реализациях.
Подобный материал:
Курс «Архитектура Вычислительных Систем»,

Университет «Дубна»

Лекция 4.

Кластерные проекты


Метакомпьютинг и GRID технологии

Графовые модели алгоритмов

Кластерные проекты



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


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


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


Возможно создание кластеров с более высокими параметрами на основе экслюзивных и более дорогих комплектующих (класс 2).

  • системы высокой надежности
  • высокопроизводительные вычисления
  • многопоточные системы



Первый кластер – beowulf – 1994, в центре NASA, 16 процессоров Intel 100Mhz, 16 Mb ОП на каждом, по три карты для обычной сети Ethernet

(10 мбит\сек).


Проект стал основой общего подхода к построению параллельных кластерных компьютеров, состоящих их одного серверного узла (головного) и нескольких подчиненных узлов, соединенных посредством стандартной компьютерной сети. Кластер строится на основе стандартных компонент (ПК под LINUX,), стандартных сетевых адаптеров. Нет специального программного пакета Беовулф. Есть несколько пакетов программного обеспечения, которые пользователи нашли пригодными в рамках кластеров данной концепции. LINUX, MPI, системы управления очередями и другие стандартные продукты.


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


Развитие кластеров идет

  1. по наращиванию числа процессоров,
  2. использованию все более мощных процессоров,
  3. развитию коммуникационных технологий – Fast ethуrtner, Gigabit Ethernet Myrinet et al


Латентность – время начальной задержки при передаче сообщений; пропускная способность сети – скорость передачи информации.


Много коротких сообщений – латентность играет главную роль.

Длинные сообщения – основным фактором становится скорость.


ТО большое значение имеет сбалансированность загрузки как узлов, так и сети.


Схемы соединения узлов кластера.

  • плоская решетка
  • куб (8)
  • гиперкуб (больше 8)
  • кольцо с полной связью по хордам
  • фэт-три – толстое дерево. (1985)



Межведомственный суперкомпьютерный центр в Москве



МВС-1000М (филиал в ВЦ ИПМ им.Келдыша)

6 базовых блоков по 64 двухпроцессорных модуля.

Каждый модуль имеет 2 альфа процессора 667 Мгц, 2 Гбайт ОП на двоих, жесткий диск. Общее число процессоров в системе 768, пиковая производительность 1Тфлопс - 1.е+12 оп\сек.

Для обмена данных в процессе вычислений - сеть Myrinet 2000 - 170 Mбайт\сек. Для сервисных функций ОС - Fast Ethernet.


МВС-6000IM – 256 процессоров Intel 1.6Ггц,

Есть и еще круче - МВС 15000.


НИВЦ – новый суперкомпьютер был запущен в конце прошлого года.


Саров на уровне американцев

американцы 10е+15 оп\сек – 1000 Террафлопс


ГРИД и метакомпьютинг.


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


История начиналась с научных приложений.


В начале 90х возникла идея создать из многочисленных суперкомпьютерных центров США большой Метакомпьютер (компьютер из компьютеров), чтобы пользователи могли получать практически неограниченные ресурсы для вычислений и хранения данных. Реализация этой идеи продолжается до сих пор. А те идеи и технологии, которые были для этого разработаны – оказались применимы не только для организации высокопроизводительных вычислений, но и для других областей жизни – банки, торговые и производственные предприятия имеют по своей природе распределенную структуру и нуждаются в инфраструктуре, позволяющей организовать межкорпоративное взаимодействие на основе распределенных программных приложений.


Грид опирается и развивает традиционные технологии Интернет, и в литературе о нем часто говорят как об Интернете нового поколения.


А Интернет - фактически и есть одна из реализаций метакомпьютера.


Его нынешнее состояние сравнивают с Интернетом образца середина 90х годов. В то время как сейчас число пользователей сети измеряется приближается к миллиарду.

Особенности метакомпьютера.




  • огромные ресурсы по всем параметрам – число процессоров, память, кол-во приложений,пользователей. Все это на много порядков превышает показатели одного даже мощного суперкомпа.




  • Распределенная система по своей природе.




  • Может динамически менять конфигурацию (Масштабируемость)




  • Неоднородность - разные машины, организации, т.е. необходимость согласования.и стандартизации.



Все это требует разработки специального инструментария для обслуживания всей этой структуры и решения всех проблем взаимосвязи.


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

Далее, пошли по пути ПК.


Однако нынче исследования показывают, что ПК в среднем используются на 20%, поэтому снова актуальна декомпозиция и глобализация. – т.к. дробление ресурсов не экономично.


Прообраз Интернета – проект Арпанет – сеть была построена с целью объединения выч ресурсов и экономии средств, затрачиваемых на выч технику.


То, что в первую очередь это стало средство коммуникации – сами создатели не ожидали – после разработки протокола ТСР\ИР, который стал стандартом.


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


На данной стадии единой структуры типа Интернет нет, существуют разрозненные сети, и существует идея ГРИД.


Воплотители – первое поколение


CONDOR – 512 корпоративных рабочих станций ночами отдают свое время для внешних вычислений


SETI – домашние компы, бесплатно, радиотелескопы – поиск цивилизаций


Далее 1989 FAFNER- простые числа – нобель 100000 у.е. за число с

10 000 000 цифр. 2p-1 Mersenne


I-WAY – объединение в виртуальную сеть трех реальных разнородных комм сетей.


Новое поколение (2е) – требования к инструментам и сервису


- Административная иерархия- способ взаимодействия пользователя с системой.

- Коммуникационные службы – надежность и безопасность связи

- Информационные службы – доступность ресурсов (копии баз)

- Единое пространство имен

- Распределенные файловые системы и др проблемы.


ГЛОБУС – в 98 создана компания Апплайд метакомпьютинг,

2001 – Аваки, одно из лидирующих мест в области разработки грид технологий - Фактически стандарт


Что разрабатывают -

Резервирование ресурсов на основе нттр-протокола

Грид-фтп для передачи файлов

Аутентификация и безопасность

Удаленный доступ к данным


ЛЕГИОН – 97г


Принципиально новые инструменты ( 3е поколение)


Научные порталы для вызова пакетов прикл программ.

Организация распределенных выч-й на десятках тысяч компьютеров.

Анализ сверхбольших объемов данных благодаря объединению систем хранения информации средствами грид

Объединение ресурсов для обработки экспериментов в режиме онлайн.


Superjanet England

Geantnet – evropa

APAn azia

TERAGRID USA


ЦЕРН (коллайдер (ЛНС)


НаноГрид


ГРАФЫ АЛГОРИТМОВ


Любая программа описывает некое семейство алоритмов, которое определяется входными данными.


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


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


На параллельных системах – возможны варианты.


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

В последнем случае опрерация не может начаться раньше, чем будут готовы ее аргументы.

Т.О. компьютерный код явно или неявно на множестве всех операций устанавливает частичный порядок


Это означает что для любых двух опреаций существуют две возможности
  1. фиксирована последовательность операций
  2. операции быть выполнены независимо в любой последовательности либо одновременно.


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


Графовая трактовка изложенного.
  • Входные данные – вершины графа.
  • Каждой операции соответствует узел,
  • дуги со стрелками - пересылка аргументов и результатов.


Это граф информационной зависимости реализации алгоритма при фиксированных входных данных. ИЛИ граф алгоритма


Граф алгоритма всегда

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


Можно написать программы, реализующие один и тот же алгоритм, по-разному - и, соответственно, построить разные графы


Важное утверждение, которое определяет однозначность конечного результата при различных реализациях.


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


Параллельная форма графа.

Помечаем 1 входные вершины, отбрасываем их вместе с исходящими из них дугами, помечаем 2 вершины без дуг и т.д.


Тогда получаем ярусы, число вершин в ярусе – ширина яруса.


При этом никакие две вершины яруса не связаны одна с другой.


Высота графа – число ярусов.


Эквивалентные преобразования графа отражают разные возможности реализации одного и того же алгоритма


Если реализация последовательная,

то говорят, что граф упорядочен линейно, ширина линейного графа равна 1


Пусть алгоритм, описываемый графом, реализуется на компьютере
  • одна вершина (операция) за время = 1.
  • Пренебрегаем всеми накладными расходами.
  • Начало – нулевой момент времени


Все операции одного яруса начинают выполняться одновременно и окончание работы яруса соответствует его номеру.

Число операций в ярусе совпадает с шириной яруса

Время реализации алгоритма равно числу ярусов.


Можно отобразить на графике зависимость времени реализации алгоритма от ширины соответствующего графа.


Граф можно считать информационным ядром алгоритма. Зачем:

  1. Зная граф алгоритма и его формы – можно понять, каков запас параллелизма в алгоритме и как его лучше реализовать на конкретном компьютере.
  2. Применима теория графов для поиска закономерностей.
  3. Операции построения и преобразования графов программ в принципе можно автоматизировать, тем самым открываются возможности для распараллеливания последовательных кодов, накопленных в библиотеках программ. Вручную этого сделать невозможно. Такая работа проводится в НИВЦ МГУ.


Пример – последовательное и параллельное умножение или сложения для 8 аргументов.


Высота параллельной формы последовательного алгоритма = 7,

ширина 1.

Если в вычислителоьной системе больше 1 процессора – остальные будут простаивать.


Схема сдваивания – высота параллельной формы – log_2 (n). Реализуется на n/2 процессорах, но загруженность уменьшается от яруса к ярусу.