Рефераты. Тест на быстродействие микропроцессора p> Способы измерения производительности
Пиковая (техническая) производительность представляют собой теоретический максимум быстродействия компьютера при идеальных условиях. Данный максимум определяется как число вычислительных операций, выполняемых в единицу времени всеми имеющимися в процессоре обрабатывающими логико- арифметическими устройствами. Предельное быстродействие достигается при обработке бесконечной последовательности не связанных между собой и не конфликтующих при доступе в память команд (т.е. когда результат любой операции не зависит от действий, выполненных другими командами). При этом предполагается, что все операнды выбираются из внутрикристальной кэш-памяти данных, а команды – из кэш-памяти команд. Разумеется, подобная ситуация чисто гипотетическая, и на практике ни одна система не в состоянии работать сколь-нибудь длительное время с пиковой производительностью, хотя и может приближаться к этой величине. Например, на текстах Linpack при больших размерностях обрабатываемых матриц (1000(1000) почти все компьютеры демонстрируют производительность в диапазоне от 0,8 до 0,95 от пикового значения.
Пиковая производительность является единственной по-настоящему объективным параметром (для его определения необходимо знать несколько параметров процессора) и совершенно не зависит от типа выполняемой программы. Речь идёт о тактовой частоте процессора, которая для подавляющего большинства современных компьютеров определяет темп формирования результатов на выходе арифметического конвейера, и числе арифметических конвейеров. Не трудно установить соответствие между единицами измерения тактовой частоты и производительности процессора. Очевидно, что 1 Мгц соответствует 1 MFLOPS или 1 MIPS-пиковой производительности одного конвейера, в зависимости от того, какой тип операций рассматривается – с плавающей или с фиксированной точкой. Не следует забывать также о разрядности обрабатываемых чисел, чтобы избежать не корректного сравнения производительности для 32- 64- разрядных данных. Но в любом случае правила вычисления пиковой производительности, при всей их внешней простоте, могут оказаться чрезвычайно полезными при обсуждении достоинств компьютеров. Чтобы определить пиковую производительность машин, надо умножить тактовую частоту на количество параллельно выполняемых операций. Например, арифметическое устройство
Pentium каждый такт может формировать один результат полноразрядной (64 бит) операций с плавающей точкой или два результата 32-х разрядных целочисленных операций. Следовательно, для Pentium/90 пиковая производительность равна 90 MFLOPS при выполнении вычислений с плавающей точкой и 180 MIPS при целочисленной 32-х разрядной обработке.
Особенно удобно использовать показатели предельного быстродействия для сравнения возможностей процессоров в первом приближении. Американские специалисты по контролю за экспортом вооружений при оценке уровня производительности компьютеров используют показатель основной теоретической производительности (CTP), измеряемой в Mtops – миллионах теоретических операций в секунду. CTP зависит только от аппаратных средств компьютера
(тактовой частоты, набора функциональных устройств, пропускной способности и набора внутренних шин, длины разрядной сетки и так далее).


Реальная производительность
При выполнении реальных прикладных программ эффективная (реальная) производительность микропроцессора может весьма существенно (до нескольких раз) быть меньше пиковой. Это объясняется тем, что современные высокопроизводительные микропроцессоры имеют весьма сложную архитектуру
(суперконвейерная и суперскалярная обработка, многоуровневая система памяти и так далее). Характеристики их функционирования на уровне внутренних устройств существенно зависят от программы и обрабатываемых данных. Поэтому не возможно с необходимой точностью оценить производительность только на основании тактовой частоты их работы, числа затрачиваемых на выполнение одной команды тактов процессора и числа устройств обработки.
Для оценки производительности различных вычислительных средств в мировой практике наибольшее распространение получило использование наборов характерных для той или иной области применения вычислительной техники задач. Время выполнения одной каждой из задач набора составляет основу для расчёта индекса производительности исследуемой вычислительной установки.
Индекс производительности является относительной оценкой, несущей информацию о том, на сколько быстрее или медленнее исследуемая вычислительная установка выполняет подобные задачи по сравнению с некоторой широко распространенной ЭВМ (последнюю часто называют базовой или эталонной).


Способы измерения реальной производительности
При оценке производительности на тестах приходится решать три проблемы, связанные с анализом результатов контрольного тестирования производительности:

. отделение показателей, которым можно доверять безоговорочно, от тех, которые должны восприниматься с известной долей настороженности

(проблема достоверности оценок);

. выбор конторольно-оценочных тестов, наиболее точно характеризующих производительность при обработке типовых задач пользователя

(проблема адекватности оценок);

. правильное истолкование результатов тестирования производительности, особенно если они выражены в довольно экзотических единицах типа

MWIPS, Drystoones/s и т.д. (проблема интерпретации).
Первую группу тестов измерения производительности составляют тесты производителей, разрабатываемые компаниями-изготовителями компьютеров для
«внутреннего» применения – оценивая качества собственных продуктов. Главная особенность этих тестов заключается в том, что они ориентированы на сравнение ограниченного множества однотипных компьютеров, часто относящихся к одному семейству.
Пользовательские тесты создаются крупными компаниями, специализирующимися на внедрение компьютерных технологий, или совместными усилиями групп пользователей, объединённых сходством решаемых задач. Эти средства предназначены для выбора компьютеров и ПО, наиболее подходящие под определённые прикладные задачи. В принципе такой подход позволяет получить наиболее точные оценки производительности для конкретного класса приложений, хотя и сопряжён со значительными усилиями пользователей по созданию тестовых программ и проведению испытаний компьютеров.
Сегодня наиболее распространенными являются наборы тестов компании SPEC
(Standard Performance Evolution Corporation) – SPEC (89, 92,95), которые и будут рассматриваться ниже
Пакет тестовых программ SPEC 89 включает в себя два тестовых набора – Cint
89, состоящий из четырёх программ с целочисленной обработкой, и Cfp 89, объединяющий шесть программ со значительным объемом информации над числами с плавающей точкой двойной точности.
Все десять модулей представляют собой достаточно сложные программы на языках C и FORTRAN с широким спектром решаемых задач – от оптимизации матриц булевой алгебры до моделирования замещения атомов в квантовой химии.


Пакет тестовых программ SPEC 92
SPEC 92 состоит из наборов тестовых пакетов Сint92 и Cfp92.
Пакет оценочных программ Cint92 предназначен для оценки производительности микропроцессоров при выполнении целочисленных операций, преимущественно в коммерческой области применения. В его состав входят 6 эталонных тестов, написанных на языке Си и представляющих собой задачу из теории сетей, интерпретатор языка Lisp, задачу логического проектирования, Unix – утилиту упаковки тестового файла размером 1 Мбайт , который 20 раз подвергается сжатию, операции со строками и столбцами электронной таблицы и компилятор языка Си.
Пакет оценочных программ Cfp92 предназначен для оценки производительности микропроцессоров на операциях с плавающей точкой, преимущественно в технической и научной областях.
В его состав входят 14 различных прикладных программ, две из которых написаны на языках Си и 12 – на языке Фортран. В пакет входят программы схемного проектирования, проектирования термодинамики ядерного реактора методом Monte-Carlo, задачи квантовой химии и физики, решение уравнения
Максвелла, преобразование координат, трассировка оптических лучей, задачи робототехники и нейросетей, моделирование человеческого уха, решение уравнения Навье-Стокса для определения параметра межгалактического газа, семь библиотечных функций обработки матриц (умножение, обращение и т.д.) и ряд других.
Пакет SPEC 92 имеет одно новшество. Речь идёт о характеристиках мультипрограммной обработки SPECrate, формируемых в рамках метода одной нагрузки. Суть последнего заключается в следующем: тестируемый компьютер выполняет задание, состоящее из множества копий одной программы, а показателем производительности многопроцессорной обработки служит количество копий, завершенных за определённый интервал времени. Для получения оценки SPECrate используются те же программы, что и для расчёта показателей SPECint92 и SPECfp92. Разница только в том, что тестовый модуль реализуется как несколько копий, образующих одно задание, а результатом измерений является нормированное общее время выполнения всех копий задания.
Подобной процедуре подвергается каждая из 20 тестовых программ, что позволяет получить шесть частных оценок SPECratio, для программ целочисленной обработки, и 14 – для программ обработки вещественных чисел.
Таким образом, SPECrateint 92 и SPECratfp 92 оценивают среднюю скорость выполнения задачи в многопроцессорном режиме работы системы. Кроме того, эти показатели позволяют получить представление о возможностях компилятора по организации параллельного мультизадачного кода, а также операционной системы – по эффективному динамическому распределению ресурсов системы (в частности, процессоров) между выполняемыми параллельными программами. Это делает оценки SPECrateint 92 и SPECratfp 92 особенно представительными для
SMP-систем коллективного пользования, работающих в пакетном режиме.
Сводные сведения о программах, входящих в SPEC 89 и SPEC 92, приведены ниже в таблице.

Перечень программ наборов SPEC89, SPEC92.
|Программа |Тест, язык, тип |
| |данных |
|Моделирование ПЛМ (PLA) |89+92, С, ФТ |
|Lisp – интерпретатор |89+92, С, ФТ |
|Формирование логических таблиц истинности |89+92, С, ФТ |
|Unix – утилита упаковки тестового файла размером 1Мбайт, |92, С, ФТ |
|который 20 раз подвергается сжатию | |
|Операция со строками и столбцами электронной таблицы |92, С, ФТ |
|Компилятор GNU, трансляция 19 программ на Си в |89+92, С, ФТ |
|оптимизированный код ассемблера | |
|Моделирование аналоговых цепей с высокой интенсивностью |89+92, Фортран, |
|обменов с памятью |ПТ, ДВ |
|Моделирование термодинамики ядерного реактора методом |89+92, Фортран, |
|Монте-Карло; содержит большое число ветвлений и коротких |ПТ, ДВ |
|циклов | |
|Задача квантовой химии для системы из 500 атомов |92, Фортран, ПТ, |
| |ДВ |
|Версия теста Mdijdp2 для одинарной точности |92, Фортран, ПТ, |
| |ОТ |
|Решение уравнений Максвелла |92, Фортран, ПТ, |
| |ДВ |
|Генерация сетки при моделировании процессов обтекания; |89+92, Фортран, |
|программа ориентирована на тестирование параллельных |ПТ, ДВ |
|систем | |
|Моделирование управления движением робота с использованием|92, С, ПТ |
|видеосистемы | |
|Решение сеточной задачи shallow – water для сетки 256х256 |92, Фортран, ПТ |
|Задача квантовой физики вычисления массы элементарных |92, Фортран, ПТ, |
|частиц с использованием метода Монте-Карло; хорошо |ДВ |
|векторизуется и ориентирована на тестирование параллельных| |
|систем | |
|Решение уравнение Навье-Стокса для определения параметра |92, Фортран, ПТ, |
|межгалактического газа; программа хорошо векторизуется и |ДВ |
|ориентирована на тестирование параллельных систем | |
|Семь библиотечных функций обработки матриц (умножение, |89+92, Фортран, |
|обращение и т.д.) |ПТ, ДВ |
|Моделирование процесса замещения атомов на сериях Гаусса; |89+92, Фортран, |
|программа плохо распараллеливается и содержит большой |ПТ, ДВ |
|объем ввода/вывода | |
|Синтетический тест, имитирующий различные алгоритмы |89, Фортран, ПТ, |
|умножения матриц |ДВ |
|Моделирование уха человека |92, С, ПТ, ДВ |

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.