большое внимание новым архитектурным решениям, обеспечивающим еще более существенный рост производительности. Так, в последнее время, стали активно разрабатываться и внедряться в практику архитектуры SMP, кластеры и системы с массовым параллелизмом MPP. По мнению многих исследовательских центров решение наиболее "емких" вычислительных задач, таких, например, как задачи численного аэродинамического моделирования, связывается именно с суперскалярными архитектурами, обеспечивающими максимальную степень параллелизма. Например, исследовательский центр NASA Ames, определяя требуемые вычислительные мощности на уровне их тысячекратного увеличения относительно одного процессора, активно ведет различные исследовательские работы по суперпараллельным архитектурам. Если разработка и уже реальное использование крупнейшими научными центрами систем массового параллелизма не является чем-то сверхъестественным, то практическое применение этих систем для бизнес-приложений несколько неожиданно и заслуживает определенного внимания: особенности коммерческих задач требуют повышения производительности, и прежде всего в классе OLTP и DSS, специфика которых несколько отличается от вычислительных. Это, в свою очередь, определяет соответствующие требования как для аппаратуры, так и для ПО.

Ведущие производители уже поставляют на рынок вычислительные системы с архитектурой массового параллелизма: IBM-SP2, SNI RM1000, CRAY-3D, Intel/Paragon и другие. При этом многими аналитиками отмечен необычайно быстрый переход от исследовательских работ и использования систем MPP в крупнейших научных и вычислительных центрах к применению этих вычислительных систем для бизнес-приложений. Ирвин Владавски-Бергер, генеральный менеджер IBM POWER Parallel Division, обращает внимание на существенную роль, которую в этом процессе играют не только исследовательские программы, но и "агрессивная" политика внедрения новых технологий в сферу коммерческих приложений. Полученные в промышленных MPP-системах показатели стоимости транзакции оказываются вполне приемлемыми для крупных компаний, обрабатывающих громадные массивы данных (банки, финансовые компании, промышленные и торговые предприятия), и для организаций, связанных с обработкой информации о своих клиентах, например, телефонных компаний.

Короче говоря, коммерческие организации уже "доросли" до использования систем класса MPP, однако при этом перед компаниями, переходящими на использование подобных архитектур, встает весьма непростая проблема выбора конкретной архитектуры и оценке адекватности ее соответствия решаемым задачам. Дело в том, что традиционные тесты SPEC, TPC и LINPACK, не всегда полностью отражают возможности многопроцессорных архитектур. Тесты SPEC, как бы их не превозносили фирмы, выпускающие очередной чип, позволяют фактически определить лишь производительность собственно процессоров. Тесты TPC и LINPACK, хотя и учитывают особенности архитектуры системы в целом и позволяют сделать предварительные оценки для задач класса OLTP и DSS, все же, в определенной степени, искусственны. Во-первых, они не учитывают всех архитектурных особенностей конкретных систем, вычислительных алгоритмов и ПО. Кроме того, объемы используемых в этих тестах данных (даже для LINPACK TPP - матрица 1000*1000) не всегда позволяют полностью загрузить вычислительные ресурсы MPP систем и таким образом получить реальные оценки.

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

  • системы с массовым параллелизмом часто требуют новых алгоритмических и программных решений и неудивительно, что конкретные реализации этих методов отличаются друг от друга;
  • тесты должны носить "общий" характер и не следовать какой-либо конкретной архитектуре, что исключает использование архитектурно-зависимого кода;
  • корректность результатов должна легко проверяться: следует точно описать входные и выходные данные, а также природу вычислений;
  • используемая память и вычислительные ресурсы для повышения производительности должны быть масштабируемыми;
  • тесты должны быть реально доступны.
  • По мнению специалистов NASA существует единственный способ совместить все эти требования - использовать "бумагу и карандаш". При таком подходе выбор конкретных структур реализации алгоритмов распределения работы между процессорами и выделение памяти открыто решается в конкретной реализации тестов. При этом, однако, NASA требует соблюдения некоторых правил:

  • все операции с плавающей арифметикой должны выполняться с использованием 64-разрядной арифметики;
  • все программы должны быть закодированы с использованием только языков программирования Fortran-90 или Си;
  • не допускается использование смесей этих кодов;
  • допускается использование High Performance Fortran (HPF) версии от января 1992 года или более поздней;
  • все используемые расширения языка и библиотеки должны быть включены в официальную поставку производителем;
  • библиотечные подпрограммы должны быть написаны на одном из указанных выше языков.
  • Использование языков программирования Си и Fortran обусловлено их наибольшей распространенностью для подобного класса систем. При этом запрет на применение низкоуровневого ассемблерного кода должен "уравнять" разрабатываемые тесты программ.

    Сегодня в исследовательском центре NASA используется система тестов - NAS benchmark, состоящая из пяти так называемых тестов NAS kernel benchmark и трех тестов, основанных на реальных задачах гидро- и газодинамического моделирования. При этом специалисты центра считают именно эти три теста наиболее перспективными при выявлении производительности систем MPP. Все пять этих базовых тестов реально используются для оценки коммерческих систем.

    Полный отчет NAS содержит таблицы по каждому из тестов в относительных единицах по сравнению с CRAY 90/1 или CRAY Y-MP/1. Кроме этого приводятся весьма полезные и популярные сегодня оценки производительности на вложенный доллар. Из таблицы видно, что даже самая быстродействующая сегодня векторная система VPP500 с элементами MPP в отношении производительности уступает намного более дешевым серверам DEC 8400, которые оказались в числе лидеров по результатам теоретических тестов NAS. Практика применения вошедших в таблицу систем также подтверждает приведенные в ней оценки. Согласно списку TOP500, два раза в год составляемому создателем теста LINPACK Джеком Донгаррой и содержащему перечень из 500 наиболее оснащенных вычислительной техникой компьютерных центров, оказалось, что наиболее распространенными являются компьютеры SGI Power Challenge - 125 систем, на втором месте IBM RS/6000 SP - 116 систем, на третьем Cray - 92 компьютера установлено в 500 центрах. В том же порядке данные системы представлены и в приведенной таблице по показателю производительность/цена - яркий пример согласования теории и практики.

    Несмотря на то, то тест NAS относительно молод, по мнению многочисленных экспертов, которое совпадает с приведенными практическими подтверждениями, он имеет столько же шансов на распространение, как и популярный тест LINPACK, и может стать таким же информативным, как AIM.


    Дмитрий Французов - эксперт компании Steepler. С ним можно связаться по тел. (095) 245-9999 доб. 3-74

    КОМПОНЕНТЫ NAS KERNEL BENCHMARK

    EP (embarrassinghly parallel) - тест "усложненного параллелизма" для измерения первичной вычислительной производительности выполнения операций с вещественной арифметикой. Этот тест требует минимального межпроцессорного взаимодействия.

    MG (3D Multigrid) - тест "трехмерной решетки" требует высоко структурированной организации взаимодействия процессоров. Тестирует как дальнюю, так и короткую передачу данных.

    CG (conjugate gradient) - тест для вычисления наименьшего собственного значения больших, разреженных матриц. Это типичное неструктурированное вычисление на решетке, поэтому тест применяется для оценки произвольных удаленных передач данных.

    FT (fast Fourier Tranformation) - тест вычисления методом быстрого преобразования Фурье. Используется как "серьезный" тест для оценки эффективности удаленного взаимодействия.

    IS (integer sort) используется как для оценки целочисленной арифметики (главным образом одного узла), так и для оценки межпроцессорного взаимодействия.

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


    ФРАГМЕНТ ОТЧЕТА NAS

    Система
    Np
    Память
    R:C90/1
    Цена
    Пр./Ц
    Convex SPP1000
    16
    8
    3.03
    2.5
    1.21
    Cray T916
    16
    2
    15.98
    15.0
    1.07
    DEC 8400 5/300
    12
    2
    2.23
    0.718
    3.11
    Fujitsu VPP500
    51
    256*
    81.16
    31.0
    2.62
    IBM RS/6000 SP
    64
    128*
    9.73
    5.74
    1.70
    SGI PowerChallenge
    16
    2
    2.61
    1.02
    2.56
    Np - число процессоров; Память (Гбайт), используемая в
    тестируемой конфигурации; R:C90/1 производительность
    относительно Cray C90/1; Цена в млн. долл.; Пр./Ц - соотношение
    производительности к цене. * - объем памяти (Мбайт) на
    процессорный элемент.