Сегодня не так уж много приложений могут эффективно выполняться на MPP-компьютере, кроме этого имеется еще проблема переносимости программ между MPP-системами, имеющими различную архитектуру. Предпринятая в последние годы попытка стандартизации моделей обмена сообщениями еще не снимает всех проблем. Эффективность распараллеливания во многих случаях сильно зависит от деталей архитектуры MPP-системы, например топологии соединения процессорных узлов.
Самой эффективной была бы топология, в которой любой узел мог бы напрямую связаться с любым другим узлом. Однако в MPP-системах это технически трудно реализуемо. Обычно процессорные узлы в современных MPP-компьютерах образуют или двумерную решетку (например, в SNI/Pyramid RM1000) или гиперкуб (как в суперкомпьютерах nCube).
Поскольку для синхронизации параллельно выполняющихся в узлах процессов необходим обмен сообщениями, которые должны доходить из любого узла системы в любой другой узел, важной характеристикой является диаметр системы с1 - максимальное расстояние между узлами. В случае двухмерной решетки d ~ sqrt(n), в случае гиперкуба d ~ 1n(n). Таким образом, при увеличении числа узлов архитектура гиперкуба является более выгодной.
Время передачи информации от узла к узлу зависит от стартовой задержки и скорости передачи. В любом случае за время передачи процессорные узлы успевают выполнить много команд, и это соотношение быстродействия процессорных узлов и передающей системы, вероятно, будет сохраняться - прогресс в производительности процессоров гораздо больше, чем в пропускной способности каналов связи. Поэтому инфраструктура каналов связи является одного из главных компонентов MPP-компьютера.
Несмотря на все сложности, сфера применения MPP-компьютеров понемногу расширяется. Различные MPP-системы эксплуатируются во многих ведущих суперкомпьютерных центрах мира, что наглядно следует из списка ТОР500. Кроме уже упоминавшихся, следует особенно отметить компьютеры Cray T3D и Cray ТЗЕ, которые иллюстрируют тот факт, что мировой лидер производства векторных суперЭВМ, компания Cray Research, уже не ориентируется исключительно на векторные системы. Наконец, нельзя не вспомнить, что новейший суперкомпьютерный проект министерства энергетики США будет основан на MPP-системе на базе Pentium Pro.
Транспьютеры
Транспьютер (слово, производное от слов транзистор и компьютер) представляет собой 32- разрядный микропроцессор, в состав которого входят:
· ЦПУ с сокращенным набором команд (RISC), имеющее быстродействие до 35 мипс.
· 64- разрядный сопроцессор (FPU) плавающей арифметики с пиковой производительностью до 3,5 Мфлопс, работающий параллельно с ЦПУ.
· Внутрикристальное ОЗУ емкостью 4 Кбайт со скоростью обмена 120 Мбайт/с.
· 32- разрядная шина памяти, позволяющая адресовать до 4 Гбайт внешней по отношению к кристаллу памяти и имеющая быстродействие 40 Мбайт/с.
· Четыре последовательных двунаправленных линии связи, обеспечивающих взаимодействие транспьютера с внешним миром, работающих параллельно с ЦПУ и имеющих скорость передачи 5/10/20 Мбит/с.
· Таймер с разрешающей способностью 1 мкс.
· Системные управляющие сигналы: Инициализация, Анализ, Ошибка, управляющие загрузкой и анализом состояния транспьютера, сигнализирующие об ошибках.
· Интерфейс внешних событий, обеспечивающий асинхронную связь внутреннего процесса и внешнего события.
Транспьютеры размещаются на транспьютерных модулях (TRAM или TPAM) –дочерних платах, содержащих транспьютер, ОЗУ, возможно, переключатели для выбора режимов, иинтерфейс, включающий гнезла/штекеры питания, 4-х линий связи, линий внешних событий и системных управляющих сигналов. В зависимости от состава TPAM может иметь разные физические размеры, которые стандартизованы и пронумерованы.
TPAMы размещаются на объединительных платах, которые либо непосредственно включаются в некоторый компьютер, либо соединенные вместе составляют сетевой компьютер. Объединительные платы, подключаемые к компьютеру (вычислительные транспьютерные платы), имеют два вида:
1. Загружаемые по линии связи платы общего назначения, начальная загрузка которых осуществляется программой главного компьютера по линии связи, соединяющей главный компьютер и транспьютер (корневой транспьютер), специально выделенный для взаимодействия с главным компьютером.
2. Загружаемые из ПЗУ платы, предназначенные для автономных, встроенных систем.
Оценки производительности суперЭВМ
Поскольку суперкомпьютеры традиционно использовались для выполнения вычислений над вещественными числами, большинство сегодняшних оценочных характеристик производительности связано именно с этими вычислениями. Прежде всего, к ним относится пиковая производительность, измеряемая в млн. операций с плавающей точкой, которые компьютер теоретически может выполнить за 1 сек (MFLOPS). Пиковая производительность - величина, практически не достижимая. Это связано, в частности, с проблемами заполнения функциональных конвейерных устройств, что является типичным не только для векторных суперЭВМ, но и для компьютеров на базе микропроцессоров RISC-архитектуры. Особенно важно это для суперконвейерной архитектуры микропроцессоров, например, DEC Alpha, для которой характерно применение относительно длинных конвейеров. Понятно, что чем больше конвейер, тем больше надо "инициализационного" времени для того, чтобы его заполнить. Такие конвейеры эффективны при работе с длинными векторами. Поэтому для оценки векторных суперЭВМ было введено такое понятие, как длина полупроизводительности - длина вектора, при которой достигается половина пиковой производительности .
Более реальные оценки производительности базируются на временах выполнения различных тестов. Конечно же, самыми хорошими тестами являются реальные задачи пользователя. Однако такие оценки, во-первых, весьма специфичны, а, во-вторых, часто вообще недоступны или отсутствуют. Поэтому обычно применяются более универсальные тесты, однако традиционные методики оценки производительности микропроцессоров - SPEC- в мире суперкомпьютеров, как правило, не используются. Это связано, в частности, с их малой информативностью - особенно SPEC 92 - для суперкомпьютерных приложений, хотя новый стандарт SPEC 95 дает более реальную картину производительности. Сегодня имеются оценки SPEC только для суперкомпьютеров, использующих микропроцессоры RISC-архитектуры. Недавно был анонсирован специальный новый стандарт SPEChpc96 для высокопроизводительных вычислений .
Поскольку большую часть времени выполнения программ обычно занимают циклы, иногда именно они применяются в качестве тестов, например, известные ливерморские циклы. Наиболее популярным тестом производительности на сегодня следует признать Linpack, который представляет собой решение системы И линейных уравнений методом Гаусса. Поскольку известно, сколько операций с вещественными числами нужно проделать для решения системы, зная время расчета, можно вычислить выполняемое в секунду количество операций. Имеется несколько модификаций этих тестов. Обычно фирмы-производители компьютеров приводят результаты при N 100. Свободно распространяется стандартная программа на Фортране, которую надо выполнить на суперкомпьютере, чтобы получить результат тестирования. Эта программа не может быть изменена, за исключением замены вызовов подпрограмм, дающих доступ к процессорному времени выполнения. Другой стандартный тест относится к случаю N = 1000, предполагающему использование длинных векторов. Эти тесты могут выполняться на компьютерах при разном числе процессоров, давая также оценки качества распараллеливания.
Для MPP-систем более интересным является тест Linpack-parallel, в котором производительность измеряется при больших И и числе процессоров. Здесь лидером является 6768-процессорный Intel Paragon (281 GFLOPS при N = 128600). Что касается производительности процессоров, то при N = 100 лидирует Cray T916 (522 MFLOPS), при N = 1000 и по пиковой производительности - Hitachi S3800 (соответственно 6431 и 8000 MFLOPS). Для сравнения, процессор в AlphaServer 8400 имеет 140 MFLOPS при N =100 и 411 MFLOPS при N=1000.
Для высокопараллельных суперкомпьютеров в последнее время все больше используются тесты NAS parallel benchmark, которые особенно хороши для задач вычислительной газо- и гидродинамики. Их недостатком является фиксация алгоритма решения, а не текста программы.
Заключение
Сегодня в суперкомпьютерном мире наблюдается новая волна, вызванная как успехами в области микропроцессорных технологий, так и появлением нового круга задач, выходящих за рамки традиционных научно-исследовательских лабораторий. Налицо быстрый прогресс в производительности микропроцессоров RISC-архитектуры, которая растет заметно быстрее, чем производительность векторных процессоров. Например, микропроцессор HP РА-8000 отстает от Cray T90 всего примерно в два раза. В результате в ближайшее время вероятно дальнейшее вытеснение векторных суперЭВМ компьютерами, использующими RISC-микропроцессоры, такими, как, например, IBM SP2, Convex/HP SPP, DEC AlphaServer 8400, SGI POWER CHALENGE. Подтверждением этого стали результаты рейтинга ТОР500, где лидерами по числу инсталляций стали системы POWER CHALLENGE и SP2, опережающие модели ведущего производителя суперкомпьютеров - компании Cray Research.
Тем не менее, очевидна, будет продолжаться развитие векторных суперЭВМ, по крайней мере от Cray Research. Возможно, оно начинает сдерживаться из-за требований совместимости со старыми моделями. Так, не нашла потребителя система Cray-4 компании Cray Computer, имеющая характеристики конфигурации и производительность, близкие к новейшей системе Cray T90 от Cray Research при в 2 раза более низкой цене, но несовместимая с компьютерами Cray Research. В результате Cray Computer разорилась.
Успешно развиваются системы на базе MPP-архитектур, в том числе с распределенной памятью. Появление новых высокопроизводительных микропроцессоров, использующих дешевую КМОП-технологию, существенно повышает конкурентноспособность данных систем.
Используемая литература
1. Вл. В. Воеводин “Суперкомпьютерная грань компьютерного мира”
2. IEEE Computer ”Рынок аппаратных средств”
3. М. Кузминьский, Д. Волков “Современные суперкомпьютеры: состояние и перспективы”
4. Левин В. К. “Отечественные суперкомпьютеры”
5. Б. В. Пальцев “PC против суперкомпьютеров”
6. “Computerworld Россия”
7. НИВЦ МГУ “Основные классы современных параллельных компьютеров”