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

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

У большинства людей слово "компьютер" ассоциируется в первую очередь с персоналкой, которую можно увидеть сегодня не только в любом офисе, но и во многих квартирах. В самом деле, мы живем в эпоху, когда персональный компьютер вошел буквально в каждый дом. Однако не стоит забывать, что ПК - это лишь часть компьютерного мира, где существуют гораздо более мощные и сложные вычислительные системы, недоступные рядовому пользователю. Многие, наверно, слышали о компьютере по имени 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

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

Самые мощные компьютеры

Еще недавно назад мир не знал о DirectX10, а графика FarCry или NFS Underground 2 казалась вершиной компьютерных возможностей. Когда-то диск, способный вместить 600 мегабайт информации, казался чудом техники, а сейчас в свободном доступе продаются карты памяти на терабайт.

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

Время идет, и лидеры рейтинга суперкомпьютеров начала 90-х уже безбожно устарели даже по меркам рядовых пользователей ПК. Так, первым в 1993 году был CM-5/1024, собранный компанией Thinking Machines: 1024 процессора с тактовой частотой 32МГц, вычислительная скорость 59,7 гигафлопс – чуть быстрее обыкновенного 8-ядерного ПК под вашим столом. А какой компьютер самый лучший сегодня?


Sunway TaihuLight

Еще пять лет назад пальму первенства по мощности стабильно держали супер-ЭВМ производства США. В 2013 году лидерство перехватили китайские ученые и, судя по всему, не собираются его отдавать.

В настоящий момент самым сильным компьютером в мире считается Sunway TaihuLight (в переводе – «Божественная сила света озера Тайху»), грандиозная машина со скоростью вычислений 93 петафлопс (максимальная скорость – 125,43 петафлопс). Это в 2,5 раза мощнее предыдущего рекордсмена – суперкомпьютера Тяньхэ-2, который считался самым мощным до июня 2016 года.


В «Санвей Тайхулайт» встроено 10,5 миллионов ядер (40 960 процессора, в каждом из которых по 256 вычислительных и 4 управляющих ядра).

Так выглядит самый мощный компьютер 2016 года

Все оборудование разработано и произведено в Китае, тогда как процессоры прошлого мощнейшего компьютера были произведены американской компанией Intel. Стоимость Sunway TaihuLight оценивают в $270 миллионов. Находится суперкомпьютер в Национальном суперкомпьютерном центре округа Уси.

Рекордсмены прошлых лет

До июня 2016 года (а список TOP500 обновляется каждый июнь и ноябрь) самым мощным и быстрым компьютером являлась супермашина Tianhe-2 (в переводе с китайского «Млечный путь»), разработанная в КНР на базе Оборонного научно-технического университета в Чанша при помощи компании Inspur.


Мощность Тяньхэ-2 обеспечивает выполнение 2507 триллионов операций в секунду (33,86 петафлопс в секунду), пиковая производительность – 54,9 Петафлопс. Китайская разработка возглавляла этот рейтинг с момента запуска в 2013 году – невероятно внушительный показатель!

Суперкомпьютер Тяньхэ-2

Характеристики Тяньхэ-2 таковы: 16 тысяч узлов, 32 тысячи 12-ядерных процессоров Intel Xeon E5-2692 и 48 тысяч 57-ядерных ускорителей Intel Xeon Phi 31S1P, а значит, 3120000 ядер в сумме; 256 тысяч планок оперативной памяти DDR3 по 4 Гб каждая и 176000 планок GDDR5 по 8 Гб – 2432000 Гб оперативной памяти в общей сложности. Объем жесткого диска – более 13 миллионов Гб. Однако поиграть на нем не выйдет – он предназначен исключительно для вычислений, на «Млечный путь-2» не установлена видеокарта. В частности, он помогает при расчетах для прокладки метро и городской застройки.

Jaguar

Долгое время на вершине рейтинга располагался Jaguar – суперкомпьютер из США. Чем он отличается от остальных и в чем его технические преимущества?


