Ульяновский государственный университет
Опубликован: 18.05.2006 | Доступ: свободный | Студентов: 4220 / 1356 | Оценка: 4.05 / 4.02 | Длительность: 15:15:00
Специальности: Разработчик аппаратуры
Лекция 11:

Параллельные системы

< Лекция 10 || Лекция 11: 123 || Лекция 12 >

Технологии параллельного программирования

Средства программирования: параллельные расширения и диалекты языков - Fortran, C/C++, ADA и др.

Самым крупным достижением в деле создания программного обеспечения была стандартизация интерфейса передачи сообщений MPI (Message Passing Interface). Набор функций этого интерфейса вобрал в себя лучшие черты своих предшественников. Основные достоинства MPI:

  • поддержка нескольких режимов передачи данных;
  • предусматривает гетерогенные вычисления;
  • передача типизированных сообщений;
  • построение библиотек - MPICH, LAM MPI;
  • наличие вариантов для языков программирования C/C++, Fortran;
  • поддерживает коллективные операции: широковещательную передачу, разборку/сборку, операции редукции;
  • совместимость с многопоточностью.

Оценки производительности супер-ЭВМ

Большинство оценочных характеристик производительности супер-ЭВМ связано с вычислениями над вещественными числами. К ним относится пиковая производительность (ПП), измеряемая в млн. операций с плавающей точкой, которые компьютер теоретически может выполнить за 1 с (MFLOPS).

ПП - величина, практически не достижимая. Это связано с проблемами заполнения функциональных конвейерных устройств. Чем больше конвейер, тем больше надо "инициализационного" времени для того, чтобы его заполнить. Такие конвейеры эффективны при работе с длинными векторами. Поэтому для оценки векторных супер-ЭВМ было введено такое понятие, как длина полупроизводительности - длина вектора, при которой достигается половина пиковой производительности.

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

Поскольку большую часть времени выполнения программ обычно занимают циклы, иногда именно они применяются в качестве тестов, например, известные ливерморские циклы.

Наиболее популярным тестом производительности является Linpack, который представляет собой решение системы N линейных уравнений методом Гаусса. Так как известно, сколько операций с вещественными числами нужно проделать для решения системы, то, зная время расчета, можно вычислить выполняемое в секунду количество операций.

Имеется несколько модификаций этих тестов. Обычно фирмы-производители компьютеров приводят результаты при N = 100.

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

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

Для MPP-систем более интересным является тест Linpack-parallel, в котором производительность измеряется при больших N и большом количестве процессоров. Здесь лидером является 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, которые особенно хороши для задач вычислительной газо- и гидродинамики. Их недостатком является фиксация алгоритма решения, а не текста программы.

14 ноября 2005 года была опубликована 26-я редакция списка 500 наиболее мощных компьютеров мира Top500.

На первом месте в 26-й редакции списка остался прототип будущего суперкомпьютера IBM BlueGene/L, число процессоров которого увеличилось до 131072, а производительность на Linpack - до 280.6 Tflop/s.

На втором месте осталась другая инсталляция суперкомпьютера IBM BlueGene/L, установленная в Thomas J. Watson Research Center, на основе 40960 процессоров с производительностью на Linpack 91.29 Tflop/s.

На третье место в новой редакции списка вышел суперкомпьютер ASC Purple производства IBM на основе 10240 процессоров p5 575 1.9 ГГц с производительностью на Linpack 63.39 Tflop/s.

На 5-ом месте оказался суперкомпьютер Thunderbird производства Dell на основе 8000 процессоров PowerEdge 1850 3.6 ГГц с производительностью на Linpack 38.27 Tflop/s. На 6-ом месте - суперкомпьютер Red Storm производства Cray на основе технологии XT3 с производительностью на Linpack 36.19 Tflop/s.

Суперкомпьютер Earth Simulator, долгое время возглавлявший список, оказался в новой редакции уже на 7-м месте.

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

На 10-м месте в списке оказался суперкомпьютер Jaguar, построенный по технологии Cray XT3 с производительностью на Linpack 20.527 Tflop/s.

Полгода назад для попадания в первую десятку списка требовалась производительность 15.25 Tflop/s. Суммарная производительность систем в списке выросла за полгода с 1.69 Pflop/s до 2.30 PFlop/s.

Общее число кластеров в списке еще увеличилось и составляет уже 360 систем (по сравнению с 304 в июне), таким образом, кластерная архитектура остается наиболее популярной при проектировании мощнейших суперкомпьютеров. В качестве коммуникационной технологии 249 кластеров используется Gigabit Ethernet, в 70 случаях - Myrinet.

По количеству установленных систем, вошедших в список, IBM (219) продолжает доминировать, на втором месте по-прежнему Hewlett-Packard (169).

С 56-го на 69-е место в новой редакции списка опустился российский суперкомпьютер MVS-15000BM производства IBM, установленный в Межведомственном суперкомпьютерном центре РАН и построенный на основе 924 процессоров PowerPC970 2.2 ГГц, объединенных коммуникационной сетью Myrinet, с производительностью на тесте Linpack 5.355 Tflop/s.

С 174-го на 330-е место в новой редакции списка опустился белорусский суперкомпьютер SKIF K-1000, построенный на основе 576 процессоров AMD Opteron 2.2 ГГц и коммуникационной технологии Infiniband, с производительностью на Linpack 2.032 Tflop/s.

Наиболее полную и интересную информацию о параллельных системах можно найти на сайте http://www.parallel.ru.

Вопросы для самоконтроля

  1. Когда впервые реализована конвейерная обработка данных?
  2. Перечислите способы параллельной обработки данных.
  3. Сформулируйте следствие из закона Амдала.
  4. Назовите классы параллельных систем.
  5. Основные особенности векторно-конвейерных компьютеров.
  6. К какому классу параллельных систем относятся компьютеры Intel Paragon и CRAY T3D?
  7. В каких классах параллельных систем оперативная память разделяется между несколькими процессорами?
  8. Перечислите особенности MPI-интерфейса.
  9. Что представляет собой тест оценки производительности суперЭВМ Linpack?
  10. Какие тесты оценки производительности супер-ЭВМ вы знаете?
< Лекция 10 || Лекция 11: 123 || Лекция 12 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко