Методы оценки вычислительных характеристик задач предметной области и поддерживающих их аппаратных платформ. Федеральное агентство по образованию. Объем жёсткого диска и скорость работы жёсткого диска

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

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

В основе используемых в настоящее время методов оценки и сравнения производительности вычислительных систем лежит время.

"Ливерморские циклы" представляют собой типичный набор фрагментов программ на языке FORTRAN . [ , ] В этих программах реализованы разные вычислительные алгоритмы:

  • сеточные;
  • волновые;
  • последовательные.

Их выбор был основан на богатом опыте создания суперкомпьютеров и проведения сложнейших научных и инженерных расчетов Ливерморской национальной лаборатории им. Э. Лоуренса (Lawrence Livermore National Laboratory, LLNL ) Министерства энергетики США

При тестировании используется либо малый набор (14 циклов), либо большой набор (24 цикла ).

Коэффициент распараллеливания применяемых алгоритмов лежит в диапазоне от 0 до 1. Это позволяет использовать "Ливерморские циклы" для оценки производительности вычислительных систем, имеющих различную архитектуру. Тест практически не используется.

Тесты LINPACK представляют собой программы я решения систем линейных алгебраических уравнений большой размерности. Они написаны на языке программирования FORTRAN [

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

Выделим важнейшие факторы, влияющие на быстродействие процессора.

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

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

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

Первоначально для количественной оценки производительности процессоров применялась единица измерения MIPS (Mega Instruction Per Second), соответствовавшая количеству миллионов выполняемых инструкций (команд) за секунду. Естественно, изготовители микропроцессоров старались ориентироваться на самые быстрые команды. Понятно, что подобный показатель не слишком удачен. Для измерения производительности при выполнении вычислений с плавающей запятой (точкой) чуть позже была предложена единица FLOPS (Floating point Operations Per Second), но она по определению узкоспециальная, так как в некоторых системах операции с плавающей запятой просто не используются.

Другой аналогичный показатель быстродействия процессора - время выполнения коротких (быстрых) операций. Для примера в таблице 3.1 представлены показатели быстродействия нескольких 8-разрядных и 16-разрядных процессоров. В настоящее время этот показатель практически не используется, как и MIPS.

Время выполнения команд - важный, но далеко не единственный фактор, определяющий быстродействие. Большое значение имеет также структура системы команд процессора. Например, некоторым процессорам для выполнения какой-то операции понадобится одна команда, а другим процессорам - несколько команд. Какие-то процессоры имеют систему команд, позволяющую быстро решать задачи одного типа, а какие-то - задачи другого типа. Важны и методы адресации, разрешенные в данном процессоре, и наличие сегментирования памяти, и способы взаимодействия процессора с устройствами ввода/вывода и т.д.


Существенно влияет на быстродействие системы в целом и то, как процессор «общается» с памятью команд и памятью данных, применяется ли совмещение выборки команд из памяти с выполнением ранее выбранных команд.

Производительность является самой важной характеристикой компьютера. Производительность – это способность компьютера выполнять определенные задачи за определенные промежутки времени.

Компьютер, выполняющий тот же объем работы за меньшее время является более быстрым. Время выполнения любой программы измеряется в секундах. Часто производительность измеряется как скорость появления некоторого числа событий в секунду, так что меньшее время подразумевает большую производительность.

Однако в зависимости от того, что мы считаем, время может быть определено различными способами. Наиболее простой способ определения времени называется астрономическим временем, временем ответа (response time), временем выполнения (execution time) или прошедшим временем (elapsed time). Это задержка выполнения задания, включающая буквально все: работу процессора, обращения к диску, обращения к памяти, ввод/вывод и накладные расходы операционной системы. Однако при работе в мультипрограммном режиме во время ожидания ввода/вывода для одной программы, процессор может выполнять другую программу, и система не обязательно будет минимизировать время выполнения данной конкретной программы.

Для измерения времени работы процессора на данной программе используется специальный параметр - время ЦП (CPU time), которое не включает время ожидания ввода/вывода или время выполнения другой программы. Очевидно, что время ответа, видимое пользователем, является полным временем выполнения программы, а не временем ЦП. Время ЦП может далее делиться на время, потраченное ЦП непосредственно на выполнение программы пользователя и называемое пользовательским временем ЦП, и время ЦП, затраченное операционной системой на выполнение заданий, затребованных программой, и называемое системным временем ЦП.

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

В большинстве современных процессоров скорость протекания процессов взаимодействия внутренних функциональных устройств определяется не естественными задержками в этих устройствах, а задается единой системой синхросигналов, вырабатываемых некоторым генератором тактовых импульсов, как правило, работающим с постоянной скоростью. Дискретные временные события называются тактами синхронизации (clock ticks), просто тактами (ticks), периодами синхронизации (clock periods), циклами (cycles) или циклами синхронизации (clock cycles). Разработчики компьютеров обычно говорят о периоде синхронизации, который определяется либо своей длительностью (например, 10 наносекунд), либо частотой (например, 100 МГц). Длительность периода синхронизации есть величина, обратная к частоте синхронизации.

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

Важной характеристикой, часто публикуемой в отчетах по процессорам, является среднее количество тактов синхронизации на одну команду - CPI (clock cycles per instruction). При известном количестве выполняемых команд в программе этот параметр позволяет быстро оценить время ЦП для данной программы.

Таким образом, производительность ЦП зависит от трех параметров: такта (или частоты) синхронизации, среднего количества тактов на команду и количества выполняемых команд. Невозможно изменить ни один из указанных параметров изолированно от другого, поскольку базовые технологии, используемые для изменения каждого из этих параметров, взаимосвязаны: частота синхронизации определяется технологией аппаратных средств и функциональной организацией процессора; среднее количество тактов на команду зависит от функциональной организации и архитектуры системы команд; а количество выполняемых в программе команд определяется архитектурой системы команд и технологией компиляторов. Когда сравниваются две машины, необходимо рассматривать все три компоненты, чтобы понять относительную производительность.

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

1. Обзор методов и средств оценки производительности вычислительных систем. Постановка задачи .

1.1 Показатели оценки производительности вычислительных систем

MIPS

Одной из альтернативных единиц измерения производительности процессора (по отношению к времени выполнения) является MIPS - (миллион команд в секунду). Имеется несколько различных вариантов интерпретации определения MIPS.

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

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

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

Другое определение MIPS связано с очень популярным когда-то компьютером VAX 11/780 компании DEC. Именно этот компьютер был принят в качестве эталона для сравнения производительности различных машин. Считалось, что производительность VAX 11/780 равна 1MIPS (одному миллиону команд в секунду).

В то время широкое распространение получил синтетический тест D hrystone, который позволял оценивать эффективность процессоров и компиляторов с языка C для программ нечисловой обработки. Он представлял собой тестовую смесь, 53% которой составляли операторы присваивания, 32% - операторы управления и 15% - вызовы функций. Это был очень короткий тест: общее число команд равнялось 100. Скорость выполнения программы из этих 100 команд измерялась в Dhrystone в секунду. Быстродействие VAX 11/780 на этом синтетическом тесте составляло 1757 Dhrystone в секунду. Таким образом 1 MIPS равен 1757 Dhrystone в секунду .

Третье определение MIPS связано с IBM RS/6000 MIPS. Дело в том, что ряд производителей и пользователей (последователей фирмы IBM) предпочитают сравнивать производительность своих компьютеров с производительностью современных компьютеров IBM, а не со старой машиной компании DEC. Соотношение между VAX MIPS и RS/6000 MIPS никогда широко не публиковались, но 1 RS/6000 MIPS примерно равен 1.6 VAX 11/780 MIPS .

MFLOPS

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

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

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

1.2. Стандартные тесты измерения производительности

В этом параграфе рассматриваются наиболее часто встречающиеся стандартные контpольно-оценочные тесты - Whetstone, Dhrystone, Linpack . Linpack, и Whetstone характеризуют обработку вещественных чисел, а Dhrystone - целочисленную обpаботку. Более современные тесты SPEC являются, по сути, множеством пакетов для получения комплекса оценок производительности пакетной обработки и потому описаны отдельно.

1.2.1. Whetstone (общее описание)

В 1976 году Х.Курноу (H.J.Curnow) и Б.Вичманн (B.A.Wichmann) из Британской национальной физической лаборатории (National Physical Laboratory) представили комплект программ для измерения роизводительности, написанных на языке Алгол-60. Это был первый случай публикации контрольно-оценочных тестов, тем более примечательный, что пакетWhetstone составлен из синтетических тестов, разработанных с использованием статистики распределения инструкций промежуточного уровня (Whetstone-инструкций) компилятораWhetstone Algol (от которого и пошло название этого измерительного пакета), собранной на основе большого количества вычислительных задач. Более подробное описание данного тестового пакета приведено в следующей главе.

1.2.2. Dhrystone (общее описание)

Тесты Dhrystone основаны на типовом распределении языковых конструкций. В состав Dhrystoneвключено 12 модулей, представляющих различные типовые режимы обработки. Тесты Dhrystoneпредназначены для оценки производительности относящейся к функционированию конкретных видов системного и прикладного ПО (операционные системы, компиляторы, редакторы и т.д.). Более подробное описание данного тестового пакета приведено в следующей главе.

1.2.3. Linpack (общее описание)

Linpack представляет собой набор функций линейной алгебры. Программы пакета выполняют обработку двумерных матриц, размер которых является основным параметром тестирования (чаще всего применяются матрицы 100х100 или 1000х1000): чем больше элементов в матрице, тем выше параллелизм операций при тестировании производительности. Особую значимость этот параметр имеет для компьютеров с векторной архитектурой (в этом случае он характеризует длину обрабатываемых векторов), однако было бы большой ошибкой не считаться с ним при тестировании систем других классов. Дело в том, что практически все современные компьютеры шиpоко используют средства параллельной обработки (конвейеризованная и/или суперскалярная арифметика, VLIW-архитектура процессора, MPP-организация системы и т. д.), поэтому оценка производительности при разной глубине программного параллелизма весьма показательна для любой современной системы.

Интерпретация результатов:

  • Оценка Linpack характеризует главным образом производительность обработки чисел с плавающей точкой; при задании большого размера матриц (1000х1000) влияние целочисленных операций и команд управления (операторы типа IF) на эту оценку невелико.
  • Наибольший вес в результирующей оценке производительности имеет оператор вида Y[i]=Y[i]+a*X[i], представленный тестовой процедурой SAXPY/DAXPY (SAXPY - одиночная точность; DAXPY - двойная точность). По данным Вейкера, эта процедура занимает свыше 75% времени выполнения всех тестов Linpack, а Донгарра приводит еще большее значение - 90%. Следовательно, Linpack-оценка показательна не для всего множества операций с плавающей точкой, а в основном для команд сложения и умножения.
  • Малый объем исполнительного кода Linpack (примерно 4,5 Кбайт) и незначительное число операций перехода практически не создают сколько-нибудь значимой нагрузки на средства буферизации команд в процессоре: большая часть модулей пакета целиком размещается в кэше инструкций и не требует динамической подкачки команд в процессе выполнения (например, самая “весомая” процедура SAXPY/DAXPY представлена всего 234 байтами кода). Однако нагрузка на тракт взаимодействия процессора с памятью достаточно высока: тесты одинарной точности с матрицами 100х100 обрабатывают 40 Кбайт данных, а двойной точности - 80 Кбайт. Конечно, для большинства современных компьютеров весь объем данных Linpack, скорее всего, будет локализован во вторичной кэш-памяти, и тем не менее результаты выполнения теста, особенно для матриц размера 1000х1000, в большей степени соответствуют понятию “системная производительность пакетной обработки”, чем оценки, полученные с помощьюWhetstoneи Dhrystoneи отражающие преимущественно производительность процессора.
  • Отсутствие в тестах Linpack обращений к библиотечным функциям исключает возможность оптимизации результатов поставщиками компьютеров и позволяет трактовать полученные оценки почти как “чистую” характеристику производительности системы.
  • Методика Linpack требует обязательной публикации названия компилятора, выполнявшего трансляцию исходного кода (во время этой процедуры запрещается любое ручное вмешательство в действия компилятора, не разрешается даже убирать комментарии из текста программ), и операционной системы, под управлением которой производилось тестирование. Отсутствие этих данных, а также сведений об установленных атрибутах тестирования (Single/Double, Rolled/Unrolled, Coded BLAS/Fortran BLAS) и размере матриц должно служить предупреждением о возможном нарушении стандартных условий измерения производительности по методике Linpack.

1.3 Основные тестовые пакеты корпорации SPEC

1.3.1. SPECint92, SPECfp92

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

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

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

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

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

Набор тестов CFP92, измеряющий производительность процессора при обработке чисел с плавающей точкой, состоит из 14 программ, также выбранных из различных прикладных областей: разработка аналоговых схем, моделирование методом Монте-Карло, квантовая химия, оптика, робототехника, квантовая физика, астрофизика, прогноз погоды и другие научные и инженерные задачи. Две программы из этого набора написаны на языке Си, а остальные 12 - на Фортране. В пяти программах используется одинарная, а в остальных - двойная точность.

Результаты прогона каждого индивидуального теста из этих двух наборов выражаются отношением времени выполнения одной копии теста на тестируемой машине к времени ее выполнения на эталонной машине. В качестве эталонной машины используется VAX 11/780. SPEC публикует результаты прогона каждого отдельного теста, а также две составные оценки: SPECint92 - среднее геометрическое 6 результатов индивидуальных тестов из набора CINT92 и SPECfp92 - среднее геометрическое 14 результатов индивидуальных тестов из набора CFP92.

Следует отметить, что результаты тестирования на наборах CINT92 и CFT92 сильно зависят от качества применяемых оптимизирующих компиляторов. Для более точного выяснения возможностей аппаратных средств с середины 1994 года SPEC ввел две дополнительные составные оценки: SPECbase_int92 и SPECbase_fp92, которые накладывает определенные ограничения на используемые компиляторы поставщиками компьютеров

при проведении испытаний.

1.3.2. SPECrate_int92, SPECrate_fp92

Составные оценки SPECint92 и SPECfp92 достаточно хорошо характеризуют производительность процессора и системы памяти при работе в однозадачном режиме, но они совершенно не подходят для оценки производительности многопроцессорных и однопроцессорных систем, работающих в многозадачном режиме. Для этого нужна оценка пропускной способности системы или ее емкости, показывающая количество заданий, которое система может выполнить в течение заданного интервала времени. Пропускная способность системы определяется прежде всего количеством ресурсов (числом процессоров, емкостью оперативной и кэш-памяти, пропускной способностью шины), которые система может предоставить в распоряжение пользователя в каждый момент времени. Именно такую оценку, названную SPECrate и заменившую ранее применявшуюся оценку SPECthruput89, SPEC предложила в качестве единицы измерения производительности многопроцессорных систем .

При этом для измерения выбран метод "однородной нагрузки" (homogenous capacity metod), заключающийся в том, что одновременно выполняются несколько копий одной и той же тестовой программы. Результаты этих тестов показывают, как много задач конкретного типа могут быть выполнены в указанное время, а их средние геометрические значения (SPECrate_int92 - на наборе тестов, измеряющих производительность целочисленных операций и SPECrate_fp92 - на наборе тестов, измеряющих производительность на операциях с плавающей точкой) наглядно отражают пропускную способность однопроцессорных и многопроцессорных конфигураций при работе в многозадачном режиме в системах коллективного пользования. В качестве тестовых программ для проведения испытаний на пропускную способность выбраны те же наборы CINT92 и CFT92.

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

1.3.3. TPC

По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса все более важной становится возможность справедливого сравнения систем между собой. С этой целью в 1988 году был создан Совет по оценке производительности обработки транзакций (TPC - Transaction Processing Performance Council), который представляет собой бесприбыльную организацию. Любая компания или организация может стать членом TPC после уплаты соответствующего взноса. На сегодня членами TPC являются практически все крупнейшие производители аппаратных платформ и программного обеспечения для автоматизации коммерческой деятельности. К настоящему времени TPC создал три тестовых пакета для обеспечения объективного сравнения различных систем обработки транзакций и планирует создать новые оценочные тесты .

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

До 1988 года отсутствовало общее согласие относительно методики оценки систем обработки транзакций. Широко использовались два тестовых пакета: Дебет/Кредит и TPI. Однако эти пакеты не позволяли осуществлять адекватную оценку систем: они не имели полных, основательных спецификаций; не давали объективных, проверяемых результатов; не содержали полного описания конфигурации системы, ее стоимости и методологии тестирования; не обеспечивали объективного, беспристрастного сравнения одной системы с другой.

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

TPC публикует спецификации тестовых пакетов, которые регулируют вопросы, связанные с работой тестов. Эти спецификации гарантируют, что покупатели имеют объективные значения данных для сравнения производительности различных вычислительных систем. Хотя реализация спецификаций оценочных тестов оставлена на усмотрение индивидуальных спонсоров тестов, сами спонсоры, объявляя результаты TPC, должны представить TPC детальные отчеты, документирующие соответствие всем спецификациям. Эти отчеты, в частности, включают конфигурацию системы, методику калькуляции цены, диаграммы значений производительности и документацию, показывающую, что тест соответствует требованиям атомарности, согласованности, изолированности и долговечности (ACID - atomicity, consistency, isolation, and durability), которые гарантируют, что все транзакции из оценочного теста обрабатываются должным образом.

TPC определяет и управляет форматом нескольких тестов для оценки производительности OLTP (On-Line Transaction Processing), включая тесты TPC-A, TPC-B и TPC-C. Как уже отмечалось, создание оценочного теста является ответственностью организации, выполняющей этот тест. TPC требует только, чтобы при создании оценочного теста выполнялись определенные условия. Хотя упомянутые тесты TPC не являются характерными тестами для оценки производительности баз данных, системы реляционных баз данных являются ключевыми компонентами любой системы обработки транзакций.

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

1.3.3.1. Тест TPC-A

Выпущенный в ноябре 1989 года, тест TCP-A предназначался для оценки производительности систем, работающих в среде интенсивно обновляемых баз данных, типичной для приложений интерактивной обработки данных (OLDP - on-line data processing). Такая среда характеризуется:

  • множеством терминальных сессий в режиме on-line
  • значительным объемом ввода/вывода при работе с дисками
  • умеренным временем работы системы и приложений
  • целостностью транзакций.

Практически при выполнении теста эмулируется типичная вычислительная среда банка, включающая сервер базы данных, терминалы и линии связи. Этот тест использует одиночные, простые транзакции, интенсивно обновляющие базу данных. Одиночная транзакция (подобная обычной операции обновления счета клиента) обеспечивает простую, повторяемую единицу работы, которая проверяет ключевые компоненты системы OLTP.

Тест TPC-A определяет пропускную способность системы, измеряемую количеством транзакций в секунду (tps A), которые система может выполнить при работе с множеством терминалов. Хотя спецификация TPC-A не определяет точное количество терминалов, компании-поставщики систем должны увеличивать или уменьшать их количество в соответствии с нормой пропускной способности. Тест TPC-A может выполняться в локальных или региональных вычислительных сетях. В этом случае его результаты определяют либо "локальную" пропускную способность(TPC-A-local Throughput), либо "региональную" пропускную способность (TPC-A wide Throughput). Очевидно, эти два тестовых показателя нельзя непосредственно сравнивать. Спецификация теста TPC-A требует, чтобы все компании полностью раскрывали детали работы своего теста, свою конфигурацию системы и ее стоимость (с учетом пятилетнего срока обслуживания). Это позволяет определить нормализованную стоимость системы ($/tpsA).

1.3.3.2. Тест TPC- B

В августе 1990 года TPC одобрил TPC-B, интенсивный тест базы данных, характеризующийся следующими элементами:

  • значительный объем дискового ввода/вывода
  • умеренное время работы системы и приложений
  • целостность транзакций.

TPC-B измеряет пропускную способность системы в транзакциях в секунду (tpsB). Поскольку имеются существенные различия между двумя тестами TPC-A и TPC-B (в частности, в TPC-B не выполняется эмуляция терминалов и линий связи), их нельзя прямо сравнивать.

1.3.3.2. Тест TPC-С

Тестовый пакет TPC-C моделирует прикладную задачу обработки заказов. Он моделирует достаточно сложную систему OLTP, которая должна управлять приемом заказов, управлением учетом товаров и распространением товаров и услуг. Тест TPC-C осуществляет тестирование всех основных компонентов системы: терминалов, линий связи, ЦП, дискового в/в и базы данных.

TPC-C требует, чтобы выполнялись пять типов транзакций:

  • новый заказ, вводимый с помощью сложной экранной формы
  • простое обновление базы данных, связанное с платежом
  • простое обновление базы данных, связанное с поставкой
  • справка о состоянии заказов

справка по учету товаров

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

База данных TPC-C основана на модели оптового поставщика с удаленными районами и товарными складами. База данных содержит девять таблиц: товарные склады, район, покупатель, заказ, порядок заказов, новый заказ, статья счета, складские запасы и история.

Обычно публикуются два результата. Один из них, tpm-C, представляет пиковую скорость выполнения транзакций (выражается в количестве транзакций в минуту). Второй результат, $/tpm-C, представляет собой нормализованную стоимость системы. Стоимость системы включает все аппаратные средства и программное обеспечение, используемые в тесте, плюс стоимость обслуживания в течение пяти лет.

Синтетические ядра и натуральные тесты не могут служить в качестве настоящих тестовых пакетов для оценки систем: они не могут моделировать точно среду конечного пользователя и оценивать производительность всех относящихся к делу компонентов системы. Без такой гарантии результаты измерения производительности остаются под вопросом.

1.4. Современные базовые конфигурации компьютеров

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

Производительность

Ограничивать производительность ПК "сверху", в принципе, нет никакого смысла: "если можно в 100 раз быстрее, чем у всех, но за те же деньги, то почему бы и нет?". А вот нижний предел обусловлен, прежде всего, требованиями наиболее распространенного в данный момент в пользовательской среде программного обеспечения. К примеру, стандартом де-факто для офисного компьютера на данный момент является ОС семейства Microsoft Windows не младше Windows 98SE, то, соответственно, офисный компьютер, на котором эта операционная система работать не сможет, вряд ли сможет удовлетворить покупателя, даже если будет стоить 100 рублей. При этом подразумевается, что пользователь получит возможность не только наблюдать за песочными часами, но и производить осмысленные полезные действия.

Надежность

Современные технологии в области компьютерного "железа" идут вперед десятимильными шагами, но при составлении конфигурации ПК, предназначенного для широкого круга пользователей, включать в нее продукты, которым от роду пару недель, вряд ли разумно. Да, это некое устройство может казаться верхом совершенства. Да, пока что отзывы самые положительные, и никто не заметил никаких проблем. В конце концов, да, может быть, их и не будет вообще! А может, и будут... Это попросту неизвестно. Обратите внимание на продукцию ведущих западных брэндов - HP, Dell, IBM. Поначалу может показаться, что их компьютерный модельный ряд несколько консервативен. Однако именно поэтому пользователи, покупающие их компьютеры, могут быть уверены, что установленные там комплектующие не окажутся через полгода "выброшенными на свалку истории", не останутся без технической поддержки и обновлений драйверов и т. д.

Модернизируемость

К сожалению, поддержка аппаратной конфигурацией компьютера дальнейшего наращивания мощности путем замены части (а не всех) основных составляющих по-прежнему остается уделом довольно дорогих моделей. Т.е. за возможность последующего апгрейда платить необходимо сразу при покупке. Соответственно, наиболее "модернизируемыми" являются модели среднего и высшего ценового диапазона. Однако минимальной способностью к апгрейду любой, даже самый дешевый ПК должен обладать. Хотя бы, к примеру, допускать установку процессора с в полтора-два раза более высокой тактовой частотой и удвоение (желательно - утроение) объема памяти.

В таблице 1.1. приведено описание современных компьютерных конфигураций с указанием, в каких областях жизни они применяются.

Таблица 1.1.

Описание современных компьютерных конфигураций

Минимальная конфигурация, которая формируется по принципу "главное - цена, со всем остальным будем как-то мириться". Соответственно, используется материнская плата даже без слота AGP, т. е. возможности дальнейшего апгрейда системы ограничены фактически только установкой более мощного CPU и наращиванием объема памяти. В то же время такой ПК вполне позволяет выполнять ограниченный набор офисных приложений - текстовый редактор, электронная таблица, Internet-броузер и почтовый клиент. При увеличении объема оперативной памяти работа становится более комфортной, но в большинстве случаев можно обойтись и без этого. Windows 2000 (и тем более Windows XP) такой машине "категорически противопоказаны", впрочем, как и офисные пакеты последнего поколения.

Office middle-end

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

Наличие 128 Мбайт ОЗУ, в принципе, позволяет при желании установить на такой компьютер даже Windows 2000, хотя рекомендовать эту ОС для обычного офисного ПК пока что вряд ли разумно. Оптимальным путем увеличения производительности является установка большего объема памяти - процессора с частотой 800 МГц, работающего на 100-мегагерцевой шине, вряд ли станет "не хватать" для офисной работы в течение еще, как минимум, года-полутора.

В категорию офисных эти конфигурации попали исключительно по той причине, что вводить разделение ПК более чем на две группы нецелесообразно. Секретаря, работающего с электронными документами и при этом испытывающего острую необходимость в Pentium 4 1.5 ГГц, представить сложно. То есть если первые две конфигурации носили чисто офисный характер - документооборот, бухгалтерия и работа в Сети, то "офисный high-end" - это рабочее место некоего "продвинутого пользователя", который тоже находится в офисе, но занимается не только составлением и просмотром документов, но и версткой, дизайном, работой со звуком или видео либо, к примеру, написанием несложных программ "для внутреннего использования". В этом случае мощный процессор и большой объем оперативной памяти будет востребован. К тому же эти ПК имеют прекрасные показатели модернизируемости - поддержка современных высокочастотных CPU и DDR-памяти (в случае платформы AMD) позволит "достраивать" эти системы без кардинальной переделки еще довольно продолжительное время.

Entertainment low-end

Часто компьютер используется не только (а нередко даже и не столько) для работы: домашние ПК также весьма распространены. Но требования, предъявляемые к этим двум разновидностям одного и того же компьютера, совершенно разные. Для пользователя такой системы основным ее предназначением являются игры и развлечения, что накладывает определенные ограничения "снизу" на аппаратную конфигурацию - звук AC"97 и слабый по производительности 3D-акселератор в домашнем компьютере уже совершенно неуместны. Entertainment low - если финансовые ограничения очень жесткие, то он позволит за скромную сумму получить устройство, с которого пользователь начнет путешествие в мир компьютерных развлечений. К тому же возможности дальнейшего апгрейда этой системы достаточно широки, что при наличии финансов, желания или необходимости позволит постепенно наращивать ее мощность, не прибегая к большим одноразовым денежным затратам.

Entertainment middle-end

Достаточно мощная конфигурация, позволяющая особо не задумываться при покупке каждой новой игры над вопросами: "А хватит ли ей мощности моего ПК? А не превратится ли процесс игры в созерцание слайд-шоу?". Кроме того, наличие аудиокарты, поддерживающей пятиканальный звук, даст возможность организовать на базе этого ПК домашний кинотеатр или любительскую звуковую студию. В конфигурацию на базе процессора AMD Duron 1 ГГц установили материнскую плату на чипсете VIA Apollo KT266A с поддержкой DDR-памяти, даже, несмотря на то, что по результатам тестирования Duron в комбинации с PC2100 DDR существенного прироста производительности по сравнению с РС133 не наблюдается.Entertainment high-end

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

1.5. Вычисление рекурсивных функций

Рекурсия – процесс определения либо выражения функции, процедуры, языковой конструкции, решениязадачи через них самих.

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

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

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

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

Наиболее известной из полностью рекурсивных функций является функция Аккермана. Целесообразно проверить возможность использования этой функции при тестировании различных компьютерных конфигураций.

1.6. Постановка задачи

Исходя из общих требований, представленных в задании на дипломный проект, сформулируем более подробное описание разрабатываемого пакета тестовых программ.

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

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

2. Проектирование и разработка программного продукта

Разрабатывемый программный продукт содержит три тестовых программы: одна основная и две дополнительные. В качестве дополнительных, были выбраны стандартные тесты измерения производительности компьютеров: Whetstone и Dhrystone. Эти программы характеризуют обработку вещественных чисел и целочисленную обpаботку данных, соответственно. Основным тестом является программа, основанная на вычислении функции Аккермана.

2.1. Описание дополнительных тестов

2.1.1. Whetstone (описание процедуры)

Комплект тестовWhetstoneсостоит из нескольких модулей, имитирующих программную нагрузку в наиболее типичных режимах исполнения вычислительных задач (арифметика с плавающей точкой, операторы типа IF, вызовы функций и т.д.). Каждый модуль выполняется многократно, в соответствии с исходной статистикой Whetstone-инструкций (практически это реализуется с помощью заключения модулей в циклические конструкции с разным числом “оборотов” цикла), а производительность рассчитывается как отношение числа Whetstone-инстpукций к суммарному времени выполнения всех модулей пакета. Этот результат представляется в KWIPS (Kilo Whetstone Instructions Per Second) или в MWIPS (Mega Whetstone Instructions Per Second). Существенный плюс данных оценок состоит в том, что Whetstone-инструкции не привязаны к системе команд какого-либо компьютера, т. е. оценка производительности в MWIPS является моделенезависимой .

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

По приведенному выше описанию работы теста, была составлена общая схема программы Whetstone, изображенная на рисунке 2.1.

Рис.2.1. Общая схема программы Whetstone

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

  • вычисление элементов массива
  • вычисление элементов массива (массив задается как параметр функции)
  • операции ветвления (if – else)
  • целочисленная арифметика (опреции вычитания, сложения и умножения)
  • тригонометрические функции (sin, cos, atan)
  • вызов процедур, оперирующих с указателями
  • обработка массива ссылок
  • вызов стандартных функций (sqrt, log, exp)


схема алгоритма процедуры тестирования представлена на рисунке 2.2.


Рис. 2.2. С хема алгоритма процедуры тестирования


Интерпретация результатов

  • ПакетWhetstoneориентирован на оценку производительности обработки чисел с плавающей точкой: почти 70% времени выполнения приходится на “плавающую” арифметику и исполнение библиотечных математических функций.
  • Большое число обращений к библиотеке математических функций, заложенное в тесты Whetstone, требует особой осторожности при сравнении результатов, полученных для разных компьютеров: фирмы-изготовители имеют возможность оптимизировать оценку Whetstone, внося изменения в библиотеку.
  • Поскольку тестовые модулиWhetstoneпредставлены очень компактным исполнительным кодом, для современных процессоров они не позволяют оценить эффективность механизма динамической подкачки команд в кэш инструкций: любой модуль Whetstone целиком размещается в кэш-памяти даже самой малой емкости.
  • Особенностью рассматриваемых тестов является почти полное отсутствие локальных переменных. В результате оценкиWhetstoneв значительной степени зависят от эффективности функционирования ресурсов компьютера, обеспечивающих доступ к оперативной памяти и буфеpизацию данных в пpоцессоpе (включая количество регистров, емкость кэш-памяти данных и механизм ее замещения). Однако это же обстоятельство делает тестыWhetstoneпрактически нечувствительными к средствам повышения эффективности работы с локальными переменными.

2.1.2. Dhrystone (описание процедуры)

Описание алгоритма работы теста

Тесты Dhrystoneпредназначены для оценки производительности функционирования конкретных видов системного и прикладного ПО (операционные системы, компиляторы, редакторы и т.д.). Это наложило заметный отпечаток на структуру данных и исполнительного кода: в тестах Dhrystoneотсутствует обработка чисел с плавающей точкой, зато преобладают операции над другими типами данных (символы, строки, логические переменные, указатели и т. п.). Кроме того, по сравнению с тестами Whetstone уменьшено количество циклических конструкций, используются более простые вычислительные выражения, но возросло число операторов IF и вызовов процедур.

Тестовые процедуры Dhrystone объединены в один измерительный цикл, который содержит 103 оператора в C-версии. Этот глобальный цикл принят за единицу работы (один Dhrystone), а производительность измеряется в количестве измерительных циклов, выполненных за секунду (Dhrystones/s). Пpавда, в последнее вpемя пpи публикациях оценок Dhrystoneстали пpименяться и дpугие единицы измеpения - MIPS VAX. Такое отклонение от стандаpтных пpавил пpодиктовано двумя обстоятельствами: во-пеpвых, единицы Dhrystones/s выглядят слишком экзотично; во-втоpых, оценка в MIPS VAX по смыслу совпадает с условными единицами очень pаспpостpаненных тестов SPEC, характеризующих пpоизводительность компьютеpа относительно системы VAX 11/780 (напpимеp, 1,5 MIPS VAX означает, что тестиpуемая система pаботает в полтоpа pаза быстpее VAX 11/780) .

2.2. Разработка теста на базе функции Аккермана

2.2.1.Применение рекурсии для оценки производительности ВС

Рекурсия выражает характерное свойство объекта, которое заключается в том, что объект ссылается на самого себя. В программировании термином «рекурсия» описывают ситуацию, когда программа продолжает вызывать саму себя до тех пор, пока выполняется некоторое заданное условие. Для решения таких задач необходимо оценить эффективность работы вычислительной системы на которой решается данная задача при выполнении рекурсии. Ниже рассмотрены некоторые типичные ситуации использования рекурсивных алгоритмов и программ для решения реальных задач .

Факториал

Рассмотрим некоторую функцию, определенную следующим образом:

F(n) = 1 * 2 * 3 * ... * n, где n - заданное натуральное число. Такое произведение натуральных чисел от 1 до n называется в математике факториалом числа n и обозначается следующим образом: «n!». В общем случае значение «n!» определяется и для нулевого значения. Таким образом, полное определение факториала неотрицательного числа:

2. n! = 1 * 2 * 3 * ... * n, для n > 0

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

Действительно, нетрудно заметить, что:

4! = (1 * 2 * 3) * 4 = 3! * 4

Другими словами, для определения алгоритма вычисления факториала можно задать следующие соотношения:

n! = (n-1)! * n, для n > 0 (2.2)

Обратим внимание на выражение под номером 2.2. И в правой, и в левой частях выражения присутствует одна и та же вычисляемая функция! Чтобы вычислить факториал n, необходимо вычислить (n-1)!, для вычисления (n-1)! необходимо знать, чему равно (n-2)! и т.д.

Производительность компьютера или быстродействие – это скорость выполнения им операций. Производительность является комплексной величиной и напрямую зависит от комплектующих, из которых собран компьютер. Например, два компьютера при одинаковом , но при разных объемах будут иметь разную производительность. Компьютер с 16 Гб оперативной памяти будет производительней компьютера с 8 Гб оперативной памяти. При работе компьютер постоянно считывает и записывает данные в сверхбыструю оперативную память и чем ее больше, тем больше данных он сможет хранить в ней для своей текущей работы, без обращения к медленному жесткому диску.

Или другой пример: компьютер с быстрым SSD винчестером (жестким диском) будет производительней компьютера с обычным . SSD винчестер – это своего рода большая флешка, где скорость записи и считывания в разы быстрее скорости обыкновенного винчестера, за счет отсутствия движущихся частей и передовой технологии считывания/записи.

Так же и с центральным процессором PC: чем больше вычислительных ядер в нем и выше частота их работы, тем производительней будет компьютер.

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

Как узнать производительность компьютера

Есть много методик измерения производительности PC, но все они, так или иначе, вычисляют некое число или индекс производительности, который чем выше, тем быстрее компьютер. Существует достаточное количество программ, рассчитывающих производительность ПК, называемых бенчмарками (от англ. benchmark - «ориентир», «эталон»). Мы же воспользуемся штатным средством Windows, рассчитывающим индекс производительности.

Индекс производительности Windows

Чтобы узнать производительность вашего компьютера выполните следующее:

В течение некоторого времени компьютер будет проверять быстродействие отдельных компонентов, на основе чего выведет общую оценку ПК и его компонентов по отдельности.

Быстродействие и производительность ЭВМ.

Федеральное агентство по образованию

ГОУ ВПО ʼʼТверской государственный технический университетʼʼ

Аппаратные средства вычислительных комплексов.

Конспект лекций.

Тверь 2012ᴦ.

Основные характеристики, области применения ЭВМ различных классов.

История развития ЭВМ.

Первой действующей ЭВМ стал ENIAC (США, 1945-46 гᴦ.). ENIAC содержал 18000 электронных ламп и потреблял 150 квт электроэнергии. При этом, эта машина еще не использовала принцип хранимой программы. Большой вклад в разработку ЭВМ внес американский математик Джон фон Нейман. Один из важнейших принципов конструирования ЭВМ предложенный Нейманом - принцип хранимой программы был впервые реализован в Англии в 1949 году в машинœе EDSAC и используется и в современных компьютерах. Этот принцип требует, чтобы программа вводилась в память компьютера также, как в нее вводятся данные.Первая отечественная ЭВМ (МЭСМ) была создана в 1951 ᴦ. под руководством С.А. Лебедева. В серединœе 60-х создана машина БЭСМ, бывшая базовой в СССР в научных, оборонных, космических исследованиях. Из других ЭВМ следует упомянуть "Минск", "Урал", "Мир" и др., созданные под руководством И.С. Брука, В.М. Глушкова и других.В истории развития вычислительной техники принято выделять поколения ЭВМ. Переход от одного поколения к другому связан со сменой элементной базы на которой построен компьютер.
Размещено на реф.рф
Выделяют следующие четыре поколения ЭВМ:

· первое поколение: 1946-1957 годы; элементная база – электронные вакуумные лампы; оперативное запоминающее устройство (ОЗУ) – до 100 байт; быстродействие - до 10000 операций в секунду;

· второе поколение: 1958-1964 годы; элементная база – транзисторы; ОЗУ - до 1000 байт; быстродействие - до 1 млн. операций в секунду;

· третье поколение: 1965-1975 годы; элементная база – малые интегральные схемы; ОЗУ - до 10 Кбайт; быстродействие – до 10 млн. операций в секунду;

· четвертое поколение: 1976 год; элементная база - большие (БИС) и сверхбольшие (СБИС) интегральные схемы; ОЗУ - от 100 Кбайт и выше; быстродействие - свыше 10 млн. операций в секунду.

Следует заметить, что граница между третьим и четвертым поколениями ЭВМ по признаку элементной базы достаточно условна: произошло, скорее количественное изменение параметров элементной базы.

Основные характеристики ЭВМ.

Быстродействие и производительность ЭВМ.

Вместе с тем, единица измерения быстродействия компьютера "операции в секунду" устарела. Она не достаточно правильно отражает быстродействие. Для компьютеров первых поколений под "операцией" часто понимали сложение двух целых чисел определœенной длины. Операция умножения выполнялась в десятки раз медленнее, чем сложение. По этой причине для современных компьютеров чаще используется характеристика - тактовая частота. Тактовая частота - ϶ᴛᴏ количество импульсов в секунду (герц), генерируемых тактовым генератором компьютера. Тактовая частота - более мелкая единица измерения, чем операции в секунду. Фирмы - производители компьютеров стремятся к тому, чтобы уменьшить количество тактов, необходимых для выполнения базовых операций, и, тем самым, повысить быстродействие компьютеров.Современные персональные компьютеры характеризуются быстродействием свыше 2 Ггц и ОЗУ - более 256 Мбайт.Классификация компьютеров, исходящая из производительности и функционального назначения показана на рисунке 1.1.

Рис. 1.1.Классификация компьютеров по производительности.

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

Казалось бы, что более быстродействующая вычислительная тех­ника должна обеспечивать и более высокие показатели производитель­ности. При этом практика измерений значений этих характеристик для разнотипных ЭВМ может давать противоречивые результаты. Основ­ные трудности в решении данной задачи заключены в проблеме вы­бора: что и как измерять. Укажем лишь наиболее распространенные подходы.

Одной из альтернативных единиц измерения быстродействия была и остается величина, измеряемая в MIPS (Million Instructions Per Se­cond - миллион операций в секунду). В качестве операций здесь обыч­но рассматриваются наиболее короткие операции типа сложения. MIPS широко использовалась для оценки больших машин второго и третье­го поколений, но для оценки современных ЭВМ применяется доста­точно редко по следующим причинам:

‣‣‣ набор команд современных микропроцессоров может включать сотни команд, сильно отличающихся друг от друга длительнос­тью выполнения;

‣‣‣ значение, выраженное в MIPS, меняется исходя из особен­ностей программ;

‣‣‣ значение MIPS и значение производительности могут противоре­чить друг другу, когда оцениваются разнотипные вычислители (к примеру, ЭВМ, содержащие сопроцессор для чисел с плавающей точкой и без такового).

При решении научно-технических задач в программах резко уве­личивается удельный вес операций с плавающей точкой. Опять же для больших однопроцессорных машин в данном случае использова­лась и продолжает использоваться характеристика быстродействия, выраженная в MFPOPS (Million Floating Point Operations Per Se­cond - миллион операций с плавающей точкой в секунду). Для персональных ЭВМ данный показатель практически не применяется из-за особенностей решаемых задач и структурных характеристик ЭВМ.

Быстродействие и производительность ЭВМ. - понятие и виды. Классификация и особенности категории "Быстродействие и производительность ЭВМ." 2017, 2018.