Э. Таненбаум - Архитектура компьютера (1127755), страница 172
Текст из файла (страница 172)
На данном этапе достаточно знать, что МРР-машина представляет собой ряд более или менее стандартных вычислительных узлов, связанных друг с другом высокоскоростной коммуникационной сетью. Поэтому далее мы просто рассмотрим несколько конкретных примеров МРР-машин, в частности В1пеСепе и Кед Ятогш. В!оейепе В качестве первого примера процессор а с массовым параллелизмом рассмотрим систему 1ВМ В1пеСепе. Этот проект был задуман 1ВМ в 1999 году как суперкомпьютер для решения вычислительных задач большой сложности в биологии. В частности, биологи считают, что функции белка определяются его трехмерной структурой.
Но определение формы даже одной небольшой молекулы белка на суперкомпьютерах того времени потребовало бы нескольких лет вычислений. При этом в человеческом организме около полумиллиона различных белков, некоторые из которых исключительно сложны, и нарушения в структуре любого могут приводить к серьезным наследственным заболеваниям.
Очевидно, что для расчета трехмерной структуры всех человеческих белков требуется на несколько порядков повысить вычислительную мощность, и моделирование формы белковой молекулы — лишь одна из задач, на решение которых направлен проект В1пеСепе.
Столь же сложные задачи из молекулярной динамики, моделирования климата, астрономии и даже финансового моделирования также требуют совершенствования суперкомпьютеров. Почувствовав потребность рынка в суперкомпьютерах, в 1ВМ вложили в разработку и постройку В1пеСепе 100 млн долларов. В ноябре 2001 года появился и первый заказчик первого компьютера из семейства В!пеСепе под названием В1пебепе/1.. Заказчиком стала национальная лаборатория Ливмора, работающая под началом департамента энергетики США.
Целью проекта В!пеСепе была постройка МРР-машины, которая не только была бы самой быстрой, но и самой эффективной в отношении показателей терафлоп/доллар, терафлоп/ватт и терафлоп/мз. По этой причине в 1ВМ отказались от принципов, которые были положены в основу разработки предыдущих МРР-машин и согласно которым применялись самые быстрые компоненты независимо от их цены.
Вместо этого было решено выпустить собственный однокристальный компонент, работающий с умеренной скоростью и обладающий низким энергопотреблением, чтобы на его основе построить большую машину с эффективным расположением компонентов. Первая микросхема появилась в июне 2003 года, а первая четверть В1пеСепе/1.
из 16 384 вычислительных узлов была полностью работоспособна в ноябре 2004. Тогда же она была сертифициро- йлультикомпьютеры 673 вана как самый быстрый на Земле суперкомпьютер с производительностью 71 терафлоп/с. Потребляя мощность 0,4 мегаватт, эта система оказалась в своем классе победителем и в гонке на эффективность энергопотребления с показателем 177,5 мегафлоп/ватт. В целом система должна содержать 65 536 узлов. Сердцем системы В!пеСепе/1. является узел, образованный из специализированной микросхемы, структура которой показана на рис. 8.32.
Она состоит из двух ядер РотуегРС 440, работаютцих с частотой 700 Мрц. РотуегРС 440 — это конвейеризованный сдвоенный суперскалярный процессор, популярный во встраиваемых системах. В каждом ядре имеется пара сдвоенных блоков выполнения операций с плавающей точкой (Р1оагшй Ро1пс Пшс, РРП), что в сумме позволяет за один цикл выполнять 4 команды с плавающей точкой. Эти блоки дополнены поддержкой 51МП-команд, которые могут быть полезны при обработке массивов. Таким образом, в отношении производительности этот процессор никак нельзя причислить к рекордсменам. Интерфейс дпя рекрного тора Каши уровня т Б выло опе с ппав точ Запад Восток памяти ВОН ЗОВАМ уровня платы Коммун процессор Юг Енпегпе! Низ Рис. 8.32. Специализированный микропроцессор в системе В!ие6епе/к Два процессора на этой микросхеме идентичны, но программируются отдельно. Первый предлагается использовать для вычислений, а второй — для взаимодействия с остальными 65 535 узлами.
На микросхеме поддерживаются три уровня кэширования. Кэш первого уровня раздельный, в нем 32 Кбайт отводится для команд и еще 32 Кбайт — для данных. Кэши первого уровня на двух процессорах не согласованы, так как стандартные ядра РотуегРС 400 не поддерживают этой возможности, и было принято решение специально для этого проекта их не модифицировать. Размер объединенного каша второго уровня составляет 2 Кбайта. В действительности это не столько кэши, сколько буферы предвыборки. В кашах второго уровня реали- 674 Глава 6. Параллельные компьютерные архитектуры 512 Мбайт Микросхема Плата Панель 2 микросхемы 16 плат 1 Гбайт 32 микросхемы 16 Гбайт Стойка 32 панели 512 плат 1024 микросхемы 512 Гбайт Система 64 стойки 2048 панелей 32,768 плат 65,536 микросхем 32 Тбайт д а б е Рис. 8.33.
В(оебепети микросхема (а), плата (б), панель (а), стойка (г), система (д) Платы монтируются на встраиваемой панели, по 16 плат на панель, что дает 32 микросхемы Гто есть 32 вычислительных процессора) на панель. Так как на каждой плате имеется ЯЖАМ объемом 1 Гбайт, всего на панели получается 16 Гбайт памяти (рис. 8.33, в). На следующем уровне 16 этих панелей вставляются в верхнюю часть стойки, другие 16 — в нижнюю, в результате в стойке размером 60 х 90 см оказываются зован механизм слежения друг за другом, благодаря которому поддерживается их согласованность. Третий уровень представлен объединенным целостным кэшем объемом 4 Мбайт, который совместно используется обоими кэшами второго уровня.
Обращение к памяти, которое вызывает кэш-промах на первом уровне и кэш-попадание на втором, обрабатывается 11 тактов. При кэш-промахе на втором уровне кэш-попадание на третьем обрабатывается уже 28 тактов. Наконец, при кэш-промахе на третьем уровне приходится обращаться к главной памяти ГГ))ж ЯЗВАМ), на что требуется около 75 тактов. С кашами второго уровня соединяется небольшой модуль памяти ГАМ).
Модуль 8ГтАМ, в свою очередь, соединяется с (ТАС-контактами и предназначается для отладки, загрузки и взаимодействия с главным хостом, на котором хранится системный стек, а также для предоставления семафоров и других средств синхронизации. Для более высокого уровня в 1ВМ была разработана специализированная плата, на которую устанавливается пара описываемых микросхем, а также оперативная память на 1 Гбайт. В будущих версиях на плату предполагается устанавливать до 4 Гбайт памяти. Микросхема показана на 8.33, а, плата — на рис.
8.33, б. Ьлультикомпьютеры 675 1024 процессора. Две группы панелей разделены переключателем, благодаря которому одну группу можно извлечь из системы для обслуживания, а на это время подключить резервную группу. Стойка показана на рис. 8.33, г. Наконец, вся система, состоящая из 65 536 вычислительных и 65 536 коммуникационных процессоров, изображена на рис. 8.33, д. Имея 131 072 сдвоенных блока целочисленной арифметики и 262 144 сдвоенных блока выполнения операций с плавающей точкой, система должна обрабатывать за цикл до 786 432 команд. Однако один из блоков целочисленной арифметики предназначен для подготовки данных для блоков выполнения операций с плавающей точкой, поэтому максимальная производительность снижается до 655 360 команд за цикл, или 4,6 х 10г«команд в секунду.
Таким образом, эта система является самым большим компьютером из всех построенных в мире. Система представляет собой мультикомпьютер в том смысле, что ни один из процессоров не имеет непосредственного доступа к памяти, если не считать 512 Мбайт собственной памяти на плате. Ни у одной пары процессоров нег общей памяти. Кроме того, не поддерживается вызов страниц по требованию, поскольку для размещения страниц нет локальных дисков. Вместо этого в системе имеются 1024 узла ввода-вывода, которые соединяются с дисками и другими периферийными устройствами.
Несмотря на исключительные размеры системы, она довольно проста и в ней не используются какие-либо особенные технологии, за исключением, разве что, чрезвычайно плотного размещения узлов. Это не случайно, так как основными целями были надежность и доступность. Соответственно, весьма тщательно были спроектированы системы питания, охлаждения, кабельные системы и т.
д., все это позволило поднять среднее время наработки на отказ до 10 дней. Для подключения всех микросхем требуется масштабируемая и высокопроизводительная схема соединений. В качестве топологии был выбран трехмерный тор размером 64 х 32 х 32. Таким образом, каждой микросхеме требуются 6 линий связи: 2 для соседей, логически расположенных сверху и снизу, 2 для соседей с севера и юга, 2 для соседей с запада и востока (см, соответствующие обозначения на рис. 8.32).
Конструктивно, каждая стойка на 1024 узла образует тор размером 8 х 8 х 16. Пара соседних стоек соединяется в тор размером 8 х 8 х 32. Четыре пары стоек из одного ряда образуют тор размером 8 х 32 х 32, и, наконец, все 8 рядов дают тор размером 64 х 32 х 32. Таким образом, все соединения являются двухточечными и работают на скорости 1,4 Гбит/с. Так как от каждого из 65 536 узлов к «следующим по порядку» узлам идут три линии связи, по одной на каждое измерение, общая пропускная способность системы составляет 275 Тбайт/с.
Информационная емкость книги, которую вы держите в руках, включая рисунки в формате Епсарзц1асео Розс5сПрц составляет около 300 млн. бит, таким образом, В1пеСепе/Е может за секунду передать внутри себя до 900 тысяч ее копий. Куда девать эти копии, и кто мог бы их прочесть — эти вопросы мы оставляем читателю. Взаимодействие в трехмерном торе поддерживается в форме виртуальной сквозной маршрутизации (ч(гспа1 спг гЬгопйЬ гонг(пй). Этот подход в чем-то напоминает коммутацию с сохранением и продвижением пакетов (см.