Суперкомпьютер под названием Jaguar состоит из большого количества независимых ячеек, разделенных на два раздела - XT4 и XT5. В последнем разделе находится ровно 18688 вычислительных ячеек. В каждой ячейке расположились два шестиядерных процессора AMD Opteron 2356. частотой 2.3 Ггц, 16 Гб оперативной памяти DDR2, а так же роутер SeaStar 2+. Даже одной ячейки из этого раздела хватило бы для того, чтобы создать самый мощный компьютер для игр. В разделе же содержится всего 149504 вычислительных ядер, огромное количество оперативной памяти – более 300 ТБ, а так же производительность 1.38 Петафлопс и больше 6 Петабайт дискового пространства.

Сборка компьютерного монстра

В разделе XT4 находится 7832 ячеек. У них характеристики поскромнее, чем у предыдущего раздела XT5: каждая ячейка содержит один шестиядерный процессор частотой 2,1 Ггц, 8 Гб оперативной памяти и роутер SeaStar 2. Всего в разделе 31328 вычислительных ядер и более 62 Тб памяти, а так же пиковая производительность 263 TFLOPS и более 600 ТБ дискового пространства. Суперкомпьютер Jaguar работает на собственной операционной системе Cray Linux Environment.

В спину Jaguar дышит еще один компьютер, детище компании IBM – Roadrunner. Мощнейший вычислительный монстр способен высчитывать до 1000.000.000.000 операций в секунду. Он был разработан специально для энергетического департамента Национальной администрации по ядерной безопасности в Лос-Аламосе (или Department of Energy’s National Nuclear Security Administration). С помощью этого суперкомпьютера планировали контролировать работу всех ядерных установок, расположенных на территории США.


Пиковая скорость обработки данных у «Дорожного бегуна» составляет около 1,5 петафлопсов. Речь идет об общей мощности 3456 оригинальных серверов tri-blade, каждый из которых способен выполнять около 400 миллиардов операций в секунду (то есть 400 гигафлопов). Внутри Roadrunner расположились около 20 тысяч высокопроизводительных двухъядерных процессоров - 12 960 Cell Broadband Engine и 6948 AMD Opteron, детище самой компании IBM. У такого суперкомпьютера системная память равна 80 терабайтам.

Так сколько же пространства занимает такое чудо техники? Машина расположилась на площади равной 560 квадратным метрам. А упаковано все хозяйство департамента в сервера оригинальной архитектуры. Все оборудование весит около 23 тонн. Так что для его транспортировки сотрудникам национальной администрации по ядерной безопасности потребуется как минимум 21 крупногабаритный тягач.

Пару слов о том, что же такое петафлопс. Один петафлопс примерно равен общей мощности 100 тысяч современных ноутбуков. Если попробовать представить, то ими можно выстлать дорогу длинной практически в два с половиной километра. Еще одно доступное сравнение: все население планеты в течение 46 лет будет с помощью калькуляторов делать вычисления, которые под силу сделать Roadrunner за один день. А представьте, как ничтожно мало потребуется Sunway TaihuLigh, лидеру нашего рейтинга?

Titan

В 2012 году Оукриджская национальная лаборатория Министерства энергетики США запустила суперкомпьютер Titan, рассчитанный на 20 петафлопсов, другими словами, он сможет сделать за одну секунду квадриллион операций с плавающей запятой.


Разработкой Titan занималась компания Cray. Кроме «Титана» американские специалисты за последние годы разработали еще два суперкомпьютера. Один из них - Mira – предназначен для промышленных и научно-исследовательских нужд, а с помощью другого – Sequoia – моделируют испытания ядерного оружия. За всеми этими разработками стоит корпорация IBM.

Самый мощный компьютер в России

Увы, российская разработка «Ломоносов-2», признанная самым мощным компьютером России, находится лишь на 41-м месте в ТОР500 (по состоянию на июнь 2016 года). Он базируется в научно-вычислительном центре МГУ. Мощность отечественного суперкомпьютера – 1,849 петафлопс, пиковая – около 2,5 петафлопс. Количество ядер: 42 688.



