Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
12.02.2015
Размер:
1.18 Mб
Скачать
  1. Анализ производительности универсальных вс

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

Основа для измерения производительности УВС - время. Но необходимо помнить, что существует, так называемое "чистое", процессорное время, определяемое как период работы собственно процессора при выполнении того или иного задания, и время ответа, включающее выполнение операций ввода/вывода, работу ОС и т.д. Понятно, что для мультипрограммного режима оценка временных характеристик еще более затруднена - в период выполнения операции ввода/вывода, заданной тестовым заданием, процессор может выполнять другую работу, что может и не учитываться при оценке производительности с помощью данного теста. Для оценки времени работы процессора может быть использована также интегральная оценка, основанная на среднем количестве тактов синхронизации на одну команду. Большинство современных процессоров используют специальные генераторы тактовых импульсов, задающие такты синхронизации или частоту работы процессора. (Период синхронизации определяется как обратная величина к такту синхронизации.) Поэтому процессорное время может быть определено как общее количество тактов синхронизации при выполнении той или иной программы, умноженное на длительность такта. Однако для комплексного анализа различных систем необходимо учитывать еще одну характеристику - количество выполняемых команд, которое на разных системах может быть разное для одного и того же теста. Архитектура процессора определяет набор его команд, который теснейшим образом связан с технологий определяющей в частности, и такт синхронизации, и поэтому "слепая" погоня за увеличением такта синхронизации может привести, например, к увеличению числа выполняемых команд или среднему количеству тактов синхронизации на одну команду.

Использование астрономического или реального времени работы программы является более надежной и объективной оценкой и уж более чем "простой" манипуляцией с тактовой частой без комплексного анализа всех факторов, влияющих на работу системы. Одна из наиболее распространенных единиц измерения производительности процессоров MIPS (Million Instruction Per Second), которая может быть вычислена как отношение числа команд в программе ко времени ее выполнения. При всей кажущейся простоте данной метрики - чем больше MIPS, тем быстрее выполняется программа - ее использование связано с рядом проблем. Во-первых, для различных программ MIPS может принимать различные значения. Во-вторых, вследствие того, что процессоры имеют различный набор команд, эта метрика затрудняет сравнение процессоров. Но еще большие затруднения связаны с использованием сопроцессоров плавающей арифметики и оптимизирующих компиляторов. Так, применение сопроцессора увеличивает производительность системы, однако рейтинг MIPS может уменьшиться - время выполнения команд вещественной арифметики значительно больше, и за единицу времени может быть выполнено меньшее число команд, нежели при выполнении соответствующих этим командам подпрограмм. С понятием MIPS связывалась ранее и другая метрика, основанная на производительности вычислительной системы DEC VAX 11/780. Производительность этого компьютера определялась как 1 MIPS, а производительность вновь тестируемых систем вычислялась в MIPS - относительных единицах к системе DEC VAX 11/780. Следует отметить, что существует еще одно определение MIPS, которое используется пользователями и производителями техники компании IBM, когда за точку отсчета выбирается одна из моделей RS/6000. Следует отметить, что эта метрика все же мало распространена и практически не приводится ее соотношение с DEC MIPS, которое может быть приблизительно определено следующим образом: 1 IBM MIPS равен 1.6 DEC MIPS.

Еще одна традиционная метрика, но в большей степени характеризующая использование вычислительной техники в научно-технических приложениях - MFLOPS (миллион арифметических операций над числами с плавающей точкой, выполненных в секунду). Эта метрика предназначена для оценки быстродействия работы только плавающей арифметики, поэтому ее использование, например, при работе компиляторов не корректно - при этом даже для высокопроизводительной системы значение MFLOPS может быть просто нулевым. Метрика MFLOPS, так же как и MIPS, зависит от конкретной архитектуры и программы, однако, в меньшей степени, она базируется на количестве выполненных операций, а не команд. Однако и эта зависимость может быть весьма существенной, особенно для некоторых современных RISC-архитектур. Так, например, использование совмещенной операции умножения и сложения векторов в процессоре POWER2 имеет существенно влияние именно на общее число операций. Другая проблема, связанная с метрикой MFLOPS, заключается в том, что можно выделить "быстрые", например сложение, вычитание, и "медленные", например деление, операции, а в результате на разной командной смеси рейтинг MFLOPS окажется разным.

