Тесты NAS призваны в первую очередь оценить вычислительные возможности компьютерной системы и скорость передачи данных между процессорами в параллельных системах, а производительность при выполнении операций ввода-вывода или различных пре- и постпроцессорных функций в данном тесте не оценивается.
При выполнении каждого теста замеряется время в секундах, необходимое задаче, имеющей конкретный размер.
Для более наглядной оценки потенциальных возможностей тестируемой конфигурации вычисляется относительная производительность по сравнению с показателями традиционного векторного суперкомпьютера, в качестве которого обычно выступает одна из моделей Cray.
Для NASBenchmarksKernel определяются два класса тестов: класс А и класс В, которые фактически отличаются размерностью вычислений. Размер задач из класса В превосходит размер задач из класса А примерно в четыре раза. Результаты тестирования в классе А нормируются на производительность однопроцессорного компьютера CrayY-MP, а в классе В — на производительность однопроцессорного CrayC90. Тесты класса А адекватно отражают производительность масштабируемых систем с числом процессорных узлов менее 128. При оценке систем с количеством узлов до 512 следует использовать тесты класса В.
Результаты тестирования некоторых известных вычислительных систем приведены в табл. 3.4. Эти данные весьма точно подтверждаются списком используемых во всем мире суперкомпьютеров ТОР500.
Таблица 3.4Результаты тестирования суперкомпьютеров
Комплекс тестов NASBenchmarkskernel включает следующие расчетные задачи:
1. ЕР (EmbarrasinghlyParallel). Вычисление интеграла методом Монте-Карло - тест усложненного параллелизма для измерения первичной вычислительной производительности плавающей арифметики. Этот тест минимального межпроцессорного взаимодействия фактически определяет чисто вычислительные характеристики узла при работе с вещественной арифметикой.
2. MG (3D Multigrid). Тест по решению уравнения Пуассона (трехмерная решетка) в частных производных требует высокоструктурированной организации взаимодействия процессоров, тестирует возможности системы выполнять как дальние, так и короткие передачи данных.
3. CG (ConjugateGradient). Вычисление наименьшего собственного значения больших разреженных матриц методом сопряженных градиентов. Это типичное неструктурированное вычисление на решетке, и поэтому тест применяется для оценки скорости передачи данных на длинные расстояния при отсутствии какой-либо регулярности.
4. FFT (FastFourierTransformation). Вычисление методом быстрого преобразования Фурье трехмерного уравнения в частных производных. Эта задача - важный тест для оценки эффективности взаимодействия по передаче данных между удаленными процессорами. При создании программы, реализующей данный тест, могут использоваться библиотечные модули преобразования Фурье различной размерности.
5. IS (IntegerSort). Тест выполняет сортировку целых чисел и используется как для оценки возможностей работы системы с целочисленной арифметикой (главным образом одного узла), так и для выявления потенциала компьютера по выполнению межпроцессорного взаимодействия.
Комплекс тестов NASBenchmarksKernel по модельным задачам включает следующие модули:
1. LU (LUSolver). Тест выполняет вычисления, связанные с определенным классом алгоритмов (JNS3D-LU по классификации центра NASAArmes), в которых: решается система уравнений с равномерно разреженной блочной треугольной матрицей 5x5.
2. SP (ScalarPentadiagonal). Тест выполняет решение нескольких независимых систем скалярных уравнений - с использованием пентаднагональных матриц, в которых преобладают недиагональные члены.
3. ВТ (BlockTridiagonal). Решение серии независимых систем уравнений с использованием блочных трехдиагональных матриц 5x5 с преобладанием недиагональных элементов.
Тест ЕР. Чтобы понять принципы построения тестов типа NAS и особенности их реализации на конкретных суперкомпьютерных архитектурах, рассмотрим несколько подробнее тест ЕР. Данный тест формулируется следующим образом: формирование двухмерной статистики из большого числа случайно распределенных по Гауссу чисел, которые генерируются наилучшим (оптимальным) образом для каждой конкретной вычислительной архитектуры. Эта постановка является типичной для большинства приложений, использующих метод Монте-Карло. Как и все остальные тесты ядра NASKernel, этот тест имеет два класса, определяемых в данном случае числом сгенерированных и обработанных случайных чисел: первый - 228, второй - в четыре раза больше.
На многопроцессорной архитектуре каждый из процессоров независимо генерирует статистику для множества из п/р пар. Так как генерация статистик происходит параллельно на каждом процессоре, то фактически не требуется межпроцессорного взаимодействия. И только лишь десять пар от каждого процессора аккумулируются - пересылаются в один узел, чем, однако, можно пренебречь. Ключевым моментом для данного теста является только оптимизация вычислений на узле, что позволяет оценивать вычислительные возможности системы по работе с вещественными числами.
Для приоритетного определения коммуникационных показателей системы с массовым параллелизмом используются три оставшихся теста, в основе которых - алгоритмы численных методов на решетке. Основная идея реализации этих алгоритмов, в частности, для теста MG заключается в том, что на процессорах строится логическая модель трехмерной решетки. Это предполагает создание подобластей, в узлах которых параллельно проис ходят вычисления. Однако при этом важное значение имеет вычисление граничных условий для каждой подобласти, что требует интенсивного взаимодействия между процессорами. Кроме, того, не менее существенным моментом, влияющим на эффективность реализации теста, является репликация данных при переходе вычислительного процесса на новые слои решетки, что также определяется эффективностью реализации межпроцессорного взаимодействия.
Результаты последних оценок суперкомпьютерных платформ можно найти на WWW-сервере NASwww.nas.nasa.gov/NAS/NPB. Анализ этих данных показывает, что даже самая быстродействующая система VPP500 по соотношению цена/производительность уступает или сравнима с намного более дешевым сервером DEC 8400, суперкомпьютером SGIPowerChallenge или RS/6000 SP.
1.8МЕТОДИКА ОЦЕНКИ КОНФИГУРАЦИЙ WEB
Тестовая методика оценки конфигураций Web - WebSTONE - представляет собой одно из первых средств оценки эффективности оборудования и программного обеспечения при работе с протоколом HTTP.
По своему функциональному назначению WWW во многом напоминает NFS, для оценки эффективности которой существует тест LADDIS. Но адаптация этого теста к конкретной архитектуре часто оказывается весьма проблематичной. Тест WebSTONE более точно отражает специфику работы с глобальными сетями с многократными переключениями, исправлением ошибок, переадресациями и т.п. Данный тест способен моделировать разнородную среду, в которой работают одновременно множество клиентов, порождающих разнообразных потомков, способных запрашивать информацию от серверов.
Предусмотрены четыре смеси, моделирующие различные конфигурации подключения Web-сервера. Первая смесь - общий набор, использующийся для моделирования подключения к сетичерез модем. Файлы данной смеси содержат небольшие, обычно текстовые страницы размером не более 20 Кбайт, для передачи которых по модему со скоростью 14,4 Кбит/с требуется не очень много времени. Вторая смесь применяется для моделирования работы клиентов локальной сети. Размер файлов в данной смеси колеблется от 1 до 100 Кбайт. Третий тестовый набор представляет собой массив информации мультимедиа, использующий для своей обработки все ресурсы тестируемой системы. Файлы этого набора - MPEGи Quicklime, звуковые клипы и большие графические файлы. Размер таких файлов изменяется от 20 Кбайт до нескольких мегабайт. В четвертой смеси объединены первый и третий наборы.
Главными показателями WebSTONE являются пропускная способность, измеряемая в байтах в секунду, и латентность - время, необходимое для выполнения Запроса. Кроме того, WebSTONE содержит информацию о количестве страниц в минуту, среднем числе соединений и другую информацию, позволяющую провести более точную оценку качества конфигурации и выявить ее узкие места. Пропускная способность измеряется как для всей системы в целом, так и по каждому клиенту в отдельности; в обоих случаях она усредняется за все время проведения тестирования. Различают два типа латентности: время соединения и время запроса. Первое показывает продолжительность установки соединения, а второе - временные затраты на непосредственную передачу данных.
В WebSTONE включена также оценка по закону Литтла (LittleLaw), показывающая, сколько времени затрачивается сервером на выполнение полезной работы по обработке запроса, а не на действия типа коррекции ошибок или вспомогательные операции. В идеальном случае этот показатель прямо пропорционален числу клиентских процессов. Если сервер Web оказывается загружен сверх нормы, происходит массированный выброс ошибочных сообщений, свидетельствующих о том, что запросы клиента не могут быть обработаны в течение отпущенного им временного интервала. Фактически показатель дает представление об уровне максимальной загрузки для конкретного сервера.
WebSTONE достаточно просто настраивается для получения оценок следующих параметров работы сервера: среднее и максимальное время соединения; среднее и максимальное время отклика; пропускная способность; количество обработанных страниц; число открытых файлов.