Подпишитесь на наш канал в Яндекс.Дзен

Суперкомпютер (англ. 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) - системам и означает, что несколько копий одной программы.

Пятый раз подряд китайский Tianhe-2 (Млечный путь 2) становиться самым быстрым суперкомпьютером в мире с производительностью 33.86 петафлопс или квадриллион операций с плавающей запятой в секунду. Таков вердикт списка самых мощных суперкомпьютеров TOP500, который выпускается дважды в год.

Несмотря на ожидаемый результат, в последнем издании все же есть немного интересной информации. Соединенные Штаты по-прежнему имеют больше систем в списке, чем любая другая страна - 233 машины (для сравнения полгода назад было 231, а год назад 265). Второе и третье места занимают системы из США, в то время как 141 машина из списка, размещена в Европе. Примечательно, что три новых компьютера принадлежат китайской компании Lenovo, хотя сам Китай представлен всего 37 суперкомпьютерами, по сравнению с 61 в прошлом году.
Средняя производительность TOP500 значительно выросла за последние 6 месяцев. Суммарная мощность всех 500 суперкомпьютеров составила 363 петафлопс/c, что заметно больше, чем 309 в прошлом ноябре и 274 год назад. 98% систем используют процессоры с шестью ядрами и более, в то время как, по крайней мере, 88,2%, имеют 8 ядер на процессор. Восемьдесят восемь из пятисот систем использовали ускорители / сопроцессоры, среди которых Nvidia (52), ATI Radeon (4), и Intel Xeon Phi (33). Четыре системы используют комбинацию процессоров Xeon и Nvidia.
Топ-10 состоит из машин, запущенных в 2011 и 2012 году, за исключением нового участника из Саудовской Аравии под номером 7. Вот как выглядят список 10 наиболее мощных суперкомпьютеров мира.

  1. Tianhe-2: Кластер TH-IVB-FEP; Национальный суперкомпьютерный центр в Гуанчжоу, Китай; 3.12 миллиона ядер (33.86 Пфлопс/с).
  2. Titan: Система Cray XK7, Национальная лаборатория Оук-Ридж, США. 560 640 ядер (17.59 Пфлопс/с).
  3. Sequoia: Система IBM BlueGene/Q, Ливерморская национальная Лаборатория 1.57 миллиона ядер, (17.2 Пфлопс/с).
  4. K Computer: Система SPARC64 с 705 024 ядрами в RIKEN Институт передовой вычислительной науки в Институте физико-химических исследований (RIKEN), Япония. (10.5 Пфлопс/с).
  5. Mira: IBM BlueGene/Q; DOE/SC/ Аргоннская национальная лаборатория, США; 786 000 ядер IBM. (8.59 Пфлопс/с).
  6. Piz Daint: Cray XC30 с 116 000 ядер от Xeon и Nvidia; located at the Швейцарский национальный вычислительный центр. (6.27 Пфлопс/с).
  7. Shaheen II: Система Cray XC40. Университет науки и технологий Короля Абдуллы в Саудовской Аравии. (5.536 Пфлопс/с).
  8. Stampede: Система Dell PowerEdge C8220 с 462 462 ядрами Xeon Phi в Университете Техаса (5.17 Пфлопс/с).
  9. JUQUEEN: BlueGene/Q, 458 752 ядра IBM. Юлихский исследовательский центр, Германия. (5 Пфлопс/с).
  10. Vulcan: BlueGene/Q, 393 216 ядер IBM, Департамент Энергетики США.

Нужно помнить, что расклады могут резко измениться, если кто-то создаст настоящий квантовый компьютер. IBM пошли на рекорд, собираясь создать компьютер на 50 кубитов (с текущим максимумом в 4), который может стать мощнее, чем любая система в этом списке.
Тем временем Департамент Энергетики США заказал две системы IBM/Nvidia в сделке на $ 425 млн. Поставка машин запланирована на 2017 и 2018 год, а пиковая мощность может составить 150 петафлопс.