Лекция 5. РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫЕ И ТЕЛЕКОММУНИКАЦИОННЫЕ КОМПЛЕКСЫ
Проблема высокопроизводительных вычислительных систем (High Performance Computing) относится к числу наиболее сложных научно-технических задач. Решение этой проблемы развивалось в нескольких направлениях – повышении мощности и быстродействия обычных компьютерных систем, создании специализированных суперкомпьютеров, формировании многокомпьютерных (кластерных) систем, применении GRI D-технологий, разработке методов параллельного программирования. Следует отметить, что успехи в развитии кластерных систем во многом обязаны интернет-технологиям [1].
Суперкомпьютеры и кластерные вычислительные системы
Что означает термин "суперкомпьютер"? Он появился благодаря широкому внедрению мощных компьютерных систем американца Сеймура Крея (Seymour Cray) – Control Data 6600, Control Data 7600, Cray-1, Cray-2, Cray-3 и Cray-4 (рис. 5.1), которые предназначались для громоздких и сложных вычислений и превосходили по вычислительной мощности обычные компьютеры, используемые для инженерных расчетов. Сегодня суперкомпьютеры являются уникальными системами, создаваемыми как компанией Cray Inc., так и "традиционными" лидерами компьютерного рынка: IBM, Hewlett-Packard, NEC и др. [ru.wikipedia.org].
Рис. 5.1. Сrау-2 – самый быстрый компьютер 90-х гг. XX в.
Типичный суперкомпьютер включает скалярный процессор целочисленной арифметики, функциональные блоки сложения и умножения чисел с плавающей точкой, векторный процессор и общую память. Это компьютеры, построенные по технологии "разделяемая память – один поток управления – много потоков данных" ("Shared Memory – Single Instruction – Multi Data").
Конец 1980-х и начало 1990-х гг. охарактеризовались сменой магистрального направления развития суперкомпьютеров – от векторно-конвейерной обработки данных к большому и сверхбольшому числу параллельно соединенных скалярных процессоров. Использование серийных микропроцессоров позволило не только гибко менять мощность установки в зависимости от потребностей и возможностей, но и значительно удешевить производство. Примерами суперкомпьютеров этого класса могут служить Intel Paragon, IBM SP, Cray T3D/T3E и ряд других.
В ноябре 2002 г. фирма Cray Inc. анонсировала Cray X1 с характеристиками 52,4 Тфлопс и 65,5 Тб оперативно
запоминающего устройства ("тера" – один триллион, "флопс" – акроним от англ. Floating Point, означающий "вычисления с плавающей точкой"). В это же время был опубликован список Тор 500 [top500.org], в который входили вычислительные системы, официально показавшие максимальную производительность. Его возглавила "Компьютерная модель Земли" (Earth Simulator) с результатом 35,86 Тфлопс (5120 процессоров), созданная одноименным японским центром и NEC. На втором – четвертом расположились решения ASCI (7,7; 7,7 и 7,2 Тфлопс). Они эксплуатируются Лос-Аламосской лабораторией ядерных исследований и созданы Hewlett-Packard (первые два насчитывают но 4096 процессоров) и IBM (8192 процессора).
Петафлопсный рубеж (тысяча триллионов операций с плавающей запятой в секунду) компания Cray Inc. обещает преодолеть к концу десятилетия. Схожие сроки сулят и японцы. В Токио в рамках соответствующего проекта GRAPE [grape.astron.s.u-tokyo.ac.jp/grape/] готовится модель GRAPE-6. Она объединяет 12 кластеров и 2048 процессоров и показывает производительность 2889 Тфлопс (с потенциальными возможностями 64 Тфлопс). В перспективе в GRAPE-решение будет включено 20 тыс. процессоров, а обойдется оно всего в 10 млн долл.
Один из самых известных в России суперкомпьютеров – Многопроцессорная вычислительная система МВС-15 000 (рис. 5.2.). Система включает 276 узлов (552 процессора), имеет пиковую производительность 4857,6 Гфлопса и максимальную производительность 3052 Гфлопса. Вычислительный узел имеет 2 процессора IBM PowerPC 970 с тактовой частотой 2,2 ГГц и 4 Гб оперативной памяти, 40 Гб HDD, два встроенных адаптера Gigabit Ethernet и адаптер Myrinet (supercomputers.ru). В ноябре 2009 г. в Московском государственном университете введен в действие суперкомпьютер "Ломоносов" с производительностью 420 Тфлопс, поставленный компанией "Т-Платформы". По состоянию на май 2010 г. он занял 13-е место в мировом рейтинге ТОР500.
Однако следует отметить, что эти уникальные решения с рекордными характеристиками обычно недешевы, поэтому их нельзя пустить в массовое производство и широко использовать в бизнесе. Прогресс в области сетевых технологий сделал свое дело – появились недорогие, но эффективные решения, основанные на коммуникационных технологиях. Это и предопределило появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом вычислительного процесса (Massively Parallel Processing – МРР).
Рис. 5.2. Структурная схема суперкомпьютера МВС-15 000
Вычислительный кластер – это совокупность компьютеров, объединенных в рамках некоторой сети для решения крупной вычислительной задачи. В качестве узлов обычно используются доступные однопроцессорные компьютеры, двух- или четырехпроцессорные SMP-серверы (Symmetric Multi Processor). Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные операционные системы: Linux, NT, Solaris и т.п. С учетом полярных точек зрения кластером можно считать как пару персональных компьютеров, связанных локальной 10-мегабитной сетью Ethernet, так и обширную вычислительную систему, создаваемую в рамках крупного проекта. Такой проект объединяет тысячи рабочих станций на базе процессоров Alpha, связанных высокоскоростной сетью Myrinet, которая используется для поддержки параллельных приложений, а также сетями Gigabit Ethernet и Fast Ethernet для управляющих и служебных целей [6].
Состав и вычислительная мощность узлов может меняться даже в рамках одного кластера, давая возможность создавать обширные гетерогенные (неоднородные) системы с задаваемой вычислительной мощностью. Выбор конкретной коммуникационной среды определяется многими факторами: особенностями класса решаемых задач, финансированием, необходимостью последующего расширения кластера и т.п. Возможно включение в конфигурацию специализированных компьютеров, например файл-сервера, и, как правило, предоставлена возможность удаленного доступа к кластеру через Интернет. Среди наиболее известных поставщиков готовых кластерных решений стоит отметить компании SGI, VALinux и Seal i Computer. Ведущими компаниями, обеспечивающими вычислительную инфраструктуру кластеров, стали крупные производители компьютерного оборудования и программного обеспечения – Dell, Intel и Microsoft.
Из интересных российских проектов следует отметить решение, реализованное в Санкт-Петербургском университете на базе технологии Fast Ethernet [ ptc.spbu. ru]: собранные кластеры могут использоваться как полноценные независимые учебные классы, так и в качестве единой вычислительной установки, решающей крупные исследовательские проблемы. В Самарском научном центре пошли по пути создания неоднородного вычислительного кластера, в составе которого работают компьютеры на базе процессоров Alpha и Pentium III. В Уфимском государственном авиационном техническом университете проектируется кластер на базе двенадцати Alpha-станций, сети Fast Ethernet и ОС Linux [osp.ru/os/2000/05-06/178019/].
Технологии суперкомпьютеров и кластеров первоначально "выросли" в основном из научных потребностей – для решения фундаментальных и прикладных задач физики, механики, астрономии, метеорологии, сопротивления материалов и т.д., где требовались огромные вычислительные мощности. А в каких рыночных нишах будет востребована подобная производительность? Прежде всего при проектировании сложных управляемых систем (подводных лодок, самолетов, ракет, космических станций), создании синтетических лекарств с заданными свойствами, в генной инженерии, при моделировании погодных явлений и природных катаклизмов, для повышения эффективности и надежности атомных электростанций, прогнозирования макроэкономических эффектов и т.д.