Самостоятельная работа №7 по предмету: Архитектура компьютера Абдухабибов. Л самарканд 2022
Download 476.73 Kb.
|
Л7
Методики оценкиПрофессиональный подход заключается использование критериев, систем или методик оценки, отвечающих определенным стандартам и правилам. Во-первых, это должны быть общепризнанные методики, во-вторых, они должны максимально полно и всесторонне оценивать вычислительные системы, в-третьих, соответствовать задаче пользователя. Предлагаемые методики должны быть доступны для независимой и/или самостоятельной экспертизы. При оценке результатов тестирования необходимо четко понимать, для чего используется и что измеряет каждый конкретный тест. Наиболее общая характеристика - оценка производительности процессора. Однако и при этом следует учитывать специфику предполагаемого использования вычислительных систем: научные вычисления, как правило, связаны с интенсивными вычислениями над вещественными числами - коммерческие приложения более критичны к производительности работы с целочисленной арифметикой и обработкой транзакций базы данных. Совершенно другие характеристики требуются при оценке графических приложений, отражающей не только вычислительные мощности, но и параметры самой графической системы. Еще более сложные проблемы появились при необходимости оценок параллельных систем, в частности 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% , что подтверждает возможность их применения для широкого круга вычислительных систем. LINPACK - магическое слово, используемое практически всеми производителями, обозначает набор программ на языке программирования Фортран, предназначенных для решения систем линейных алгебраических уравнений. Важность этого тестового набора, так же как и "Ливерморских циклов", определяется практической значимостью и применимостью этих алгоритмов для решения реальных задач. Результаты тестирования различных систем на тестах LINPACK определяются и публикуются Арагонской Национальной лабораторией США при непосредственном участии Дж. Донгарры. В основе используемых в LINPACK алгоритмов лежит метод декомпозиции - исходная матрица представляется в виде произведения двух матриц стандартной структуры, к которому собственно и применяется алгоритм нахождения решения. Важной особенность системы LINPACK - ее структурированность. В частности, выделяется базовый уровень системы, предназначенный для реализации элементарных операций над векторами, куда входят подпрограммы умножения векторов на скаляр и сложения векторов, а также скалярного произведения векторов. Этот уровень называется BLAS (Basic Linear Algebra Subprograms). Все операции выполняются над вещественными числами двойной точности, а результат измерения выражается в MFLOPS. Сегодня используются два уровня теста: LINPACK DP - для исходной матрицы размером 100 х 100 и LINPACK TPP - для матрицы размером 1000 х 1000. При этом следует обратить внимание, что для многих современных вычислительных систем первый уровень этого теста может дать заведомо превосходящие возможности системы - результаты за счет того, что исходная матрица размером 100х100 может быть целиком размещена в кэш-памяти. Использование теста LINPACK TPP пока снимает эту проблему, однако даже и этот тест для систем с массовым параллелизмом не может быть использован. Для таких систем рекомендуется использовать тест LINPACK HPC (Highly Parallel Computing), который позволяет полностью загрузить вычислительные ресурсы MPP-системы, увеличивая размеры матрицы. Вообще говоря, при этом следует иметь в виду, что для параллельных систем (SMP и MPP) используются специальные варианты этого теста, обеспечивающие распараллеливание вычислений. Download 476.73 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling