Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.39 Mб
Скачать

3.Оценка производительности компьютеров

Производительность компьютеров складывается из многих факторов, из которых главные:

  • Быстродействие центрального процессора;

  • Эффективность компилятора;

  • Быстродействие подсистемы памяти.

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

Наиболее важным является быстродействие центрального процессора. Оно зависит в основном от трех параметров:

- частоты синхронизации (тактовой частоты);

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

- количества команд, необходимых для решения задачи;

и все они, так или иначе, связаны друг с другом и влияют друг на друга.

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

Осознав важность и даже необходимость этого подхода, крупнейшие производители компьютерного оборудования учредили в 1988г. бесприбыльную корпорацию SPEC (Standard Performance Evaluation Corporation или System Performance Evaluation Cooperative) – консорциум по оценке производительности компьютеров, который специально занимается разработкой наборов тестов для оценки производительности компьютеров. Тестовые задачи SPEC поставляются в виде пакетов программ в исходном коде и являются основой для оценки производительности систем в условиях интенсивной вычислительной нагрузки.

Первый пакет SPEC был разработан в 1992 году (SPEC CPU92) и показали себя очень хорошо. В дальнейшем пакет был усовершенствован с учетом новых типов процессоров и нового программного обеспечения, и в 2000 году был выпущен пакет SPEC CPU2000, а в 2006 году – пакет SPEC CPU2006.

Задачи SPEC CPU2006 подразделяются на две подгруппы, каждая из которых предназначена для оценки своего типа производительности интенсивного вычислительного кода:

  • Набор задач CINT2006, измеряющий производительность при обработке целых чисел. Этот тест состоит из 12 задач, написанных на языках СИ и СИ++ и выбранных из различных прикладных областей теории цепей, разработки логических схем, упаковки текстовых файлов, интерпретатора языка ЛИСП, электронных таблиц и компиляции программ;

  • Набор задач CFP2006, измеряющий производительность при обработке вещественных чисел (чисел с плавающей запятой). Этот набор состоит из 17 приложений, написанных на языках C, C++, Fortran, также выбранных из различных прикладных областей следующего типа: разработка аналоговых схем, моделирование методом Монте-Карло, квантовая химия, оптика, радиотехника, квантовая физика, астрофизика, прогноз погоды, и другие научные и инженерные задачи.

Таким образом, тестовый пакет SPEC CPU2006 предусматривает возможность получения двух фундаментальных оценок: SPEC int2006 и SPEC fp2006. Для каждой из этих оценок предусмотрены две метрики производительности системы. Первая из них – метрика скорости (speed), определяет производительность системы при однозадачном режиме работы, а вторая – метрика пропускной способности (rate), отражает, какое количество задач способна решить система в определенный, фиксированный промежуток времени.

Наконец, каждая из этих метрик может измеряться в двух различных вариантах компиляции кода, которые получили название базового (base) и пикового (peak) вариантов.

Таким образом, тестовый пакет SPEC CPU2006 предлагает возможность измерения до 8 различных метрик производительности системы, которые отображены в таблице III.1.

Таблица III.1.

Название метрики

Набор задач

Тип запуска

Тип оптимизации

SPEC int2006

CINT 2006

speed

peak

SPEC int_base2006

CINT 2006

speed

base

SPEC int_rate2006

CINT 2006

rate

peak

SPEC int_rate_base2006

CINT 2006

rate

base

SPEC fp2006

CFP 2006

speed

peak

SPEC fp_base2006

CFP 2006

speed

base

SPEC fp_rate2006

CFP 2006

rate

peak

SPEC fp_rate_base2006

CFP 2006

rate

base

Отметим, что полное время работы тестов для получения базовых метрик SPEC int2006 и SPEC fp2006, на компьютере Sun ''Ultra Enterprise'' составило примерно 12 дней.

При определении производительности суперкомпьютеров, которые, в основном, используются для научно-технических расчетов, широко применяются так называемые «Ливерпульские циклы» - LINPACK. Они представляют собой тестовые пакеты, состоящие из наборов фрагментов Фортран-программ, каждый из которых взят из реальных программных систем, эксплуатируемых в Ливерморской национальной лаборатории им. Лоуренса (США). Обычно, при проведении испытаний используется либо малый набор из 14 циклов, либо большой набор, состоящий из 24 циклов.

По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса, все более важной становится возможность справедливого сравнения компьютерных систем между собой. С целью разработки сравнительной оценки компьютеров по производительности обработки транзакций была также создана специальная бесприбыльная организация TPC (Transaction Processing Performance Council), которая разработала такие наборы тестов как: TPC-A, TPC-B, TPC-C, TPC-D, TPC-E и др.

(Транзакция - Transactionесть одно входное сообщение, передаваемое в систему, или из нее, безотносительно того, передается ли оно целиком или собирается в ходе диалога. Входное сообщение отражает некоторое событие в «реальном мире». В компьютерной индустрии термин транзакция может означать почти любой вид взаимодействия или обмена информацией: обработка запроса, запрос, запись файла измерений и т.п.

Однако в мире бизнеса «транзакция» имеет вполне определенный смысл: коммерческий обмен товарами, услугами или деньгами. Наиболее характерными примерами систем обработки транзакций являются системы управления учетом системы резервирования авиабилетов и банковские системы).

Можно также упомянуть о тестовых пакетах для тестирования компьютеров при специфических условиях работы.

    1. ZD Business Winston 2001 1.02 – для офисных приложений.

    2. ZD Content Creation Winston 2002 1.0 – для мультимедийных приложений.

    3. Si Soft Sandra Standard 2002 1.8.59 – для тестирования подсистем памяти.

    4. ZD Win Bench 99 2.0 – для тестирования дисковых подсистем, обработки 2D-графики.

    5. Mad Onion 3D Mark 2001 – при обработке 3D-графики.

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

MIPS (Millions Instructions per Second) – миллион команд в секунду.

Поскольку MIPS – представляет собой количество инструкций (команд), выполняемых в единицу времени, то более производительные компьютеры должны иметь более высокий рейтинг MIPS. Эта единица проста и понятна пользователю но:

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

- MIPS даже на одном компьютере меняется от программы к программе;

- MIPS может меняться по отношению к производительности в противоположную сторону.

Классическим примером этого последнего случая является рейтинг MIPS для компьютера, в состав которого входит сопроцессор, предназначенный для операций с числами с плавающей точкой (с вещественными числами). Дело в том, что, поскольку, в общем случае, на каждую команду с плавающей точкой требуется большее количество тактов синхронизации, чем на целочисленную команду, то программы, используя сопроцессор плавающей точки, выполняются за меньшее время, однако имеют меньший рейтинг MIPS, так как выполняют за единицу времени меньшее число команд.

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

MFLOPS (Millions Floating-point Operation per Second) – миллион операций в секунду, с числами, представленными в формате с плавающей запятой (вещественными числами).

При решении научно-технических задач, в которых существенно используется арифметика с плавающей запятой, производительность всегда старались оценивать в MFLOPS. Как единица измерения MFLOPS предназначена для оценки производительности только операций с плавающей запятой и, поэтому, не применима вне этой ограниченной области. Например, программы компиляторов имеют рейтинг MFLOPS близкий к нулю, вне зависимости от того, насколько быстр компьютер, поскольку компиляторы редко используют арифметику с плавающей запятой. Ясно, что рейтинг MFLOPS зависит от компьютера и от программы. Эта единица более безобидна, чем MIPS. Она базируется на количестве выполняемых операций, а не команд. По мнению многих программистов, одна и та же программа, работающая на разных компьютерах, будет выполнять различное число команд, но одно и то же количество операций с плавающей запятой.

Однако и с этой единицей не все гладко. Например, рейтинг MFLOPS меняется не только на смеси целочисленных команд и операций с плавающей запятой, но и на смеси быстрых и медленных операций с плавающей запятой. Например, программа только с операциями сложения будет иметь более высокий рейтинг, чем программа, в которой будут содержаться только операции деления.

Однако рейтинг по MFLOPS очень широко используется при сравнении компьютеров, используемых главным образом для научно-технических приложений, поскольку подавляющее количество вычислительных операций в этой области производится с вещественными числами. А для того, чтобы выровнять времена выполнения операций различного рода, вводятся так называемые нормализованные операции с плавающей запятой, и эта нормализация широко используется при проведении контрольных испытаний на тестовых пакетах «Ливерморские циклы» (LINPACK), с целью сравнения между собой суперкомпьютеров.

Для наглядности, в таблице 3.1 приведены соотношения между некоторыми реальными и нормализованными операциями с плавающей запятой, которыми пользуются авторы «Ливерпульских циклов» для вычисления рейтингов MFLOPS.

Таблица 3.1

Реальные операции с плавающей запятой

Нормализованные операции с

плавающей запятой

Сложение, вычитание, сравнение, умножение

1

Деление, квадратный корень

4

Экспонента, синус, …

8