Для работы с метриками MIPS и MFLOPS чаще всего используются системы тестов Dhrystone, LINPACK и так называемые "Ливерморские циклы". Тестовая смесь Dhrystone состоит из 100 команд: 53 - операторы присвоения, 32 - управления и 15 - вызовы функций. Результатом работы этого очень короткого теста является число Dhrystone в секунду. При этом на системе DEC VAX 11/780 результат составлял 1757 Dhrystone, и поэтому считалось, что 1 DEC MIPS равен 1757 Dhrystone. Сейчас Dhrystone практически не применяется, и его результаты не предлагаются фирмами производителями. Больше повезло тестам LINPACK и "Ливерморским циклам", которые можно отнести к долгожителям - этот тестовый набор появился в середине 60-х годов и состоит из фрагментов программ на языке Фортран, имеющих реальное хождение в Ливерморской Национальной лаборатории им. Лоуренса в США. Считается, что "Ливерморские циклы" - это типичный набор программ для решения численных задач. В этих фрагментах используются различные вычислительные алгоритмы: сеточные, последовательные, волновые, что существенно с точки зрения соответствия вычислительных и аппаратных структур. Соответствие этих структур друг другу должно обеспечить максимальную эффективность вычислений. При проведении тестовых испытаний может использоваться либо набор из 14 циклов (малый набор), либо набор их 24 циклов (большой набор). При использовании векторных и параллельных машин важным фактором, определяющим эффективность работы для конкретного приложения, является коэффициент векторизуемости алгоритма. На "Ливерморских циклах" этот коэффициент составляет от 0 до 100% , что подтверждает возможность их применения для широкого круга вычислительных систем.

Наряду с этим, ввиду сложности проблемы анализа производительности ВС, ведущие фирмы производители компьютерных систем в 1988 году создали некоммерческую корпорацию SPEC - Strandart Performance Evaluation Corporatiuon, призванную дать пользователям объективную оценку производительности вычислительных систем. SPEC является разработчиком стандартных тестовых систем, проводит тестирование и публикует результаты в специальном бюллетене "The SPEC Newsletter", который размещается сегодня на WWW сервере www.SPEC.com.

Основным набором SPEC в период его создания был тестовый набор SPECInt89 для оценки производительности процессора на операциях с целыми числами и SPECfp89 С для оценки производительности процессора при работе с плавающей арифметикой.

Дальнейшее развитие тестового набора SPECint92 состоит из шести программ на языке Си, соответствующих различным прикладным областям: теория цепей, Лисп-интерпретатор, схемотехника, упаковка текстовых файлов, электронные таблицы и компиляция программ. Тестовый набор SPECfp92 состоит их 14 программ (12 программ написаны на языке программирования Фортран, а 2 - на Си). Это следующие предметные области: проектирование аналоговых схем, применение метода Монте-Карло, квантовая физика и химия, оптика, робототехника, астрофизика, прогнозирование погоды и др. Этот тестовый набор использует как одинарную (5 программ), так и двойную (9 программ) точность.

В настоящее время используется система тестов SPECint2006, SPECfp2006.

Предлагаемые независимой компанией AIM Technology (1981) методики оценок и тестовые смеси предназначены для работы с UNIX-системами и тестируют практически все компоненты вычислительной системы. Разработанные методики позволяют получить более комплексную, чем тесты SPEC, оценку тестируемой архитектуры и основаны на сочетании нескольких критериев: пиковая производительность (выбор рабочей станции); максимальная загрузка (выбор сервера); обработка UNIX-утилит (выбор станции для рабочего места разработчика программного обеспечения); пропускная способность; цена системы.

Соседние файлы в папке лабораторные