Суперкомпьютеры и кластеры
При произнесении слова "суперкомпьютеры" воображение рисует сцены, навеянные научно-фантастическими романами, - огромные помещения, которые заполнены сложными вычислительными устройствами, именуемыми "электронным мозгом". В действительности дело обстоит не совсем так. Первые экземпляры суперкомпьютеров и в самом деле были достаточно громоздкими. Успехи микроэлектроники и нанотехнологий позволили уменьшить суперкомпьютер до нескольких небольших "шкафов", находящихся в одной комнате средних размеров. Современный суперкомпьютер - это мощный компьютер с производительностью несколько миллиардов операций с плавающей точкой в секунду. Суперкомпьютер представляет собой многопроцессорный и/или многомашинный комплекс, работающий на общую память и общее поле внешних устройств.
Чаще всего авторство термина приписывается Д.Мишелю и С.Фернбачу, в конце 60-х годов XX века работавшим в Ливерморской национальной лаборатории и компании Control Data Corporation. Тем не менее, известен факт, что еще в 1920 году в газете New York World рассказывалось о "супервычислениях" (Supercomputing), выполняемых при помощи уникального мощного табулятора IBM, который был собран по заказу Колумбийского университета.
Рис. 2.8. Cray-2 - самый быстрый компьютер 90-х годов ХХ века
Термин "суперкомпьютер" вошел в общеупотребительный лексикон благодаря распространенности компьютерных систем американца Сеймура Крея - Control Data 6600, Control Data 7600, Cray-1, Cray-2, Cray-3 и Cray-4 (рис. 3.4.3). Крей разрабатывал вычислительные машины, которые, по сути, становились основными вычислительными средствами правительственных, промышленных и академических научно-технических проектов США с середины 60-х годов до 1996 года. Неслучайно в то время одним из популярных определений суперкомпьютера было следующее: "любой компьютер, который создал Сеймур Крей". Сам Крей никогда не называл свои детища суперкомпьютерами, предпочитая использовать вместо этого обычное название "компьютер".
На сегодняшний день суперкомпьютеры являются уникальными системами, создаваемыми "традиционными" лидерами компьютерного рынка, такими как IBM, Hewlett-Packard, NEC и другими, которые приобрели множество ранних компаний, вместе с их опытом и технологиями. Компания Cray Inc. по прежнему занимает достойное место в ряду производителей суперкомпьютерной техники.
Большинство суперкомпьютеров 70-х годов ХХ века оснащались векторными процессорами, К началу и середине 1980-х небольшое число (от 4 до 16) параллельно работающих векторных процессоров практически стало стандартным суперкомпьютерным решением. Типичный векторный компьютер включает в себя скалярный процессор целочисленной арифметики, функциональные блоки сложения и умножения чисел с плавающей точкой, векторный процессор и общую память. Это компьютеры, построенные по технологии "разделяемая память - один поток управления - много потоков данных" ("Shared Memory - Single Instruction - Multi Data").
Конец 1980-х и начало 1990-х годов охарактеризовались сменой магистрального направления развития суперкомпьютеров от векторно-конвейерной обработки данных к большому и сверхбольшому числу параллельно соединенных скалярных процессоров.
Массивно-параллельные системы стали объединять в себе сотни и даже тысячи отдельных процессорных элементов, причем ими могли служить не только специально разработанные, но и общеизвестные и доступные в свободной продаже процессоры. Большинство массивно-параллельных компьютеров создавалось на основе мощных процессоров с архитектурой RISC (Reduced Instruction Set Computer), наподобие Power PC или PA- RISC. Использование серийных микропроцессоров позволило не только гибко менять мощность установки в зависимости от потребностей и возможностей, но и значительно удешевить производство. Примерами суперкомпьютеров этого класса могут служить Intel Paragon, IBM SP, Сray T3D/T3E и ряд других.
В ноябре 2002 года фирма Cray Inc. анонсировала решение Cray X1 с характеристиками 52,4 Тфлопс и 65,5 Тб ОЗУ (флопс - термин от английского словосочетания Floating Point, означающего вычисления с плавающей точкой). Его стартовая цена начиналась с 2,5 миллионов долларов. Этим комплексом сразу заинтересовался испанский метеорологический центр. В это же время был опубликован список Top 500 (http://www.top500.org), в который входили вычислительные системы, официально показавшие максимальную производительность. Его возглавила "Компьютерная модель Земли" (Earth Simulator) с результатом 35,86 Тфлопс (5120 процессоров), созданная одноименным японским центром и NEC. На втором-четвертом местах со значительным отставанием расположились решения ASCI (7,7; 7,7 и 7,2 Тфлопс). Они эксплуатируются Лос-Аламосской лабораторией ядерных исследований, а созданы Hewlett-Packard (первые два насчитывают по 4096 процессоров) и IBM (8192 процессора).
Петафлопсный рубеж (тысяча триллионов операций с плавающей запятой в секунду) компания Cray Inc. обещает преодолеть к концу десятилетия. Схожие сроки сулят и японцы. В Токио в рамках соответствующего проекта GRAPE [http://grape.astron.s.u-tokyo.ac.jp/grape/] готовится модель GRAPE-6. Она объединяет 12 кластеров и 2048 процессоров и показывает производительность 2,889 Тфлопс (с потенциальными возможностями 64 Тфлопс). В перспективе в GRAPE-решение будет включено 20 тыс. процессоров, а обойдется оно всего в 10 миллионов долларов
Однако уникальные решения с рекордными характеристиками обычно недешевы, поэтому и стоимость подобных систем никак не могла быть сравнима со стоимостью систем, находящихся в массовом производстве и широко используемых в бизнесе. Прогресс в области сетевых технологий сделал свое дело: появились недорогие, но эффективные решения, основанные на коммуникационных технологиях. Это и предопределило появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом вычислительного процесса (Massively Parallel Processing - MPP).
Вычислительный кластер - это совокупность компьютеров, объединенных в рамках некоторой сети для решения крупной вычислительной задачи. В качестве узлов обычно используются доступные однопроцессорные компьютеры, двух- или четырехпроцессорные SMP-серверы (Symmetric Multi Processor). Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные операционные системы: Linux, NT, Solaris и т. п. Рассматривая крайние точки зрения, кластером можно считать как пару персональных компьютеров, связанных локальной 10-мегабитной сетью Ethernet, так и обширную вычислительную систему, создаваемую в рамках крупного проекта. Такой проект объединяет тысячи рабочих станций на базе процессоров Alpha, связанных высокоскоростной сетью Myrinet, которая используется для поддержки параллельных приложений, а также сетями Gigabit Ethernet и Fast Ethernet для управляющих и служебных целей.
Состав и мощность узлов может меняться даже в рамках одного кластера, давая возможность создавать обширные гетерогенные (неоднородные) системы с задаваемой мощностью. Выбор конкретной коммуникационной среды определяется многими факторами: особенностями класса решаемых задач, доступным финансированием, необходимостью последующего расширения кластера и т. п. Возможно включение в конфигурацию специализированных компьютеров, например файл-сервера, и, как правило, предоставлена возможность удаленного доступа на кластер через Internet.
На современном рынке представлено не так много поставщиков готовых кластерных решений. Это связано, прежде всего, с доступностью комплектующих, легкостью построения самих систем, значительной ориентацией на свободно распространяемое программное обеспечение, а также с уникальностью задач, решаемых с помощью кластерных технологий. Среди наиболее известных поставщиков стоит отметить SGI, VALinux и Scali Computer.
Летом 2000 года Корнелльский университет (США) основал Консорциум по кластерным технологиям (Advanced Cluster Computing Consortium), основная цель которого - координация работ в области кластерных технологий и помощь в осуществлении разработок в данной области. Ведущими компаниями, обеспечивающими инфраструктуру консорциума, стали крупные производители компьютерного оборудования и программного обеспечения - Dell, Intel и Microsoft. Среди других членов консорциума можно назвать Аргоннскую национальную лабораторию, Нью-Йоркский, Корнелльский и Колумбийский университеты, компании Compaq, Giganet, IBM, Kuck & Associates и другие.
Из интересных российских проектов следует отметить решение, реализованное в Санкт-Петербургском университете на базе технологии Fast Ethernet [http://www.ptc.spbu.ru]: собранные кластеры могут использоваться и как полноценные независимые учебные классы, и как единая вычислительная установка, решающая крупную исследовательскую проблему. В Самарском научном центре пошли по пути создания неоднородного вычислительного кластера, в составе которого работают компьютеры на базе процессоров Alpha и Pentium III. В Санкт-Петербургском техническом университете собирается установка на основе процессоров Alpha и сети Myrinet без использования локальных дисков на вычислительных узлах. В Уфимском государственном авиационном техническом университете проектируется кластер на базе двенадцати Alpha-станций, сети Fast Ethernet и ОС Linux [www.osp.ru/os/2000/05-06/178019/].
Технологии суперкомпьютеров и кластеров первоначально "выросли" в основном из научных потребностей - для решения фундаментальных и прикладных задач физики, механики, астрономии, метеорологии, сопротивления материалов и т. д., где требовались огромные вычислительные мощности. В каких рыночных нишах будет востребована подобная производительность? Прежде всего, это проектирование сложных управляемых систем (самолетов, ракет, космических станций), создание синтетических лекарств с заданными свойствами, генная инженерия, предсказание погоды и природных катаклизмов, повышение эффективности и надежности атомных электростанций, прогнозирование макроэкономических эффектов и многое другое.