» »

Самый быстрый суперкомпьютер в мире. Подписка на новости

25.03.2024
Данная новость была прочитана 12444 раза

45-й рейтинг TOP500 самых мощных суперкомпьютеров мира. Новинка первой десятки списка - система Shaheen II, установленная в Научно-технологическом университете имени короля Абдаллы (Саудовская Аравия). Лидером рейтинга с 2013 года остаётся Tianhe-2 (Китай). На нашем сайте представлены фотографии всех суперкомпьютеров из Top10

13 июля 2015 года на международной конференции по суперкомпьютерным технологиям International Supercomputing Conference (ISC"15) во Франкфурте, Германия был представлен 45-й TOP500 - рейтинг пятисот самых быстрых суперкомпьютеров в мире, основанный на тестах Linpack (HPL). Список обновляется раз в шесть месяцев, и за прошедшие полгода первая его десятка не подверглась кардинальным изменениям. Единственной новинкой в ТOP-10 стал суперкомпьютер Shaheen II , установленный в Научно-технологическом университете имени короля Абдаллы (Саудовская Аравия), который занял 7-ю позицию в рейтинге. Он также стал единственным в первой десятке, запущенным в работу в 2015 году. Возглавляет список в пятый раз подряд Tianhe-2 , созданный в Оборонном научно-техническом университете КНР (National University of Defense Technology, NUDT) в 2013 году. Как отмечают составители рейтинга, остальные восемь систем-лидеров TOP500 были созданы в 2011-2012 годах.

Суммарная производительность всех систем списка увеличилась за полгода с 309 до 363 петафлопс. Среднее количество вычислительных ядер на систему выросло с 46 288 до 50 495.

По количеству установленных систем в TOP500 традиционно лидируют Hewlett-Packard - 178 (179 в 44-й редакции TOP500) и IBM - 111 (153). 20 систем списка отмечены как IBM-Lenovo, ещё 3 - Lenovo. 71 система установлена компанией Cray . По суммарной производительности лидируют системы производства Cray - 24% (22% полгода назад), на втором месте IBM - 23% (26%), на третьем Hewlett-Packard - 14.2% (15.6%). NUDT, представленный суперкомпьютерами Tianhe-2 и Tianhe-1A на четвертом месте - 10.9% (12.7%).

Суперкомпьютер Tianhe-2 - TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C 2.200GHz, TH Express-2, Intel Xeon Phi 31S1P

1. Tianhe-2

Расположение: Национальный суперкомпьютерный центр в Гуанчжоу (National Super Computer Center in Guangzhou), Китайская Народная Республика

Количество ядер: 3 120 000
Максимальная производительность согласно тесту Linpack (HPL): 33,863 петафлопса
Теоретическая пиковая производительность системы: 54,902 петафлопса
Мощность: 17,808 МВт
Операционная система: Linux (Kylin)

Tianhe-2 создан по инициативе правительства Китая Оборонным научно-техническим университетом КНР (NUDT) и компанией Inspur (Китай) . Состоит из 16 тысяч вычислительных узлов, в каждом из которых расположено по два процессора Intel Xeon E5-2692 на архитектуре Ivy Bridge и по три векторных сопроцессора Intel Xeon Phi 31S1P. На каждый процессор выделяется по 32 ГБ оперативной памяти стандарта DDR3 с коррекцией ошибок, а на каждый сопроцессор — по 8 ГБ памяти стандарта GDDR5.

Оперативная память составляет 1,4 петабайт, а запоминающего устройства - 12,4 петабайт.

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

Согласно официальному пресс-релизу NUDT , суперкомпьютер Tianhe -2 используется для решения задач из области материаловедения, метеорологии, астрофизики и биохимии.

Суперкомпьютер Titan - Cray XK7 , Opteron 6274 16C 2.200GHz, коммуникационная сеть Cray Gemini, NVIDIA K20x

2. Titan

Расположение: Окриджская национальная лаборатория (Oak Ridge National Laboratory, ORNL) - Национальный исследовательский центр Министерства энергетики США в Ок-Ридже

Количество ядер: 560 640
Максимальная производительность согласно тесту Linpack (HPL): 17,590 петафлопса
Теоретическая пиковая производительность системы: 27,113 петафлопса
Операционная система: Linux (CLE, SLES based)
Мощность: 8,209 МВт

Titan построен на платформе Cray XK7 с гибридной архитектурой: помимо 16-ядерных процессоров AMD Opteron 6274 в каждый из 18 688 узлов суперкомпьютерной системы установлен графический ускоритель NVIDIA K20x.

Titan используется в научных проектах, таких как моделирование поведения нейтронов в ядерном реакторе, прогнозирование климатических изменений на ближайшие 1-5 лет, изучение биотоплива и др.

Суперкомпьютер Sequoia - BlueGene/Q, Power BQC 16C 1.60 GHz

3. Sequoia

Расположение: Ливерморская национальная лаборатория им. Э. Лоуренса (Lawrence Livermore National Laboratory, LLNL) - Национальный исследовательский центр Министерства энергетики США в Ливерморе

Количество ядер: 1 572 864
Максимальная производительность согласно тесту Linpack (HPL): 17,173 петафлопса
Теоретическая пиковая производительность системы: 20,133 петафлопса
Мощность: 7,89 МВт

Sequoia разработана корпорацией IBM для Национальной администрации по ядерной безопасности (National Nuclear Security Administration) для задач моделирования ядерных взрывов. Также Sequoia применяется для проектов в астрономии, энергетики, изучения человеческого генома и изменения климата.

Sequoia построена на платформе Blue Gene/Q (последнее поколение в линейке суперкомпьютерных архитектур Blue Gene). Суперкомпьютер состоит из 98 304 вычислительных узлов и имеет 1,6 Пб памяти в 96 стойках, вместе занимающих площадь в 300 квадратных метров. Используются 16-ти ядерные центральные процессоры Power.

Суперкомпьютер K computer - SPARC64 VIIIfx 2.0GHz, коммуникационная сеть Tofu

4. K computer

Расположение: Институт физико-химических исследований RIKEN, Япония

Количество ядер: 705 024
Максимальная производительность согласно тесту Linpack (HPL): 10,510 петафлопса
Теоретическая пиковая производительность системы: 11,280 петафлопса
Мощность: 12,66 МВт
Операционная система: Linux

K computer производства компании Fujitsu построен при поддержке Министерства образования, культуры, спорта, науки и технологий Японии. Сразу после запуска в 2011 году занял в TOP500 первую позицию, на один год став самым высокопроизводительным в мире. А в ноябре 2011 года K Computer первым в истории достиг мощности выше 10 петафлопс. Система оснащена 88 128 8-ядерными процессорами SPARC64 VIIIfx.

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

Суперкомпьютер Mira - BlueGene/Q, Power BQC 16C 1.60GHz

5. Mira

Расположение: Аргоннская национальная лаборатория (Argonne National Laboratory, ANL) - Национальный исследовательский центр Министерства энергетики США в Аргонне

Количество ядер: 786 432
Максимальная производительность согласно тесту Linpack (HPL): 8,586 петафлопса
Теоретическая пиковая производительность системы: 10,066 петафлопса
Мощность: 3,945 МВт
Операционная система: Linux

Mira разработан компанией IBM на платформе Blue Gene/Q. Расположенный на 48 стойках Mira имеет 49152 вычислительных узлов, оборудованных 16-ядерными процессорами Power BQC. Система использует 70Пб дискового пространства.

Mira участвует в различных научных проектах - моделирование происходящих во Вселенной процессов, предсказательное моделирование климатических и сейсмических явлений и др.

Суперкомпьютер Piz Daint - Cray XC30, Xeon E5-2670 8C 2.600GHz, Aries interconnect , NVIDIA K20x

6. Piz Daint

Расположение: Швейцарский национальный центр суперкомпьютерных вычислений (Swiss National Supercomputing Centre, Centro Svizzero di Calcolo Scientifico, CSCS)

Количество ядер: 115 984
Максимальная производительность согласно тесту Linpack (HPL): 6,271 петафлопса
Теоретическая пиковая производительность системы: 7,788 петафлопса
Мощность: 2,325 МВт
Операционная система: Cray Linux Environment

Мощнейший суперкомпьютер в Европе был разработан компанией Cray и принадлежит к семейству XC30, в рамках которого является наиболее производительным. В системе используются 8-ядерные процессоры Intel Xeon E5-2670 и ускорители NVIDIA K20x.

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

Shaheen II - Cray XC40, Xeon E5-2698v3 16C 2.3GHz, сеть Aries

7. Shaheen II

Расположение: Научно-технологический университет имени короля Абдаллы (King Abdullah University of Science and Technology, KAUST), Саудовская Аравия

Количество ядер: 196 608
Максимальная производительность согласно тесту Linpack (HPL): 5.537 петафлопса
Теоретическая пиковая производительность системы: 7.235 петафлопса
Мощность: 2,834 МВт
Операционная система: Linux (CLE)

Shaheen II построен на платформе CRAY XC40. В системе используются 16-ядерные процессоры Intel Xeon E5-2698V3.

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

Суперкомпьютер Stampede - PowerEdge C8220, Xeon E5-2680 8C 2.700GHz, сеть Infiniband FDR, Intel Xeon Phi SE10P

8. Stampede

Расположение: Texas Advanced Computing Center, США

Количество ядер: 462 462
Максимальная производительность согласно тесту Linpack (HPL): 5,168 петафлопса
Теоретическая пиковая производительность системы: 8,520 петафлопса
Мощность: 4,51 МВт
Операционная система: Linux

Суперкомпьютер Stampede создан компанией Dell совместно с Intel для Национального Научного Фонда США (National Science Foundation, NSF). Система включает в себя 6400 узлов Dell C8220, каждый из них управляется двумя 8-ядерными процессорами Intel Xeon E5 и 61-ядерным сопроцессором Intel Xeon Phi Knights Corner. 128 компьютерных узлов оборудовано производительными графическими процессорами NVIDIA на архитектуре Kepler K20.

Stampede используется для таких задач, как моделирование изменений климата, предсказание землетрясений и ураганов, изучение ДНК вирусов, молекулярные исследования, космические исследования.

Суперкомпьютер JUQUEEN - BlueGene/Q, Power BQC 16C 1.600GHz

9. Juqueen

Расположение: Исследовательский центр Юлих (Forschungszentrum Juelich, FZJ), Германия

Количество ядер: 458 752

Максимальная производительность согласно тесту Linpack (HPL): 5,008 петафлопса

Теоретическая пиковая производительность системы: 5,872 петафлопса
Мощность: 2,301 МВт
Операционная система: Linux (RHEL, CNK)

Juqueen - второй по мощности суперкомпьютер в Европе, разработан при участии корпорации IBM. Juqueen базируется на архитектуре Blue Gene/Q. Количество процессоров в системе - 294 912 (16-ядерные Power BQC).

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

Суперкомпьютер Vulcan - BlueGene/Q, Power BQC 16C 1.600GHz

10. Vulcan

Расположение: Ливерморская национальная лаборатория им. Э. Лоуренса (Lawrence Livermore National Laboratory, LLNL)

Количество ядер: 393 216
Максимальная производительность согласно тесту Linpack (HPL): 4,293 петафлопса
Теоретическая пиковая производительность системы: 5,033 петафлопса
Мощность: 1,972 МВт
Операционная система: Linux (RHEL, CNK)

Vulcan , разработанный компанией IBM, также относится к семейству Blue Gene поколения Q. Суперкомпьютер используется для различных исследований, в том числе для моделирования аномальных природных явлений . Научные группы и учреждения могут получить доступ к системе по заявке в Центр инноваций в области высокопроизводительных вычислений США.

Российские суперкомпьютеры в TOP 500

  • «Ломоносов-2» (Московский государственный университет им. М. В. Ломоносова) —31 место, производительность по тесту Linpack - 1,849 петафлопса.
  • «Ломоносов» (Московский государственный университет им. М. В. Ломоносова) - 78 место; 0,902 петафлопса.
  • «Торнадо» (Санкт-Петербургский политехнический университет Петра Великого) - 107 место; 0,658 петафлопса.
  • MVS -10P (Межведомственный суперкомпьютерный центр РАН) - 176-е место; 0,376 петафлопса.
  • «Лобачевский» (Нижегородский государственный университет имени Н. И. Лобачевского) - 242-е место; 0,29 петафлопса.
  • «Торнадо ЮУрГУ» (Южно-Уральский государственный университет) - 245-е место; 0,288 петафлопса.
  • Суперкомпьютер компании Hewlett-Packard, используемый неуказанным российским поставщиком услуг в сфере информационных технологий - 413-е место; 0,189 петафлопса.
  • RSC PetaStream (Санкт-Петербургский Политехнический университет Петра Великого) - 466 место; 0,171 петафлопса.

О проекте TOP500

Рейтинг TOP500 впервые был опубликован в июне 1993 года. Цель проекта — сравнение быстродействия самых мощных суперкомпьютеров в мире и демонстрация роста их производительности со временем. Участие в списке добровольное и требует исполнения теста Linpack, который определяет, насколько быстро компьютер может решать большие системы линейных уравнений. TOP500 составляется специалистами Манниверситета Теннессигеймского университета (Германия), Университета Теннесси (США) и Национальной лаборатории им. Лоуренса в Беркли (США).

Публикация подготовлена сотрудниками CompMechLab ® по материалам

Андрей Борзенко

Суперкомпьютерами называют самые быстрые компьютеры. Их основное отличие от мэйнфреймов состоит в следующем: все ресурсы такого компьютера обычно направлены на то, чтобы решить одну или в крайнем случае несколько задач насколько возможно быстро, тогда как мэйнфреймы, как правило, выполняют довольно большое число задач, конкурирующих друг с другом. Бурное развитие компьютерной индустрии определяет относительность базового понятия - то, что десять лет назад можно было назвать суперкомпьютером, сегодня под это определение уже не подпадает. Существует и такое шутливое определение суперкомпьютера - это устройство, сводящее проблему вычислений к проблеме ввода-вывода. Впрочем, и в нем есть доля истины: часто единственным узким местом в быстродействующей системе остаются именно устройства ввода-вывода. Узнать, какие суперкомпьютеры в настоящее время имеют максимальную производительность, можно из официального списка пятисот самых мощных систем мира - Top500 (http://www.top500.org), который публикуется два раза в год.

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

  • предсказания погоды, климата и глобальных изменений в атмосфере;
  • науки о материалах;·
  • построение полупроводниковых приборов;
  • сверхпроводимость;
  • структурная биология;
  • разработка фармацевтических препаратов;
  • генетика человека;
  • квантовая хромодинамика;
  • астрономия;
  • автомобилестроение;
  • транспортные задачи;
  • гидро- и газодинамика;
  • управляемый термоядерный синтез;
  • эффективность систем сгорания топлива;
  • разведка нефти и газа;
  • вычислительные задачи в науках о Мировом океане;
  • распознавание и синтез речи;
  • распознавание изображений.

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

Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если имеется пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени.

Конечно, сегодня параллелизмом в архитектуре компьютеров уже мало кого удивишь. Все современные микропроцессоры используют тот или иной вид параллельной обработки даже в рамках одного кристалла. Вместе с тем сами эти идеи появились очень давно. Изначально они внедрялись в самых передовых, а потому единичных компьютерах своего времени. Здесь особая заслуга принадлежит компаниям IBM и Control Data Corporation (CDC). Речь идет о таких нововведениях, как разрядно-параллельная память, разрядно-параллельная арифметика, независимые процессоры ввода-вывода, конвейер команд, конвейерные независимые функциональные устройства и т. д.

Обычно слово "суперкомпьютер" ассоциируется с компьютерами марки Cray, хотя сегодня это уже далеко не так. Разработчиком и главным конструктором первого суперкомпьютера был Сеймур Крэй - один из самых легендарных личностей в компьютерной отрасли. В 1972 г. он уходит из компании CDC и основывает собственную компанию Cray Research. Первый суперкомпьютер CRAY-1 был разработан через четыре года (в 1976 г.) и имел векторно-конвейерную архитектуру с 12 конвейерными функциональными устройствами. Пиковая производительность Cray-1 составляла 160 млн операций/с (время такта 12,5 нс), а цикл 64-разрядной оперативной памяти (которая могла расширяться до 8 Мбайт) занимал 50 нс. Главным новшеством было, конечно, введение векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства.

На протяжении 60-80-х годов внимание мировых лидеров по производству суперкомпьютеров было сосредоточено на изготовлении вычислительных систем, хорошо справляющихся с решением задач на большие объемы вычислений с плавающей точкой. Недостатка в таких задачах не ощущалось - почти все они были связаны с ядерными исследованиями и аэрокосмическим моделированием и велись в интересах военных. Стремление достичь максимальной производительности в самые сжатые сроки означало, что критерием оценки качества системы была не ее цена, а быстродействие. Например, суперкомпьютер Cray-1 стоил тогда от 4 до 11 млн долл. в зависимости от комплектации.

В процессе настройки системы.

На рубеже 80-90-х гг. закончилась "холодная" война и на смену военным заказам пришли коммерческие. К тому времени промышленность достигла больших успехов в производстве серийных процессоров. Они обладали примерно той же вычислительной мощностью, что и заказные, но были значительно дешевле. Использование стандартных комплектующих и изменяемое количество процессоров позволило решить проблему масштабируемости. Теперь с увеличением вычислительной нагрузки можно было повышать производительность суперкомпьютера и его периферийных устройств, добавляя новые процессоры и устройства ввода-вывода. Так, в 1990 г. появился суперкомпьютер Intel iPSC/860 с числом процессоров, равным 128, который показал на тесте LINPACK производительность 2,6 Гфлопс.

В ноябре прошлого года была опубликована 18-я редакция списка 500 мощнейших компьютеров мира - Top500. Лидером списка по-прежнему остается корпорация IBM (http://www.ibm.com), которой принадлежит 32% установленных систем и 37% от общей производительности. Интересной новостью стало появление Hewlett-Packard на втором месте по количеству систем (30%). При этом, поскольку все эти системы относительно невелики, то их суммарная производительность составляет всего 15% от всего списка. Ожидается, что после слияния с Compaq обновленная компания займет доминирующее положение в этом списке. Далее по количеству компьютеров в списке идут SGI, Cray и Sun Microsystems.

Самым мощным суперкомпьютером мира оставалась по-прежнему система ASCI White (к ней мы еще вернемся), установленная в Ливерморской лаборатории (США) и показавшая производительность 7,2 Тфлопс на тесте LINPACK (58% от пиковой производительности). На втором месте стояла система Compaq AlphaServer SC, установленная в Питтсбургском суперкомпьютерном центре с производительностью в 4 Тфлопс. Замыкает список система Cray T3E с производительностью на LINPACK в 94 Гфлопс.

Стоит отметить, что список включал уже 16 систем с производительностью более 1 Тфлопс, половина из которых установлены IBM. Стабильно увеличивается число систем, представляющих собой кластеры из небольших SMP-блоков, - сейчас в списке уже 43 такие системы. Однако большинство в списке по-прежнему за массивно-параллельными системами (50%), за которыми идут кластеры, состоящие из больших SMP-систем (29%).

Типы архитектур

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

Идея массивно-параллельных систем с распределенной памятью (Massively Parallel Processing, MPP) довольно проста. Для этой цели берутся обычные микропроцессоры, каждый из которых снабжают своей локальной памятью и соединяют посредством некоей коммутационной среды. Достоинств у такой архитектуры много. Если нужна высокая производительность, то можно добавить еще процессоров, а если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подобрать оптимальную конфигурацию. Однако у MPP есть и недостатки. Дело в том, что взаимодействие между процессорами идет намного медленнее, чем обработка данных самими процессорами.

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

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

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

MPP-системы

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

  • один или несколько центральных процессоров;
  • локальную память (прямой доступ к памяти других узлов невозможен);
  • коммуникационный процессор или сетевой адаптер;
  • иногда накопители на жестких дисках и/или другие устройства ввода-вывода.

Кроме того, в систему могут быть добавлены специальные узлы ввода-вывода и управляющие узлы. Все они связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т. п.). Что касается ОС, то здесь есть два варианта. В первом случае полноценная ОС работает только на управляющей машине, тогда как на каждом узле работает сильно урезанный вариант ОС, обеспечивающий только работу расположенной в нем ветви параллельного приложения. В другом случае на каждом узле работает полноценная UNIX-подобная ОС.

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

Напомним, что существуют две модели выполнения программ на многопроцессорных системах: SIMD (single instruction stream - multiple data streams) и MIMD (multiple instructions streams - multiple data streams). Первая предполагает, что все процессоры выполняют одну и ту же команду, но каждый над своими данными. Во второй каждый процессор обрабатывает свой поток команд.

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

Суперкомпьютеры Intel

Корпорация Intel (http://www.intel.com) хорошо известна в мире суперкомпьютеров. Ее многопроцессорные компьютеры Paragon с распределенной памятью стали такой же классикой, как векторно-конвейерные компьютеры от Cray Research.

Intel Paragon использует в одном узле пять процессоров i860 ХР с тактовой частотой 50 МГц. Иногда в один узел помещают процессоры разных типов: скалярный, векторный и коммуникационный. Последний служит для того, чтобы разгрузить основной процессор от выполнения операций, связанных с передачей сообщений.

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

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

Собственно передача сообщений осуществляется системой маршрутизации, основанной на компонентах маршрутизатора узлов сети (Mesh Router Components, MRC). Для доступа MRC данного узла к его памяти в узле имеется еще специальный интерфейсный сетевой контроллер, который представляет собой заказную СБИС, обеспечивающую одновременную передачу в память узла и обратно, а также отслеживающую ошибки при передаче сообщений.

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

До недавнего времени одним из самых быстродействующих компьютеров был Intel ASCI Red - детище ускоренной стратегической компьютерной инициативы ASCI (Accelerated Strategic Computing Initiative). В этой программе участвуют три крупнейшие национальные лаборатории США (Ливерморская, Лос-Аламосская и Sandia). Построенный по заказу Министерства энергетики США в 1997 г., ASCI Red объединяет 9152 процессора Pentium Pro, имеет 600 Гбайт суммарной оперативной памяти и общую производительность 1800 млрд операций в секунду.

Суперкомпьютеры IBM

Когда на компьютерном рынке появились универсальные системы с масштабируемой параллельной архитектурой SP (Scalable POWER parallel) корпорации IBM (http://www.ibm.com), они достаточно быстро завоевали популярность. Сегодня подобные системы работают в различных прикладных областях - таких, как вычислительная химия, анализ аварий, проектирование электронных схем, сейсмический анализ, моделирование водохранилищ, поддержка систем принятия решений, анализ данных и оперативная обработка транзакций. Успех систем SP определяется прежде всего их универсальностью, а также гибкостью архитектуры, базирующейся на модели распределенной памяти с передачей сообщений.

Вообще говоря, суперкомпьютер SP - это масштабируемая массивно-параллельная вычислительная система общего назначения, представляющая собой набор базовых станций RS/6000, соединенных высокопроизводительным коммутатором. Действительно, кому не известен, например, суперкомпьютер Deep Blue, который сумел обыграть в шахматы Гарри Каспарова? А ведь одна из его модификаций состоит из 32 узлов (IBM RS/6000 SP), базирующихся на 256 процессорах P2SC (Power Two Super Chip).

Семейство RS/6000 - это второе поколение компьютеров IBM, основанное на архитектуре с ограниченным набором команд (RISC), разработанной корпорацией в конце 70-х годов. Благодаря этой концепции для выполнения всей работы в компьютерной системе используется очень простой набор команд. Поскольку команды просты, они могут исполняться с очень высокой скоростью а также обеспечивают более эффективную реализацию исполняемой программы. Семейство RS/6000 основано на архитектуре POWER (архитектура с производительностью, оптимизированной за счет применения модернизированного RISC) и ее производных - PowerPC, P2SC, POWER3 и т. д. Поскольку архитектура POWER сочетает концепции архитектуры RISC с некоторыми более традиционными концепциями, в результате получается система с оптимальной общей производительностью.

Система RS/6000 SP предоставляет мощность нескольких процессоров для решения самых сложных вычислительных задач. Система коммутации SP - это новейшая разработка IBM в области широкополосной межпроцессорной связи без задержек для эффективных параллельных вычислений. Несколько разновидностей узлов процессора, изменяемые размеры фрейма (стойки) и разнообразные дополнительные возможности ввода-вывода обеспечивают подбор наиболее подходящей конфигурации системы. SP поддерживается лидирующими производителями ПО в таких областях, как параллельные базы данных и обработка транзакций в реальном времени, а также основными производителями технического ПО в таких областях, как обработка сейсмических данных и инженерное конструирование.

IBM RS/6000 SP расширяет возможности приложений благодаря параллельной обработке. Система снимает ограничения по производительности, помогает избежать проблем, связанных с масштабированием и присутствием неделимых, отдельно выполняемых фрагментов. Установленные по всему миру более чем у тысячи клиентов, SP предлагают решения для сложных и объемных технических и коммерческих приложений.

Основной блок SP - это процессорный узел, который имеет архитектуру рабочих станций RS/6000. Существует несколько типов SP-узлов: Thin, Wide, High, отличающихся рядом технических параметров. Так, например, High-узлы на базе POWER3-II включают до 16 процессоров и до 64 Гбайт памяти, а вот Thin-узлы допускают не более 4 процессоров и 16 Гбайт памяти.

Система масштабируется до 512 узлов, при этом возможно совмещение узлов различных типов. Узлы устанавливаются в стойки (до 16 узлов в каждой). SP может практически линейно масштабировать диски вместе с процессорами и памятью, что позволяет получать реальный доступ к терабайтам памяти. Такое увеличение мощности упрощает наращивание и расширение системы.

Узлы связаны между собой высокопроизводительным коммутатором (IBM high-performance switch), который имеет многостадийную структуру и работает с коммутацией пакетов.

Каждый узел SP работает под управлением полноценной ОС AIX, благодаря чему можно использовать тысячи уже существующих приложений для этой ОС. Кроме того, узлы системы можно объединять в группы. К примеру, несколько узлов могут выполнять роль серверов Lotus Notes, в то время как все остальные - обрабатывать параллельную базу данных.

Управление большими системами - это всегда сложная задача. SP использует для этих целей одну графическую консоль, на которой отображаются состояния аппаратного и программного обеспечения, выполняемые задачи и информация о пользователях. Системный администратор при помощи такой консоли (управляющей рабочей станции) и прилагаемого к SP программного продукта PSSP (Parallel Systems Support Programs) решает задачи управления, в том числе управления защитой паролями и полномочиями пользователей, учета выполняемых задач, управления печатью, системного мониторинга, запуска и выключения системы.

Самые-самые

Как уже отмечалось, согласно Top500 (таблица), самый мощный суперкомпьютер современности - ASCI White, занимающий площадь размером в две баскетбольные площадки и установленный в Ливерморской национальной лаборатории. Он включает 512 SMP-узлов на базе 64-разрядных процессоров POWER3-II (в общей сложности 8192 процессора) и использует новую коммуникационную технологию Colony с пропускной способностью около 500 Мбайт/с, что почти в четыре раза быстрее коммутатора SP high-performance switch.


Суперкомпьютер ASCI White.

Первая десятка Top500 (18-я редакция)

Позиция Производитель Компьютер Где установлен Страна Год Число процес-соров
1 IBM ASCI White США 2000 8192
2 Compaq AlphaServer SC Питтсбургский суперкомпью-терный центр США 2001 3024
3 IBM SP Power3 Институт исследований в области энергетики NERSC США 2001 3328
4 Intel ASCI Red Национальная лаборатория Sandia США 1999 9632
5 IBM ASCI Blue Pacific Ливерморская национальная лаборатория США 1999 5808
6 Compaq AlphaServer SC США 2001 1536
7 Hitachi SR8000/MPP Токийский университет Япония 2001 1152
8 SGI ASCI Blue Mountain Лос-Аламосская национальная лаборатория США 1998 6144
9 IBM SP Power3 Океанографи-ческий центр NAVOCEANO США 2000 1336
10 IBM SP Power3 Немецкая служба погоды Германия 2001 1280

Архитектура нового суперкомпьютера основана на зарекомендовавшей себя массивно-параллельной архитектуре RS/6000 и обеспечивает производительность в 12,3 Тфлопс (триллионов операций в секунду). Система включает в общей сложности 8 Тбайт оперативной памяти, распределенной по 16-процессорным SMP-узлам, и 160 Тбайт дисковой памяти. Доставка системы из лабораторий IBM в штате Нью-Йорк в Ливермор (Калифорния) потребовалось 28 грузовиков-трейлеров.

Все узлы системы работают под управлением ОС AIX. Суперкомпьютер используется учеными Министерства энергетики США для расчета сложных трехмерных моделей с целью поддержания ядерного оружия в безопасном состоянии. Собственно ASCI White - это третий шаг в пятиступенчатой программе ASCI, которая планирует создание нового суперкомпьютера в 2004 г. Вообще говоря, ASCI White состоит из трех отдельных систем, среди которых самой большой является White (512 узлов, 8192 процессора), а есть еще Ice (28 узлов, 448 процессоров) и Frost (68 узлов, 1088 процессоров).

Предшественником ASCI White был суперкомпьютер Blue Pacific (другое название ASCI Blue), включающий 1464 четырехпроцессорных узла на базе кристаллов PowerPC 604e/332 МГц. Узлы связаны в единую систему с помощью кабелей общей длиной почти в пять миль, а площадь машинного зала составляет 8 тыс. квадратных футов. Система ASCI Blue состоит в общей сложности из 5856 процессоров и обеспечивает пиковую производительность в 3,88 Тфлопс. Суммарный объем оперативной памяти составляет 2,6 Тбайт.

Американский национальный центр по исследованию атмосферы (NCAR) выбрал IBM в качестве поставщика самого мощного в мире суперкомпьютера, предназначенного для прогнозирования климатических изменений. Система, известная под именем Blue Sky ("Синее небо"), после окончательного ввода в эксплуатацию в этом году на порядок увеличит возможности NCAR в области моделирования климата. Ядром Blue Sky станут суперкомпьютер IBM SP и системы IBM eServer p690, применение которых позволит добиться пиковой производительности почти в 7 Тфлопс при объеме дисковой подсистемы IBM SSA в 31,5 Тбайт.

Суперкомпьютер, получивший название "Синий шторм" (Blue Storm), создается по заказу Европейского центра среднесрочных прогнозов погоды (European Centre for Medium-Range Weather Forecasts - ECMWF). Blue Storm будет в два раза мощнее ASCI White. Для его создания необходимо 100 серверов IBM eServer p690, также известных как Regatta. Каждый системный блок размером с холодильник содержит более тысячи процессоров. В 2004 г. "Синий шторм" будет оснащен серверами нового поколения p960, которые сделают его еще в два раза мощнее. Суперкомпьютер будет работать под управлением ОС AIX. Первоначально общая емкость накопителей Blue Storm составит 1,5 петабайт, вычислительная мощь - около 23 Тфлопс. Система будет весить 130 т, а по мощи будет в 1700 раз превосходить шахматный суперкомпьютер Deep Blue.

Исследователи IBM совместно с Ливерморской национальной лабораторией ведут работы над компьютерами Blue Gene/L и Blue Gene/C. Эти компьютеры - часть начатого еще в 1999 г. с целью изучения белков 5-летнего проекта Blue Gene, в который было вложено 100 млн долл. Создание нового суперкомпьютера Blue Gene/L (200 Тфлоп) будет завершено в 2004 г. - на полгода-год раньше, чем ожидается завершение работ над более мощным компьютером Blue Gene/C (1000 Тфлоп). Проектная производительность Blue Gene/L будет, таким образом, превышать суммарную производительность 500 самых мощных компьютеров в мире. При этом новый суперкомпьютер занимает площадь, равную всего половине теннисного корта. Инженеры IBM поработали и над снижением потребления энергии - его удалось уменьшить в 15 раз.

Earth Simulator

По мнению журнала New Scientist, в новой, 19-й версии списка суперкомпьютеров Top500 на первое место выйдет суперкомпьютерная система для проекта Earth Simulator корпорации NEC. Она установлена в японском Институте наук о Земле (Yokohama Institute for Earth Sciences) в г. Канагава, префектура Йокогама. Разработчики утверждают, что ее пиковая производительность может достигать 40 Тфлопс.

Суперкомпьютер Earth Simulator предназначен для моделирования климатических изменений на основе данных, которые поступают со спутников. По утверждению представителей NEC, высокая производительность компьютера достигнута за счет использования специально разработанных векторных процессоров. Система базируется на 5120 таких процессорах, объединенных в 640 узлов SX-6 (по 8 процессоров в каждом). Суперкомпьютер работает под управлением ОС SUPER-UX. В числе средств разработки установлены компиляторы языков C/C++, Fortran 90 и HPF, а также средства автоматической векторизации, реализация интерфейса MPI-2 и математическая библиотека ASL/ES. Вся машина занимает площадь трех теннисных кортов (50x65 м) и использует несколько километров кабеля.

Доктор физико-математических наук В. ВОЕВОДИН

У большинства людей слово "компьютер" ассоциируется в первую очередь с персоналкой, которую можно увидеть сегодня не только в любом офисе, но и во многих квартирах. В самом деле, мы живем в эпоху, когда персональный компьютер вошел буквально в каждый дом. Однако не стоит забывать, что ПК - это лишь часть компьютерного мира, где существуют гораздо более мощные и сложные вычислительные системы, недоступные рядовому пользователю. Многие, наверно, слышали о компьютере по имени Deep Blue, который в 1997 году обыграл самого Гарри Каспарова. Интуитивно понятно, что такая машина не могла быть простой персоналкой. Другой пример - отечественный компьютер МВС-1000 производительностью 200 миллиардов операций в секунду, недавно установленный в Межведомственном суперкомпьютерном центре в Москве. Кроме того, в прессе время от времени появляются сообщения о нелегальных поставках в Россию вычислительной техники, попадающей под эмбарго американского правительства.

Открытие межведомственного суперкомпьютерного центра в Президиуме Российской академии наук. На переднем плане 16-процессорный суперкомпьютер Hewlett-Packard V2250.

ASCI RED, детище программы Accelerated Strategic Computing Initiative, - самый мощный на сегодняшний день компьютер.

CRAY T3E - массивно-параллельный компьютер фирмы Тега Computer Company.

Наука и жизнь // Иллюстрации

Подобные компьютеры для многих так и остаются тайной за семью печатями, окруженной ореолом ассоциаций с чем-то очень большим: огромные размеры, сверхсложные задачи, крупные фирмы и компании, невероятные скорости работы и т.д. Одним словом, супер-ЭВМ, что-то далекое и недоступное. Между тем, если вам хотя бы раз приходилось пользоваться услугами серьезных поисковых систем в Интернете (см. "Наука и жизнь" № 11, 1999 г.), вы, сами того не подозревая, имели дело с одним из приложений суперкомпьютерных технологий.

Доктор физико-математических наук В. ВОЕВОДИН, заместитель директора Научно-исследовательского вычислительного центра МГУ им. М. В. Ломоносова.

ЧТО ТАКОЕ СУПЕРКОМПЬЮТЕР

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

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

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

Так что же такое современный суперкомпьютер? Самая мощная ЭВМ на сегодняшний день - это система Intel ASCI RED, построенная по заказу Министерства энергетики США. Чтобы представить себе возможности этого суперкомпьютера, достаточно сказать, что он объединяет в себе 9632 (!) процессора Pentium Pro, имеет более 600 Гбайт оперативной памяти и общую производительность в 3200 миллиардов операций в секунду. Человеку потребовалось бы 100000 лет, чтобы даже с калькулятором выполнить все те операции, которые этот компьютер делает всего за 1 секунду!

Создать подобную вычислительную систему - все равно, что построить целый завод со своими системами охлаждения, бесперебойного питания и т.д. Понятно, что любой суперкомпьютер, даже в более умеренной конфигурации, должен стоить не один миллион долларов США: ради интереса прикиньте, сколько стоят, скажем, лишь 600 Гбайт оперативной памяти? Возникает естественный вопрос: какие задачи настолько важны, что требуются компьютеры стоимостью в несколько миллионов долларов? Или еще один: какие задачи настолько сложны, что хорошего Pentium III для их решения недостаточно?

НУЖНЫ ЛИ НАМ СУПЕРКОМПЬЮТЕРЫ?

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

Возьмем, к примеру, США, по территории которых два раза в год проходят разрушительные торнадо. Они сметают на своем пути города, поднимают в воздух автомобили и автобусы, выводят реки из берегов, заливая тем самым гигантские территории. Борьба с торнадо - существенная часть американского бюджета. Только штат Флорида, который находится недалеко от тех мест, где эти смерчи рождаются, за последние годы потратил более 50 миллиардов долларов на экстренные меры по спасению людей. Правительство не жалеет денег на внедрение технологий, которые позволили бы предсказывать появление торнадо и определять, куда он направится.

Как рассчитать торнадо? Очевидно, что для этого надо решить задачу о локальном изменении погоды, то есть задачу о движении масс воздуха и распределении тепла в неком регионе. Принципиально это несложно, однако на практике возникают две проблемы. Проблема первая: чтобы заметить появление смерча, надо проводить расчет на характерных для его образования размерах, то есть на расстояниях порядка двух километров. Вторая трудность связана с правильным заданием начальных и граничных условий. Дело в том, что температура на границах интересующего вас региона зависит от того, что делается в соседних регионах. Рассуждая дальше, легко убедиться, что мы не можем решить задачу о смерче, не имея данных о климате на всей Земле. Климат на планете рассчитать можно, что и делается каждый день во всех странах для составления среднесрочных прогнозов погоды. Однако имеющиеся ресурсы позволяют вести расчеты лишь с очень большим шагом - десятки и сотни километров. Ясно, что к предсказанию смерчей такой прогноз не имеет никакого отношения.

Необходимо совместить две, казалось бы, плохо совместимые задачи: глобальный расчет, где шаг очень большой, и локальный, где шаг очень маленький. Сделать это можно, но лишь собрав в кулаке действительно фантастические вычислительные ресурсы. Дополнительная трудность состоит еще и в том, что вычисления не должны продолжаться более 4 часов, так как за 5 часов картина погоды смазывается совершенно, и все, что вы считаете, уже не имеет никакого отношения к реальности. Нужно не только обработать гигантский объем данных, но и сделать это достаточно быстро. Такое под силу лишь суперкомпьютерам.

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

Так, по данным компании Ford, для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, со съемкой и последующей обработкой результатов, ей понадобилось бы от 10 до 150 прототипов для каждой новой модели. При этом общие затраты составили бы от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть.

Известной фирме DuPont суперкомпьютеры помогли синтезировать материал, заменяющий хлорофлюорокарбон. Нужно было найти материал, имеющий те же положительные качества: невоспламеняемость, стойкость к коррозии и низкую токсичность, но без вредного воздействия на озоновый слой Земли. За одну неделю были проведены необходимые расчеты на суперкомпьютере с общими затратами около 5 тысяч долларов. По оценкам специалистов DuPont, использование традиционных экспериментальных методов исследований потребовало бы 50 тысяч долларов и около трех месяцев работы - и это без учета времени, необходимого на синтез и очистку требуемого количества вещества.

ПОЧЕМУ СУПЕРКОМПЬЮТЕРЫ СЧИТАЮТ ТАК БЫСТРО?

Итак, мы видим, что без суперкомпьютеров сегодня действительно не обойтись. Осталось прояснить еще один вопрос: почему они считают так быстро? Это может быть связано, во-первых, с развитием элементной базы и, во-вторых, с использованием новых решений в архитектуре компьютеров.

Попробуем разобраться, какой из этих факторов оказывается решающим для достижения рекордной производительности. Обратимся к известным историческим фактам. На одном из первых компьютеров мира EDSAC, появившемся в 1949 году в Кембридже и имевшем время такта 2 микросекунды (2·10 -6 секунды), можно было выполнить 2n арифметических операций за 18n миллисекунд, то есть в среднем 100 арифметических операций в секунду. Сравним с одним вычислительным узлом современного суперкомпьютера Hewlett-Packard V2600: время такта приблизительно 1,8 наносекунды (1,8·10 -9 секунды), а пиковая производительность - около 77 миллиардов арифметических операций в секунду.

Что же получается? За полвека производительность компьютеров выросла более чем в семьсот миллионов раз. При этом выигрыш в быстродействии, связанный с уменьшением времени такта с 2 микросекунд до 1,8 наносекунды, составляет лишь около 1000 раз. Откуда же взялось остальное? Ответ очевиден - за счет использования новых решений в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий.

Различают два способа параллельной обработки: собственно параллельную и конвейерную. Оба способа интуитивно абсолютно понятны, поэтому сделаем лишь небольшие пояснения.

Параллельная обработка

Предположим для простоты, что некое устройство выполняет одну операцию за один такт. В этом случае тысячу операций такое устройство выполнит за тысячу тактов. Если имеется пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести тактов. Аналогично система из N устройств ту же работу выполнит за 1000/N тактов. Подобные примеры можно найти и в жизни: если один солдат выкопает траншею за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справится с той же работой за 12 минут- принцип параллельности в действии!

Кстати, пионером в параллельной обработке потоков данных был академик А. А. Самарский, выполнявший в начале 50-х годов расчеты, необходимые для моделирования ядерных взрывов. Самарский решил эту задачу методом сеток, посадив несколько десятков барышень с арифмометрами за столы (узлы сетки). Барышни передавали данные одна другой просто на словах и откладывали необходимые цифры на арифмометрах. Таким образом, в частности, была рассчитана эволюция взрывной волны. Работы было много, барышни уставали, а Александр Андреевич ходил между ними и подбадривал. Так создали, можно сказать, первую параллельную систему. Хотя расчеты водородной бомбы провели мастерски, точность их оказалась очень низкой, потому что узлов в используемой сетке было мало, а время счета получалось слишком большим.

Конвейерная обработка

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

Идея конвейерной обработки заключается в расчленении операции на отдельные этапы, или, как это принято называть, ступени конвейера. Каждая ступень, выполнив свою работу, передает результат следующей ступени, одновременно принимая новую порцию входных данных. Получается очевидный выигрыш в скорости обработки. В самом деле, предположим, что в операции сложения можно выделить пять микроопераций, каждая из которых выполняется за один такт работы компьютера. Если есть одно неделимое последовательное устройство сложения, то 100 пар аргументов оно обработает за 500 тактов. Если теперь каждую микрооперацию преобразовать в отдельную ступень конвейерного устройства, то на пятом такте на разной стадии обработки будут находиться первые пять пар аргументов, и далее конвейерное устройство будет выдавать результат очередного сложения каждый такт. Очевидно, что весь набор из ста пар слагаемых будет обработан за 104 единицы времени - ускорение по сравнению с последовательным устройством почти в пять раз (по числу ступеней конвейера).

Идеи параллельной обработки появились очень давно. Изначально они внедрялись в самых передовых, а потому единичных компьютерах своего времени. Затем после должной отработки технологии и удешевления производства они спускались в компьютеры среднего класса, и наконец сегодня все это в полном объеме воплощается в рабочих станциях и персональных компьютерах. Все современные микропроцессоры, будь то Pentium III или РА-8600, Е2К или Power2 SuperChip, используют тот или иной вид параллельной обработки.

Для того чтобы лишний раз убедиться, что все новое - это хорошо забытое старое, достаточно лишь нескольких примеров. Уже в 1961 году создается компьютер IBM STRETCH, имеющий две принципиально важные особенности: опережающий просмотр вперед для выборки команд (при котором одновременно с текущей считываются команды, выполняемые позднее) и расслоение памяти на два банка - реализация параллелизма при работе с памятью. В 1963 году в Манчестерском университете разработан компьютер ATLAS, использующий конвейерный принцип выполнения команд. Выполнение команд разбито на четыре стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции. Это позволило уменьшить время выполнения команд в среднем с 6 до 1,6 микросекунды. В1969 году Control Data Corporation выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными устройствами.

СОВРЕМЕННЫЕ СУПЕРКОМПЬЮТЕРЫ

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

Векторно-конвейерные компьютеры

Две главные особенности таких машин: наличие конвейерных функциональных устройств и набора векторных команд. В отличие от обычных команд векторные оперируют целыми массивами независимых данных, то есть команда вида А=В+С может означать сложение двух массивов, а не двух чисел. Характерный представитель данного направления - семейство векторно-конвейерных компьютеров CRAY, куда входят, например, CRAY EL, CRAY J90, CRAY T90 (в марте этого года американская компания TERA перекупила подразделение CRAY у компании Silicon Graphics, Inc.).

Массивно-параллельные компьютеры с распределенной памятью

Идея построения компьютеров этого класса тривиальна: серийные микропроцессоры соединяются с помощью сетевого оборудования - вот и все. Достоинств у такой архитектуры масса: если нужна высокая производительность, то можно добавить процессоры, а если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подобрать оптимальную конфигурацию. К этому же классу можно отнести и простые сети компьютеров, которые сегодня все чаще рассматриваются как дешевая альтернатива крайне дорогим суперкомпьютерам. (Правда, написать эффективную параллельную программу для таких сетей довольно сложно, а в некоторых случаях просто невозможно). К массивно-параллельным можно отнести компьютеры Intel Paragon, ASCI RED, IBM SP1, Parsytec, в какой-то степени IBM SP2 и CRAY T3D/T3E.

Параллельные компьютеры с общей памятью

Вся оперативная память в таких компьютерах разделяется несколькими одинаковыми процессорами, обращающимися к общей дисковой памяти. Проблем с обменом данными между процессорами и синхронизацией их работы практически не возникает. Вместе с тем главный недостаток такой архитектуры состоит в том, что по чисто техническим причинам число процессоров, имеющих доступ к общей памяти, нельзя сделать большим. В данное направление суперкомпьютеров входят многие современные SMP-компьютеры (Symmetric Multi Processing), например сервер НР9000 N-class или Sun Ultra Enterprise 5000.

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

Этот класс суперкомпьютеров, строго говоря, нельзя назвать самостоятельным, скорее, он представляет собой комбинации предыдущих трех. Из нескольких процессоров, традиционных или векторно-конвейерных, и общей для них памяти формируется вычислительный узел. Если мощности одного узла недостаточно, создается кластер из нескольких узлов, объединенных высокоскоростными каналами. По такому принципу построены CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, последние модели IBM SP2 и другие. В настоящее время именно это направление считается наиболее перспективным.

Два раза в год составляется список пятисот самых мощных вычислительных установок мира (его можно посмотреть в Интернете по адресу http://parallel.ru/top500.html). Согласно последней редакции списка top500, вышедшей в ноябре прошлого года, первое место занимает массивно-параллельный компьютер Intel ASCI Red. На второй позиции стоит компьютер ASCI Blue-Pacific от IBM, объединяющий 5808 процессоров PowerPC 604e/332MHz. Оба эти суперкомпьютера созданы в рамках американской национальной программы Advanced Strategic Computing Initiative, аббревиатура которой и присутствует в названии. Производительность компьютера, стоящего на последнем, 500-м, месте в списке самых мощных, составляет 33,4 миллиарда операций в секунду.

Если мощность существующих компьютеров поражает, то что говорить о планах. В декабре 1999 года корпорация IBM сообщила о новом исследовательском проекте общей стоимостью около 100 миллионов долларов, цель которого - построение суперкомпьютера, в 500 раз превосходящего по производительности самые мощные компьютеры сегодняшнего дня. Компьютер, имеющий условное название Blue Gene, будет иметь производительность порядка 1 PETAFLOPS (10 15 операций в секунду) и использоваться для изучения свойств белковых молекул. Предполагается, что каждый отдельный процессор Blue Gene будет иметь производительность порядка 1 GFLOPS (10 9 операций в секунду). 32 подобных процессора будут помещены на одну микросхему. Компактная плата размером 2x2 фута будет вмещать 64 микросхемы, что по производительности не уступает упоминавшимся ранее суперкомпьютерам ASCI, занимающим площадь 8000 квадратных метров. Более того, 8 таких плат будут помещены в 6-футовую стойку, а вся система будет состоять из 64 стоек с суммарной производительностью 1 PFLOPS. Фантастика!

Вычислительный кластер Московского государственного университета им. М. В. Ломоносова - минимальная стоимость, суперкомпьютерная производительность. В настоящий момент это самая мощная вычислительная система, установленная в вузе России.

СУПЕРКОМПЬЮТЕРЫ В РОССИИ

Идеи построения собственных суперкомпьютерных систем существовали в России всегда. Еще в 1966 году М.А.Карцев выдвинул идею создания многомашинного вычислительного комплекса М-9 производительностью около миллиарда операций в секунду. В то время ни одна из машин мира не работала с такой скоростью. Однако, несмотря на положительную оценку министерства, комплекс М-9 промышленного освоения не получил.

Работы по созданию суперкомпьютерных систем и суперкомпьютерных центров ведутся в России и сейчас. Наиболее известна линия отечественных суперкомпьютеров МВС-1000, создаваемая в кооперации научно-исследовательских институтов Российской академии наук и промышленности. Супер-ЭВМ линии МВС-1000 - это мультипроцессорный массив, объединенный с внешней дисковой памятью, устройствами ввода/вывода информации и управляющим компьютером. Компьютеры МВС-1000 используют микропроцессоры Alpha 21164 (разработка фирмы DEC-Compaq) с производительностью до 1-2 миллиардов операций в секунду и оперативной памятью объемом 0,1-2 Гбайта.

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

В последнее время в России, также как и во всем мире, активно используется кластерный подход к построению суперкомпьютеров. Покупаются стандартные компьютеры и рабочие станции, которые с помощью стандартных сетевых средств объединяются в параллельную вычислительную систему. По такому пути пошел, и, надо сказать, успешно, Научно-исследовательский вычислительный центр Московского государственного университета им. М.В.Ломоносова, создавший кластер из 12 двухпроцессорных серверов "Эксимер" на базе Intel Pentium III/500MHz (в сумме 24 процессора, более 3 Гбайт оперативной памяти, 66 Гбайт дисковой памяти). Сегодня это крупнейшая вычислительная установка в вузе России, предназначенная для поддержки фундаментальных научных исследований и образования. При минимальной стоимости вычислительный кластер НИВЦ МГУ показывает производительность 5,7 миллиарда операций в секунду при решении системы линейных алгебраических уравнений с плотной матрицей размером 16000x16000! В будущем планируется значительно увеличить мощность кластера как за счет добавления новых процессоров, так и за счет модернизации вычислительных узлов.

ВМЕСТО ЗАКЛЮЧЕНИЯ

К сожалению, чудеса в нашей жизни случаются редко. Гигантская производительность параллельных компьютеров и супер-ЭВМ с лихвой компенсируется сложностью их использования. Да что там использование, иногда даже вопросы, возникающие вокруг суперкомпьютеров, ставят в тупик. Как вы думаете, верно ли утверждение: чем мощнее компьютер, тем быстрее на нем можно решить данную задачу? Ну, конечно же, нет... Простой бытовой пример. Если один землекоп выкопает яму за 1 час, то два землекопа справятся с задачей за 30 мин - в это еще можно поверить. А за сколько времени эту работу сделают 60 землекопов? Неужели за 1 минуту? Конечно же, нет! Начиная с некоторого момента они будут просто мешать друг другу, не ускоряя, а замедляя процесс. Так же и в компьютерах: если задача слишком мала, то мы будем дольше заниматься распределением работы, синхронизацией процессов, сборкой результатов и т. п., чем непосредственно полезной деятельностью.

Но все вопросы, сопровождающие суперкомпьютер, конечно же, решаются. Да, использовать суперкомпьютеры сложнее, чем персоналку: нужны дополнительные знания и технологии, высококвалифицированные специалисты, более сложная информационная инфраструктура. Написать эффективную параллельную программу намного сложнее, чем последовательную, да и вообще создание программного обеспечения для параллельных компьютеров - это центральная проблема суперкомпьютерных вычислений. Но без супер-ЭВМ сегодня не обойтись, и отрадно, что в нашей стране есть понимание необходимости развития этих технологий. Так, в ноябре прошлого года в Президиуме Российской академии наук состоялось открытие межведомственного суперкомпьютерного центра. В процессе становления суперкомпьютерные центры в Дубне, Черноголовке, Институте прикладной математики РАН им. М. В. Келдыша, Институте математического моделирования РАН, Московском государственном университете им. М. В. Ломоносова. Создана и развивается линия отечественных суперкомпьютеров МВС-1000. Активно разворачивает свою деятельность Информационно-аналитический центр по параллельным вычислениям в сети Интернет WWW.PARALLEL.RU, осуществляющий информационную поддержку многих российских проектов. А иначе и нельзя. Параллельные вычисления и параллельные компьютеры - это реальность, и это уже навсегда.

ПОДРОБНОСТИ ДЛЯ ЛЮБОЗНАТЕЛЬНЫХ

ЗАКОН АМДАЛА

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

Предположим, что в вашей программе доля операций, которые нужно выполнять последовательно, равна f, причем 0 ≤ f ≤ 1 (эта доля определяется не по числу строк кода, а по числу операций в процессе выполнения). Крайние случаи в значениях f соответствуют полностью параллельным (f=0) и полностью последовательным (f=1) программам. Так вот, для того, чтобы оценить, какое ускорение S можно получить на компьютере, состоящем из р процессоров, при данном значении f, воспользуемся законом Амдала:

S ≤ 1/{f+(1- f)/p}.

Если вдуматься как следует, то закон на самом деле страшный. Предположим, что в вашей программе лишь 10% последовательных операций, т.е. f=0,1. В этом случае закон утверждает: сколько бы процессоров вы ни использовали, ускорения работы программы более чем в десять раз никак не получите. Да и то десять - это теоретическая оценка сверху самого лучшего случая, когда никаких других отрицательных факторов нет...

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

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

Этот алгоритм строго последовательный, так как на i-той итерации цикла требуется результат (i-1)-вой, и все итерации выполняются одна за другой. В данном случае f=1, и, стало быть, никакого эффекта от использования параллельных компьютеров для выполнения этого алгоритма мы не получим. Вместе с тем выход очевиден. Поскольку в большинстве реальных случаев нет существенной разницы, в каком порядке складывать числа, выберем иную схему сложения. Сначала найдем сумму пар соседних элементов: а(1)+а(2), а(3)+а(4), а(5)+а(6) и т. д. Заметим, что при такой схеме все пары можно складывать одновременно. На следующих шагах будем действовать аналогично, получив вариант параллельного алгоритма.

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

http://parallel.ru/vvv/.

РАСПРЕДЕЛЕНИЕ ПЯТИСОТ САМЫХ МОЩНЫХ КОМПЬЮТЕРОВ МИРА ПО СТРАНАМ, ГДЕ ОНИ РАСПОЛОЖЕНЫ, И ФИРМАМ-ПРОИЗВОДИТЕЛЯМ

2 15 10 10 2 57
США-Канада Европа Япония Остальные ВСЕГО
IBM 67 67 2 5 141
SGI/CRAY 92 27 12 2 133
SUN 76 29 4 4 113
Hewlett-Packard 33 10 45
Fujitsu 1 9 1 26
NEC 2 7 2 21
Hitachi 1 11
Остальные 6 2 10
ВСЕГО 277 152 14 500

Суперкомпютер (англ. supercomput er, СуперЭВМ) вычислительная машина, значительно превосходящая по своим техническим параметрам большинство существующих компьютеров. Как правило, современные суперкомпьютеры представляют собой большое число высокопроизводительных серверных компьютеров, соединённых друг с другом локальной высокоскоростной магистралью для достижения максимальной производительности в рамках подхода распараллеливания вычислительной задачи.. Супер-ЭВМ в Мюнхенском техническом университете. Супер- ЭВМ второго поколения,находящийся в ВНИИЭФ


1. Максимальная арифметическая производительность процессора; 2. эффективность работы операционной системы и удобство общения с ней для программиста; 3. Эффективность трансляции с языков высокого уровня и исключение написания программ на автокоде; 4. Эффективность распараллеливания алгоритмов для параллельных архитектур; 5. Повышение надежности.


Параллельная обработка. Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Конвейерная обработка. Целое множество мелких операций таких, как сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т.п. Процессоры первых компьютеров выполняли все эти "микрооперации" для каждой пары аргументов последовательно одна за одной до тех пор, пока не доходили до окончательного результата, и лишь после этого переходили к обработке следующей пары слагаемых. Все самые первые компьютеры (EDSAC, EDVAC, UNIVAC) имели разрядно- последовательную память, из которой слова считывались последовательно бит за битом. Иерархия памяти. Иерархия памяти прямого отношения к параллелизму не имеет, однако, безусловно, относится к тем особенностям архитектуры компьютеров, которые имеет огромное значение для повышения их производительности (сглаживание разницы между скоростью работы процессора и временем выборки из памяти). Основные уровни: регистры, кэш- память, оперативная память, дисковая память. Время выборки по уровням памяти от дисковой памяти к регистрам уменьшается, стоимость в пересчете на 1 слово (байт) растет. В настоящее время, подобная иерархия поддерживается даже на персональных компьютерах.


Наиболее распространёнными программными средствами суперкомпьютеров, также как и параллельных или распределённых компьютерных систем являются интерфейс программирования приложений (API) на основе MPI и PVM, и решения на базе открытого программного обеспечения, наподобие Beowulf и openMosix, позволяющего создавать виртуальные суперкомпьютеры даже на базе обыкновенных рабочих станций и персональных компьютеров. Для быстрого подключения новых вычислительных узлов в состав узкоспециализированных кластеров применяются технологии наподобие ZeroConf. Примером может служить реализация рендеринга в программном обеспечении Shake, распространяемом компанией Apple. Для объединения ресурсов компьютеров, выполняющих программу Shake, достаточно разместить их в общем сегменте локальной вычислительной сети. В настоящее время границы между суперкомпьютерным и общеупотребимым программным обеспечением сильно размыты и продолжают размываться ещё более вместе с проникновением технологий параллелизации и многоядерности в процессорные устройства персональных компьютеров и рабочих станций. Исключительно суперкомпьютерным программным обеспечением сегодня можно назвать лишь специализированные программные средства для управления и мониторинга конкретных типов компьютеров, а также уникальные программные среды, создаваемые в вычислительных центрах под «собственные», уникальные конфигурации суперкомпьютерных систем


К первому классу (последовательные компьютеры фон Неймана) принадлежат обычные скалярные однопроцессорные системы: одиночный поток команд - одиночный поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не важно, используются ли в ПК конвейеры для ускорения выполнения операций. Второй класс характеризуется наличием одиночного потока команд, но множественного потока данных (SIMD). К этому архитектурному классу принадлежат однопроцессорные векторные или, точнее говоря, векторно-конвейерные суперкомпьютеры. Они также имеют векторные команды и реализуют векторную обработку, но не посредством конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров. К третьему классу - MIMD - относятся системы, имеющие множественный поток команд и множественный поток данных. К нему принадлежат не только многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру MIMD. Четвертый класс в систематике Флинна, MISD, не представляет практического интереса. В последнее время в литературе часто используется также термин SPMD (одна программа - множественные данные). Он относится не к архитектуре компьютеров, а к модели распараллеливания программ и не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что несколько копий одной программы.