Справочник от Автор24
Поделись лекцией за скидку на Автор24

Методы оценки производительности ВС

  • 👀 729 просмотров
  • 📌 660 загрузок
Выбери формат для чтения
Статья: Методы оценки производительности ВС
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Методы оценки производительности ВС» pdf
6. Методы оценки производительности ВС Способы измерения «комплексной» производительности: 1. Использование смеси команд 2. Аналитический метод 3. Программное моделирование 4. Использование тестовых программ  представительных  испытательных  синтетических 1. Одним из более простых методов является оценка производительности ВС с помощью так называемой смеси команд. Этот метод даѐт лучшую оценку по сравнению с оценкой НП, представленной выше, однако тоже характеризует только аппаратную часть системы. Суть метода состоит в том, что для выбранного класса прикладных задач, определяется типовая смесь команд, которая формируется путѐм анализа частоты встречаемости различных команд при выполнении программ, отображающих решаемые задачи. На основе такого анализа отдельным командам или совокупностям однотипных команд присваиваются весовые коэффициенты. Например, для научнотехнических задач определена смесь, названная по имени автора «смесь Гибсона» и, которая выделяет следующие виды команд и их весовые коэффициенты см. таблицу: Таблица. 5.1 Виды команд и их весовые коэффициенты в смеси Гибсона Операция Кi Сложение, вычитание с фиксированной запятой 0.33 Умножение с фиксированной запятой 0,006 Деление с фиксированной запятой 0,002 Сложение, вычитание с плавающей запятой 0,073 Умножение с плавающей запятой 0,04 Деление с плавающей запятой 0,016 Команды безусловной передачи управления (Jump) 0,175 Команды условной передачи управления (Jxx) 0,065 где, К – коэффициент встречаемости, при использовании смеси команд производительность системы  вычисляется следующим образом: L K   i , где i1 L K  i  ti i1 37 ti - продолжительность выполнения i-ой команды (например, в машинных циклах) L - число команд (видов команд) в смеси Причем, здесь нет учета конфликтов между памятью и процессором. 2. Одним из самых распространѐнных методов оценки производительности систем в научных кругах является использование аналитических моделей. Метод основан на представлении ВС чаще всего в терминах теории массового обслуживания (ТМО). Математические модели обычно отображают поведение системы в целом с заранее предусмотренными существенными ограничениями. И даже с такими ограничениями не всегда удаѐтся построить математическую модель системы. В этом случае прибегают к еѐ декомпозиции, создавая математические модели отдельных частей системы с последующим их объединением. Основная проблема, связанная с построением моделей, состоит в том, что каждая такая модель должна разрабатываться индивидуально для очень узкого класса систем, а иногда и только для конкретной системы. К недостаткам этого метода также относятся следующие: 1. Невозможность учитывать функционирование системного программного обеспечения. 2. Невозможность учитывать случайные внешние и внутренние прерывания вычислительного процесса. 3. Трудности изменения набора входных параметров моделей. 4. Сложность оценки адекватности аналитических моделей реальной системе. 5. Сложность выбора математического аппарата и высокая трудоѐмкость построения самой модели. Следует обратить внимание также на то, что высокопроизводительные системы в настоящее время строятся с обеспечением свойства масштабируемости, учитывать некоторые элементы которого в аналитических моделях практически невозможно. Следующие три метода основаны на использовании тестовых программ. Первый из них реализуется с помощью так называемых представительных программ. Такие программы строятся на основе использования типичных для данной области применения систем либо последовательностей команд, либо частей программы, либо целых программ. Представительные программы создаются чаще всего на языке ассемблера, но иногда и на языке высокого уровня, и с их помощью оценивается системная производительность, правда не всегда с учѐтом реального потока обрабатываемых данных. Второй метод использует так называемые испытательные программы, которые специально создаются для адекватного отображения реального режима функционирования вычислительной системы. Испытание ВС 38 происходит как в режиме трансляции так и исполнения испытательной программы. Обычно такой метод применяется для оценки производительности специализированных ВС. Третий метод основан на применении тестовых программ, которые являются комбинацией представительных и испытательных программ, и которые получили наименование синтетических программ. Преимущество специальной совокупности синтетических программ состоит в том, что она может быть использована для сравнительной оценки ВС одного класса, производимых различными фирмами. Подробно этот вопрос будет рассмотрен ниже. Наконец нельзя не выделить ещѐ один метод оценки производительности ВС, который по своим возможностям является одним из самых эффективных методов. Это метод программного моделирования. Принципиально с его помощью могут быть учтены все параметры ВС, нюансы еѐ функционирования, при этом, конечно, надо учитывать стоимость создания такой модели. Главным преимуществом программного моделирования является возможность его использования ещѐ на стадии разработки ВС. 7. Система тестов SPEC. Единицы измерения производительности ВС SPEC (Standard Performance Evaluation Corporation) – это корпорация, созданная в 1988 году, объединяющая ведущих производителей вычислительной техники и программного обеспечения. Основной целью этой организации является разработка и поддержка стандартизованного набора специально подобранных тестовых программ для оценки производительности новейших поколений высокопроизводительных компьютеров [http:/www.parallel.ru./computers/benchmarks/spec.html] [C7]. Рассмотрим более подробно применение тестовых программ, для оценки производительности ВС. Однако прежде чем перейти к существу проблемы сделаем отступление для определения единиц измерения производительности, которыми пользуются создатели тестов. Сначала обратим внимание на следующее. Номинальная производительность аппаратных средств процессора в основном зависит от двух параметров – такта (или частоты) синхронизации и среднего количества тактов, необходимых для выполнения команды. Частота синхронизации определяется технологией аппаратных средств, а среднее количество тактов на команду определяется функциональной организацией процессора и архитектурой системы команд. Комплексная производительность характеризуется ещѐ одним параметром – количеством выполняемых команд в единицу времени, которое определяется архитектурой системы команд, количеством и типом команд, принадлежащих исполняемой прикладной программе, и технологией компиляторов. Для измерения времени работы процессора на данной программе используется специальный параметр – время процессора (центрального процессора) – CPU time. 39 Одной из довольно часто встречаемых единиц измерения НП процессора является MIPS – миллион команд в секунду. Однако, использование MIPS в качестве показателя для сравнения различных вычислительных систем наталкивается на три проблемы. Первая – MIPS зависит от набора команд процессора, что затрудняет сравнение ВС с процессорами, имеющими разные системы команд. Вторая – MIPS даже одного и того же процессора меняется от одной прикладной программы к другой. Третья – MIPS может меняться по отношению к производительности в противоположную сторону в зависимости от функциональной организации процессора. Например, у процессора, имеющего в своѐм составе сопроцессор с плавающей точкой, в среднем на каждую команду требуется большее количество тактов синхронизации, чем у процессора только с целочисленной арифметикой. Поэтому последние выполняют большее количество команд в единицу времени и, следовательно, имеют более высокий рейтинг MIPS, хотя общее время выполнения прикладной задачи значительно больше, чем у первых. Подобное явление наблюдается и при использовании оптимизирующих компиляторов, когда в результате оптимизации сокращается количество выполняемых в программе команд, рейтинг MIPS уменьшается, а производительность увеличивается. При решении научно-технических задач, в которых интенсивно используется арифметика с плавающей точкой, производительность процессора оценивается в MFLOPS - миллион элементарных арифметических операций над числами с плавающей точкой в секунду. Как единица измерения MFLOPS предназначена для оценки производительности только операций с плавающей точкой, и поэтому не применима вне этой ограниченной области. По мнению многих программистов, одна и та же программа, исполняемая на разных машинах, будет реализовываться через разное количество команд, но число операций с плавающей точкой будет неизменным. Однако следует обратить внимание на следующее. Во-первых, наборы операций с плавающей точкой не совместимы на различных процессорах. Во-вторых, рейтинг MFLOPS меняется на смеси быстрых и медленных операций с плавающей точкой. Например, программа со 100% операций сложения будет иметь более высокий рейтинг, чем программа со 100% операций деления. Решение обеих проблем заключается в том, чтобы взять «каноническое» или «нормализованное» число операций с плавающей точкой из исходного текста программы и затем поделить его на время выполнения. Например, авторы тестового пакета «Ливерморские циклы» [http://www.citforum.ru/hardware/svk/glava3.shtml] вычисляют для программы количество нормализованных операций с плавающей точкой в соответствии со следующими соотношениями (см. табл.1.8.1). 40 Таблица 7.1. Количество нормализованных операций с ПТ тестового пакета "Ливерморские циклы" Реальные операции с плавающей Нормализованные операции с точкой плавающей точкой Сложение, вычитание, сравнение, 1 умножение Деление, квадратный корень 4 Экспонента, синус,... 5 Таким образом, рейтинг реальных MFLOPS отличается от рейтинга нормализованнных MFLOPS, который часто приводится в литературе по суперкомпьютерам. Теперь вернѐмся к системе тестов SPEC. Корпорация SPEC выполняет две основные функции: 1. Разрабатывает тестовые пакеты. 2. Собирает и публикует официальные результаты тестов. Разработчики тестов отказались от использования стандартных абсолютных единиц типа MFLOPS или MIPS. Вместо этого используются собственные относительные единицы SPEC. Результаты «нормализуются» по отношению к аналогичным результатам на так называемой «эталонной» машине. Это рабочая станция Sun Ultra 5/10 (процессор UltraSPARC 11 с тактовой частотой 300MHz). На данной машине прогон всех тестов CPU 2000 (смотри ниже) занимает примерно двое суток.  Также SPEC предлагает и такие основные продукты:  CPU 2000 - тесты вычислительной производительности (ранее использовался пакет тестов CPU95);  JVM98 - виртуальный тест Java-машины;  HPC96 - тесты для высокопроизводительных систем: приложение сейсмической обработки SPECseis96 (Seismic), приложение вычислительной химии SPECchem96 (GAMESS) и приложение моделирования климата SPECclimate (MM5). CPU 2000 - это тестовый пакет, разработанный подразделением Open Systems Group (OPG) корпорации SPEC для оценки производительности микропроцессоров и вычислительных систем. Этот пакет состоит из двух групп тестов – CINT 2000 для оценки производительности на целочисленных операциях и CFP 2000 для оценки производительности на операциях с плавающей точкой. Буква «C» в названиях тестов означает, что тесты являются компонентными, в отличие от тестов производительности системы в целом. Обе группы тестов ориентированы на оценку работы микропроцессоров, подсистемы кэш-памяти и оперативной памяти, а также компиляторов. В пакет CINT 2000 входят следующие тесты: 11 тестовых 41 приложений, написанных на языке С, и один тест (252eon) на С++ (см. табл.1.8.2). Таблица 7.2. Набор тестов пакета CINT 2000 Название Краткое описание задачи 164.gzip Утилита сжатия данных (gzip) 174.vpr Приложение для расчѐта FPGA-кристаллов 176.gcc Компилятор С 181.mcf Приложение для решения задачи потока минимальной стоимости в сети 186.crafty Программа для игры в шахматы 197.parser Синтаксический разбор для естественного языка 252.eon Трассировка лучей 253.perlbmk Интерпретатор языка Perl 254.gap Вычислительная задача из теории групп 255.vortex Объектно-ориентированная база данных 256.bzip2 Утилита сжатия данных (bzip2) 300.twolf Задача позиционирования и маршрутизации В набор CFP 2000 входят 14 тестовых приложений, из которых 6 написано на языке Fortran 77, 4 на языке Fortran 90 и 4 на С++ (см. табл.1.8.3). Более подробное описание этих задач доступны на веб-сайте SPEC. Результаты CPU 2000 представляются в четырѐх вариантах (см. табл.1.8.4). Таблица 7.3 Набор тестов пакета CFP 2000 Название Краткое описание задачи 168.wupwise Задача квантовой хромодинамики 171.swim Гидродинамическая задача моделирования для "мелкой" воды 172.mgrid Многосеточная решалка для трѐхмерного потенциального поля 173.applu Решение параболических/элептических дифференциальных уравнений 177.mesa Трѐхмерная графическая библиотека (Mesa3D) 178.galgel Гидродинамическая задача: анализ колебательной нестабильности 179.art Моделирование нейронной сети 183.equake Моделирование землетрясения методом конечных элементов 187.facerec Задача распознавания лиц на графических изображениях 188.ammp Задача вычислительной химии 189.lucas Задача теории чисел (проверка простоты) 191.fma3d Моделирование crush-тестов методом конечных элементов 200.sixtract Моделирование ускорителя элементарных частиц 01.apsi Моделирование ускорителя элементарных частиц 42 Таблица 7.4. Метрики тестового пакета CPU 2000 Максимальная Стандартная Метрика оптимизация оптимизация Время выполнения одной SPECxx 2000 SPECxx base 2000 итерации теста Количество итераций за SPECxx rate 2000 SPECxx base rate 2000 фиксированное время Здесь хх – это или int, или fp, «base» – это метрика, которая соответствует компиляции тестовых программ с некоторыми «базовыми» опциями оптимизации, одинаковыми для всех тестов в тестовом пакете и такими же, что используются и при компиляции пользовательских программ. Метрики, в которых отсутствует «base», являются необязательными и соответствуют наилучшей оптимизации, которую производитель может обеспечить для каждого конкретного теста. Метрика типа «rate» позволяет оценить суммарный объѐм вычислений, который компьютер может выполнить за определѐнное время. То есть, например, на SMP – системе позволяется запустить несколько копий одного теста и в качестве результата выдать суммарное количество итераций, выполненное всеми процессорами за определѐнное фиксированное время. Метрики, в которых отсутствует «rate», оценивают просто «скорость» вычислений. Показатели SPEC вычисляются следующим образом: Например, показатель SPECint 2000 определяется так: SPECint 2000 = RefTime / MeasuredTime, где RefTime – время исполнения теста на эталонной машине, MeasuredTime – время исполнения на тестируемой машине. Таким образом, смысл этого показателя – в относительном ускорении по сравнению с эталонной машиной. Показатель SPECint rate 2000 вычисляется следующим образом: SPECint rate 2000 = N  (RefTime / MeasuredTime)  (606024 / RefJobTime), где N – число запущенных копий (итераций) теста, 606024 – это число секунд в сутках, а величина RefJobTime принята равной 9600. В качестве примера можно привести показатели SPEC для однопроцессорных систем, являющихся лидерами на 25 мая 2000 года (см. табл. 1.8.5). Таблица 7.5. Показатели SPECint однопроцессорных систем SPECint SPECint Система Процессор 2000 base 2000 Compaq AlphaServer DS20 Alpha 21264A/667MHz 444 424 Compaq AlphaServer ES40 Alpha 21264A/667MHz 433 413 Intel VC820 Pentium 3/1GHz 410 407 Лидерами по показателю SPECfp 2000 являются следующие однопроцессорные системы (см. табл.1.8.6). Таблица 7.6. Показатели SPECint однопроцессорных систем SPECfp SPECfp Система Процессор 2000 base 2000 Compaq AlphaServer DS20E Alpha 21264A/667MHz 577 514 Compaq AlphaServer ES40 Alpha 21264A/667MHz 562 500 Compaq AlphaServer DS20 Alpha 21264/500MHz 422 383 Системы на базе Pentium 3/1GHz по производительности на операциях с плавающей точкой занимают только 10-е место с показателями 284/273. Таким образом, лидером по тестам CPU 2000 является процессор Alpha21264A/667MHz. Лидерами по показателям «rate» одновременно на целочисленных операциях и операциях с плавающей точкой являются следующие многопроцессорные системы (см. табл. 1.8.7). Таблица 7.7. Показатели класса «rate» многопроцессорных систем Число CFP 2000 CINT 2000 Система Процессор ЦП (rate) (rate) HP 9000 Model N4000 PA-8600/552MHz 8 23.0 32.7 HP 9000 Model N4000 PA-8600/552MHz 4 14.4 17.0 SGI 2200 R12000/400 MHz 4 13.2 15.4
«Методы оценки производительности ВС» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot