РАСПРЕДЕЛЕННЫЙ КЛАСТЕР НЕ УСТУПИТ «ГОЛУБОМУ ГЕНУ»?
Системы распределенной обработки информации и параллельные
вычислительные технологии относятся к базовым средствам XXI
столетия, обеспечивающим интенсификацию научно-технического
прогресса. Созданием распределенных вычислительных систем многие
годы занимается член-корреспондент РАН Виктор ХОРОШЕВСКИЙ, в
конце августа встретивший 65-летие. Ученый заведует лабораторией
вычислительных систем в Институте физики полупроводников СО РАН и
возглавляет Центр параллельных вычислительных технологий и
кафедру вычислительных систем в Сибирском государственном
университете телекоммуникаций и информатики (СибГУТИ).
Галина Шпак, «НВС»
Счет пошел на квадриллионы
Недавно в СМИ мельком прошли сообщения, что в США, в известной
фирме IBM, будет создан самый быстрый суперкомпьютер Blue,
способный производить квадриллион операций в секунду. Цифра единица
с пятнадцатью нулями! Почему американцы так гонятся за
цифрой? Существует ли предел наращивания мощности ЭВМ?
Не уводят ли супермонстры в «дурную бесконечность»?
Не страдает ли в угоду
фантастической скорости качество решения сложных задач?
Проектов, подобных американскому Blue, в мире несколько, но
американцы настроены на «супер-супер». Известная американская
компания «Cray» выпустила суперкомпьютер Cray X1 с
производительностью 52 терафлопс, превосходящей японский
суперкомпьютер Earth-Simulator, который ранее возглавлял мировой
рейтинг. «Cray» приняла и петафлопсовый вызов, намереваясь
построить систему с возможностью выполнения 1000 терафлопс к 2010
году. Но существует и другой путь создания вычислительных систем.
В Сибирском отделении РАН построен самый оригинальный кластер,
который неофициально называют «кластером Хорошевского». Из
любопытства я решилась на встречу с Виктором Гавриловичем.
Когда я выложила всю имеющуюся у меня информацию, В. Хорошевский
уточнил, что речь шла, скорее всего, о проекте системы IBM
BlueGene с быстродействием десять в пятнадцатой степени операций
в секунду (квадриллион операций, или один петафлопс).
Несколько конфигураций данной системы входят в Top500 (список
500 самых мощных компьютеров мира). Более того модель BlueGene/L,
состоящая из 32768 процессоров, возглавляет Top500, ее
производительность 70720 гигафлопс (или 70720 миллиардов
операций с плавающей запятой в секунду). Для достижения одного
квадриллиона операций в секунду требуются конфигурации систем из
сотен тысяч процессоров.
В 1960-х годах «голубой мечтой» математиков-вычислителей было
достижение производительности в миллиард операций в секунду.
Сейчас мечтают достигнуть одного петафлопса, т.е. миллиона
миллиардов операций в секунду. Проект BlueGene («голубой ген»)
превратит «голубую мечту» в реальность до 2010 года.
Теперь, об американской научно-технической политике в области
«супер-супер».
В США существуют национальные программы. Американцы считают, что
создание суперкомпьютеров осуществляется исключительно в
интересах национальной безопасности(!). И производящую компанию
«Cray» правительство США эффективно поддерживает. Так, например,
проект Cray X1 получил финансовую поддержку от нескольких
организаций правительства США, включая NSA агентство
национальной безопасности. Первый вариант проекта уже создан, и с
2002 г. осуществляются поставки конфигураций Cray X1. Их
производительность в диапазоне 1,5-50 триллионов операций в
секунду.
А раньше пределом мечтаний была большая Cray?
Конвейерная система Cray-1 (1976 г.) обладала быстродействием
160 мегафлопс (160 миллионов операций с плавающей запятой в
секунду). И она в самом деле была «большой»: это 12 клинообразных
стоек, имеющих высоту 1,96 м и расположенных по дуге в 270
градусов внутри окружности с диаметром 2,63 м; ее цена 5-9 млн.
долларов (в зависимости от конфигурации).
Cray-1 одна из самых лучших систем, суперкомпьютер своего
времени. Это сейчас она кажется громоздкой, т.к. теперь компьютер
с быстродействием на порядок большим размещается в одном
кристалле. Фактически Cray «присутствует» в каждом персональном
компьютере. В подобные машины «вмонтирован» конвейерный способ
обработки информации. Совершен переход с макроуровня на
микроуровень, т.е. архитектура суперкомпьютера 70-х годов
прошлого столетия реализована в виде кристалла площадью в
несколько десятков квадратных миллиметров. Современный
суперкомпьютер является ничем иным, как множеством связных
кристаллов (коллективом вычислителей).
Вы спрашивали о пределах быстродействия ЭВМ. Напомню, что с
именем Джона фон Неймана связывают разработку в 40-50-е гг.
прошлого столетия концептуальной машины, по существу дела
имитирующей работу человека, занятого расчетами. Созданная в США
на основе принципов Дж. фон Неймана ЭВМ EDVAC (1944-1950 гг.), а
также независимо построенная в СССР под руководством С. Лебедева
машина МЭСМ (1948-1951 гг.) по архитектурным возможностям и
техническим характеристикам были предельно близки. В эти машины
был заложен последовательный способ обработки информации.
Последовательные ЭВМ даже в 1960-х годах не могли удовлетворить
все потребности в вычислениях.
Пределом модификации архитектуры ЭВМ является вычислительный
конвейер «цепочка» блоков обработки информации. При заполнении
конвейера все его блоки работают параллельно (как на конвейере по
сборке, например, автомобилей), но каждый из них над своими
данными. Этот параллелизм обеспечивает необходимую
производительность конвейера. При этом ясно, что каждые
конкретные данные (операнды) последовательно проходят все этапы
обработки на конвейере. Последнее накладывает ограничение в
наращиваемости производительности конвейера. Конвейерные
архитектуры являются основой идеологии компании Cray.
Второй подход, который зародился также в 1960-х гг., основывался
на использовании единого устройства управления и множества
взаимосвязанных одинаковых «простых» процессоров, называемого
матрицей. В результате такого параллелизма можно было достичь
сколь угодно большой производительности. Классикой здесь явилась
разработка американской матричной системы ILLIAC-IV. В те же годы
у нас в стране и, в частности, в Сибирском отделении Академии
наук СССР, был предложен более перспективный подход к построению
вычислительных систем. Принцип такой: единого ресурса, единого
управления нет. Имеется коллектив равноправных взаимосвязанных
вычислителей, способный решать сложную задачу, представленную в
параллельном виде.
При конструировании параллельных вычислительных систем следует
поступать так же, как и при организации коллективов, объединенных
общей работой. Именно сложность (трудоемкость) решаемых проблем
определяет количественный состав коллектива. Хорошо известны
задачи, решаемые таким коллективом, как бухгалтерия. Сложности
решения проблем, связанных с созданием ядерной энергетики и
космических аппаратов, потребовали организации суперколлективов
(объединений НИИ, КБ, заводов и т.п.). Потребности общества в
решении суперсложных вычислительных задач однозначно
предопределяют построение соответствующих «вычислительных
коллективов», представляющих собой множества связных процессоров.
Последнее и есть параллельная вычислительная система (ВС).
Говоря иначе, функционирование ЭВМ основывается на имитации
работы вычислителя (человека, занимающегося расчетами),
а ВС коллективов вычислителей.
В 60-е годы в Сибирском отделении АН СССР, в Институте математики
с вычислительным центром зародилась концепция распределенных
вычислительных систем, в которых нет единого управления.
Например, в какой-то определенный момент времени один из
вычислителей будет управляющим, а затем в иной ситуации другой.
Это обеспечивает, в частности, живучесть и надежность ВС. Полная
аналогия с обществом. В самом деле, в любом коллективе могут
происходить смены лидеров, но коллектив сохраняет свою
работоспособность.
Концепция распределенных ВС основывается на принципе
программируемости структуры (или автоматической
реконфигурируемости). Последнее позволяет адаптировать
архитектуру ВС под класс и сложность решаемых задач.
С чьими именами связаны разработки параллельных систем в
Сибири?
Инициаторами работ в области параллельных вычислительных
технологий в Сибирском отделении были академики М. Лаврентьев и
С. Соболев. Нелишне напомнить, что Михаил Алексеевич много труда
положил и для создания первой ЭВМ в СССР. Фундаментальный вклад в
данное направление в 1970-х и 1980-х годах внесли академики Н. Яненко
и Г. Марчук.
Непосредственным руководителем работ в Институте математики СО АН
СССР в 1960-х годах был специалист по вычислительной технике Э. Евреинов.
Его первая работа в соавторстве с Ю. Косаревым о
возможности построения вычислительных систем высокой
производительности опередила американские публикации в данной
области примерно на 6 месяцев. Под руководством Э. Евреинова
создаются первые ВС: «Минск-222» (1965-1966) и управляющая
вычислительная система для автоматизации научных исследований
(1964-1967). К началу 1970-х годов завершается формирование
концепции вычислительных систем с программируемой структурой, как
средств обработки информации, основанных на модели коллектива
вычислителей.
Начиная с 1970-х годов теоретические и проектные работы в
Сибирском отделении АН СССР по вычислительным системам с
программируемой структурой ведутся под руководством вашего
собеседника. Эти работы из академической сферы распространяются в
промышленность, создается ряд систем: МИНИМАКС (1975 г.), СУММА
(1976 г.), МИКРОС-1 (1986 г.), МИКРОС-2 (1992 г.), МИКРОС-Т
(1996 г.). В 1978 г. издательством «Наука» публикуется монография
Э. Евреинова и
В. Хорошевского «Однородные вычислительные системы».
К слову, когда строят компьютер или суперкомпьютер (параллельную
ВС), никто не ссылается на авторов первых идей, а американцы
признают и популяризируют только свои разработки. Мы, создав
распределенную ВС «Минск-222», на шесть лет опередили
американскую разработку ILLIAC-IV.
Почему же у нас в научных кругах так устойчивы
пессимистические настроения? Вроде: нам никогда не догнать ни
Америку, ни Европу по части ЭВМ, не говоря уже о
микроэлектронике?
Мы никак не отстаем ни от американцев, ни от европейцев в
области параллельных вычислительных технологий. Системы,
сделанные для обороны и для космоса, до сих пор работают. В
науке, в теории мы никогда не отставали, а по многим направлениям
IT лидировали и не теряли своих позиций. Вопрос в другом в
технологии микроэлектронного производства и недостатке
финансирования. Согласен, в свое время произошло отставание в
микроэлектронике. Но направления, которые мы развиваем, не
предъявляют высоких требований к микроэлектронике. Мы имеем
большие достижения в ряде разделов IT, которые на Западе стали
разрабатываться заметно позже. Могу привести, допустим, такой
пример из теории структур (топологии) ВС как соединить большое
число процессоров между собой? Каждый с каждым практически
нонсенс, нельзя. Оригинальный подход и решения получены нашей
школой. Не только предложены специальные графы для описания
масштабируемых структур ВС, но и построены каталоги оптимальных
структур (обеспечивающие, в частности, живучесть ВС). Это,
например, относится к диофантовым структурам, которые были
определены и исследованы еще в начале 1970-х годов (названы в
честь древнегреческого математика из Александрии Диофанта III век).
Примерно через 10 лет появились подобные американские
работы. Свои графы они назвали «циркулянтными».
В 60-х годах прошлого столетия нашей школой (Э. Евреинов, Ю. Косарев)
была разработана методика крупноблочного
распараллеливания сложных задач. На системе «Минск-222» были
отработаны инструментарий и, в частности, схемы обмена
информацией между ветвями параллельной программы. На Западе
только в 1990-х годах получает широкое внедрение эквивалентный
инструментарий MPI (Message Passing Interface) библиотека
функций для поддержки параллельных процессов. Эти средства
необходимы для организации работы ВС в монопрограммном режиме
(когда все ресурсы системы используются для решения одной сложной
задачи, представленной в параллельной форме).
Современные ВС состоят из огромного количества процессоров (до
сотен тысяч). Их ресурсы должны эффективно использоваться и при
одновременном решении множества задач различной сложности (когда
для каждой из них не требуется вся система). Это уже речь идет о
параллельном мультипрограммировании. Первые оригинальные методы и
алгоритмы оптимизации функционирования распределенных ВС в
мультипрограммных режимах были созданы также нами еще в 1960-х и
1970-х годах. Но востребованными они оказались только сейчас. А
наши результаты по надежности и живучести распределенных ВС? Мы
продолжаем активно работать в этой области. Я говорю только о
нашей школе, но и другие российские математические школы не
отстают в науке.
Для развития наших идей мы расширяем подготовку
высококвалифицированных специалистов. Кроме НГУ и НГТУ, в СибГУТИ
работает кафедра вычислительных систем. Уникальность этой кафедры в подготовке
специалистов в области распределенных
вычислительных систем и параллельных вычислительных технологий.
Профессорами и доцентами кафедры читаются оригинальные курсы. Нам
с молодыми коллегами удалось заново возродить потенциал нашей
школы по параллельным вычислительным технологиям. В этом году мы
впервые выпускаем более тридцати человек по этой специальности.
В СибГУТИ создан Центр параллельных вычислительных технологий, в
котором, кстати, эксплуатируется оригинальная мультикластерная
распределенная вычислительная система.
Супер, но другой
Модное слово «кластер» широко используется в науке: в биологии,
физике, химии. А в вычислительной технике это, в принципе,
синоним параллельной вычислительной системы. Само понятие, как
сказал В. Хорошевский, введено в научный оборот американской
фирмой DEC. Как строят кластеры и в чем оригинальность системы,
созданной совместно лабораторией вычислительных систем ИФП СО РАН
и Центром параллельных вычислительных технологий СибГУТИ?
Обратил бы Ваше внимание: тот же Cray X это специально
разработанный кластер. Но существуют доступные стандартные
программные компоненты, которые позволяют конфигурировать
кластеры из персональных компьютеров. Если кластер построен из
стандартных аппаратурных и программных компонентов, то он
обладает некой свободой наращивания или сокращения числа
процессоров. В этом случае применяют термин масштабирование
системы. Количество компьютеров в кластере произвольное.
Следовательно, из компьютеров можно сконфигурировать и
суперкомпьютер. Надо понимать, что суперкомпьютер это не класс
систем, это средство обработки информации, дающее рекордные
показатели по быстродействию.
Каковы особенности вашего кластера?
Программируемость структуры важнейший принцип, который
делает ВС архитектурно универсальной, позволяет адаптировать ее к
конкретной области применения. Система «Минск-222», созданная в
1965 г. нашим коллективом совместно с КБ завода им. С. Орджоникидзе
(г.Минск), была первой в мире ВС с программируемой
структурой. Все последующие разработки (выполненные совместно с
радио- и электронной промышленностью) также обладали этим
свойством. Системы МИКРОС по сути послужили прототипом для первой
модели отечественных суперкомпьютеров семейства МВС 1000
(руководитель работ академик В. Левин, НИИ «Квант», г.Москва).
Последняя разработка наш кластер. Он программно
реконфигурируем, допускает масштабирование и является
пространственно-распределенным. И мой компьютер, на котором я
демонстрирую вам слайды с нашими результатами, один из узлов
кластера.
Система обладает способностью самодиагностики ищет неисправные
ресурсы, реконфигурируется, и пользователю выдает тот ресурс,
который ему необходим. Это эквивалентно подходу в
электроэнергетике. Когда вы включаете в розетку какой-либо
прибор, то вы не интересуетесь, откуда выдана электрическая
энергия. Так же и здесь с любого узла кластера можно получить
необходимую мощность для решения задачи. Это называют
grid-подходом. Существуют определенные технологии,
стандартизация. Мы сейчас делаем наработки для науки, но в то же
время наша система мощный инструмент, сравнимый с
суперкомпьютером, который монтируется в Сибирском отделении, а по
архитектурным свойствам превосходит его. Кластер это
параллельная система, но он может работать и как обычная сеть.
Каждый компьютер может эксплуатироваться как в автономном режиме,
так и в качестве одного из узлов кластера. Кластеры объединяют, и
их множество составляет мультикластер. Такие системы распределенные
по управлению и в пространстве. Их быстродействие
растет пропорционально увеличению числа машин.
Следует обратить внимание на то, что это достигается и в моно-, и
в мультипрограммных режимах работы ВС. Параллельное
мультипрограммирование имеет место и при обработке наборов задач
и обслуживании потоков задач, представленных программами с
различным числом ветвей. Например, управление полетом ракеты и
даже космического аппарата. В данном случае набор задач раз и
навсегда задан. А есть вычислительные системы коллективного
пользования, задачи на них поступают в случайные моменты времени
и со случайными характеристиками или, как говорят, имеет место
поток задач. Мы создали много точных, эвристических и
стохастических методов и алгоритмов, простых в реализации не
только на ЭВМ, но и на параллельных системах. Важно, чтобы они
были нетрудоемкими. Если средства организации функционирования не
удовлетворяют этим требованиям, то ВС будет заниматься
самоорганизацией, самосовершенствованием, а не обслуживанием
поступающих задач. Во многих практически важных приложениях
хорошо работает стохастический подход. В самом деле ВС это
вероятностный объект: в ней происходят отказы, выполняются
процедуры самовосстановления или самореконфигурации. Поток задач по определению
случайный. При оптимизации функционирования ВС
используются различные целевые функции и, в частности, штраф за
задержку решения задач.
Кто же выставляет квитанции на штраф?
Если это ВС коллективного пользования, то она обслуживает
многих пользователей. Штрафы можно истолковать как выплаты
пользователям, когда их заявки не удовлетворяются. И наоборот,
если заявки удовлетворяются, то ВС получает прибыль за решение.
Как используется ваша мультикластерная вычислительная система?
Эта ВС включает в себя кластер лаборатории вычислительных
систем и несколько кластеров СибГУТИ. Центр параллельных
вычислительных технологий постоянно развивает ВС, наращивает
аппаратурные и программные средства. Эта ВС используется для
моделирования сложных проблем. Для нас же ВС это инструмент для
моделирования проблем анализа и организации функционирования
распределенных систем обработки информации как организовать
огромные суперсистемы пространственно распределенных
вычислительных ресурсов, чтобы они были эффективны. Здесь
допустимы любые архитектуры. У нас уже есть средства, которые
учитывают все ресурсы и оптимизируют их использование во всех
режимах. Мы применяем весь арсенал соответствующих разделов
математики: и континуальные и дискретные модели, и динамическое и
стохастическое программирование, и теорию игр и др.
А чисто технические вещи? Если не хватает мощности?
Тогда мы можем обратиться к другой организации и подсоединить
ее вычислительные ресурсы к системе.
В СО РАН работает под руководством академика А. Алексеева Совет
по супервычислениям. В его функции входит и формирование
суперкомпьютера в Сибирском отделении. Сейчас 128-процессорный
фрагмент отечественной системы МВС-1000 установлен в ИВМиМГ. На
данной конфигурации уже можно моделировать сложные проблемы.
Имеется доступ к ресурсам Межведомственного суперкомпьютерного
центра, находящегося в Москве. Но ни в Москве, ни в Новосибирске не
могут быть пока решены суперсложные задачи, представленные в
параллельной форме; вычислительные возможности наших
суперкомпьютеров достаточно скромны (см. Top 500). Вот поэтому
единственный выход создание пространственно распределенных
систем. Такой подход позволяет объединить колоссальные
вычислительные ресурсы и не связан со значительными финансовыми
затратами.
Но возможности для развития ведь существуют?
Наша задача создавать отечественную вычислительную
индустрию. Может быть, мы будем отставать по микроэлектронике, но
за счет наших архитектурных решений можно создавать
суперкомпьютеры.
Не уступающие даже «голубому гену»?
При желании, да. Здесь мы решаем проблемы, связанные и с
экономикой, и с обороной, и всевозможные научные проблемы в
химии, физике, биологии и других отраслях науки, в которых нельзя
обойтись без мощных средств вычислительной техники. Если мы хотим
быть государством, иметь достойный уровень жизни граждан, значит
надо создавать, развивать современные средства обработки
информации. Создавать, а не заимствовать, тем более, что самые
лучшие компьютеры нам не продадут. Хорошо, но если даже продадут,
то наша страна снова окажется в зависимости. В том числе помехой
могут стать так называемые «закладки», не только программные, но
и аппаратурные, благодаря которым вся информация может быть
перекачена либо через Internet, либо через эфир. А у каждого
государства есть свои секреты. Если мы будем использовать только
западные технологии, у нас и вертолеты не взлетят, не то что-либо
другое. И суперкомпьютеры тоже нужно строить, потому что, повторю
американцев, без них государство существовать не может. И мы
обязаны этим заниматься. Я знаю положение дел в Сибирском
отделении, в РАН, в России. Нужно интенсифицировать работы по
созданию пространственных распределенных кластерных систем. Такой
проект не требует больших начальных затрат и позволяет постепенно
наращивать мощности системы. В Сибирском отделении РАН достаточно
научных сил для такой работы.
Фото Владимира Новикова
стр. 3-4
|