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

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

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

Однако в зависимости от того, что мы считаем, время может быть определено различными способами. Наиболее простой способ определения времени называется астрономическим временем, временем ответа (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)! и т.д.

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

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

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

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

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

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

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

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

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

Для того чтобы измерить производительность компьютера при помощи тестов необязательно скачивать какие-то сторонние приложения и утилиты.

Достаточно воспользоваться ресурсами, уже встроенными в операционную систему.

Хотя для получения более подробной информации пользователю придётся найти подходящую программу.

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

Необходимость выполнения проверки

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

К причинам, по которым стоит воспользоваться встроенной утилитой или сторонним приложением относят :

  • беспричинное замедление работы компьютера. Причём, не обязательно старого – проверка нужна для выявления проблем и у новых ПК. Так, например, минимальные по результатам и показатели хорошей видеокарты свидетельствуют о неправильно установленных драйверах;
  • проверку устройства при выборе нескольких похожих конфигураций в компьютерном магазине. Обычно так поступают перед покупкой ноутбуков – запуск теста на 2–3 практически одинаковых по параметрам устройствах помогает узнать, какой из них лучше подходит покупателю;
  • необходимость сравнить возможности различных компонентов постепенно модернизируемого компьютера. Так, если меньше всего значение производительности у HDD, значит, его и стоит заменить первым (например, на SSD).

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

Проверка средствами системы

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

Windows Vista, 7 и 8

У 7-й и 8-й версии платформы, а также Виндоус Vista счётчик производительности элементов компьютера можно найти в списке основных сведений об операционной системе. Для вывода их на экран достаточно кликнуть правой кнопкой мыши по значку «Мой компьютер» и выбрать свойства.

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

Максимальная оценка, которую позволяют получить Windows 7 и 8, составляет 7.9. Задумываться о необходимости замены деталей стоит, если хотя бы один из показателей ниже 4. Геймеру больше подойдут значения выше 6. У Виндоус Vista лучший показатель равен 5.9, а «критический» – около 3.

Важно: Для ускорения расчётов производительности следует выключить во время теста практически все программы. При тестировании ноутбука его желательно включить в сеть – процесс заметно расходует заряд аккумулятора.

Windows 8.1 и 10

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

1Перейти к командной строке операционной системы (cmd через меню «Выполнить» , вызываемое одновременным нажатием клавиш Win + R );

2Включить процесс оценки , ведя команду winsat formal –restart clean ;

3Дождаться завершения работы ;

4Перейти к папке Performance\ WinSAT\ DataStore расположенной в системном каталоге Windows на системном диске компьютера;

5Найти и открыть в текстовом редакторе файл «Formal.Assessment (Recent).WinSAT.xml» .

Среди множества текста пользователь должен найти блок WinSPR , где расположены примерно те же данные, которые выдают на экран и системы Виндоус 7 и 8 – только в другом виде.

Так, под названием SystemScore скрывается общий индекс, вычисляемый по минимальному значению, а MemoryScore , CpuScore и GraphicsScore обозначают показатели памяти, процессора и графической карты, соответственно. GamingScore и DiskScore – производительность для игры и для чтения/записи жёсткого диска.

Максимальная величина показателя для Виндоус 10 и версии 8.1 составляет 9.9. Это значит, что владельцу офисного компьютера ещё можно позволить себе иметь систему с цифрами меньше 6 , но для полноценной работы ПК и ноутбука она должна достигать хотя бы 7. А для игрового устройства – хотя бы 8.

Универсальный способ

Есть способ, одинаковый для любой операционной системы. Он заключается в запуске диспетчера задач после нажатия клавиш Ctrl + Alt + Delete. Аналогичного эффекта можно добиться правым кликом мыши по панели задач – там можно найти пункт, запускающий ту же утилиту.

На экране можно будет увидеть несколько графиков – для процессора (для каждого потока отдельно) и оперативной памяти. Для более подробных сведений стоит перейти к меню «Монитор ресурсов».

По этой информации можно определить, как сильно загружены отдельные компоненты ПК. В первую очередь, это можно сделать по проценту загрузки, во вторую – по цвету линии (зелёный означает нормальную работу компонента, жёлтый – умеренную, красный – необходимость в замене компонента).

Сторонние программы

С помощью сторонних приложений проверить производительность компьютера ещё проще.

Некоторые из них платные или условно-бесплатные (то есть требующие оплаты после завершения пробного периода или для повышения функциональности).

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

1. AIDA64

В составе AIDA64 можно найти тесты для памяти, кэша, дисков HDD, SSD и флэш-накопителей. А при тестировании процессора может выполняться проверка сразу 32 потоков. Среди всех этих плюсов есть и небольшой недостаток – бесплатно использовать программу можно только в течение «триального периода» 30 дней. А потом придётся или перейти на другое приложение, или заплатить 2265 руб. за лицензию.

2. SiSoftware Sandra Lite

3. 3DMark

4. PCMark 10

Приложение позволяет не только тестировать работы элементов компьютера, но и сохранять результаты проверок для дальнейшего использования. Единственный недостаток приложения – сравнительно высокая стоимость. Заплатить за него придётся $30.

5. CINEBENCH

Тестовые изображения состоят из 300 тысяч полигональных изображений, складывающихся в более чем 2000 объектов. А результаты выдаются в виде показателя PTS – чем он больше, тем мощнее компьютер . Программа распространяется бесплатно, что позволяет легко найти и скачать её в сети.

6. ExperienceIndexOK

Информация выдаётся на экран в баллах. Максимальное количество – 9.9, как для последних версий Windows. Именно для них и предназначена работа ExperienceIndexOK. Намного проще воспользоваться такой программой, чем вводить команды и искать в системном каталоге файлы с результатами.

7. CrystalDiskMark

Для тестирования диска следует выбрать диск и установить параметры проверки. То есть число прогонов и размеры файла, который будет использоваться для диагностики. Через несколько минут на экране появятся сведения о средней скорости чтения и записи для HDD.

8. PC Benchmark

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

9. Metro Experience Index

10. PassMark PerformanceTest

Выводы

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

Видео :

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

Итак, рассмотрим ряд ключевых характеристик и компонентов процессора:

Тактовая частота

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

Под тактом мы понимаем промежуток времени, в течение которого может быть выполнена элементарная операция. Тактовую частоту можно измерить и определить ее значение. Измеряется она в МегаГерцах (МГц) (MHz) или ГГц (GHz). Герц единица измерения, определяющая частоту какого-либо периодического процесса. Данная единица измерения имеет прямое соотношение с единицей времени, величиной в одну секунду. Иными словами, когда мы говорим 1 Гц - это означает одно исполнение какого-либо процесса за одну секунду (1 Гц = 1/с). Например, если мы имеем 10 Гц, то это означает, что мы имеем десять исполнений такого процесса за одну секунду. Приставка Мега увеличивает показатель базовой величины (Гц) в миллион раз (1 МГц - миллион тактов в секунду), а приставка Гига в миллиард (1 ГГц - миллиард тактов в секунду).

Ядро (совокупность технологических, физических и программных средств, лежащих в основе процессора)

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

Ядро процессора характеризуется следующими параметрами:

объем внутреннего кэша первого и второго уровня (см. далее),

технологический процесс (последовательная цепочка операций и соединений между элементами),

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

Прежде чем покупать CPU с тем или иным ядром, необходимо удостовериться, что ваша материнская плата сможет работать с таким процессором. В рамках одной линейки могут существовать CPU с разными ядрами. Например, в линейке Pentium IV присутствуют процессоры с ядрами Northwood, Prescott, Willamette.

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

Количество ядер

На протяжении десятилетий процессоры с одним ядром были единственной и безальтернативной реальностью в сегменте персональных компьютеров. Так было пока в 2005 году два микропроцессорных гиганта - Intel и AMD - дружно не выпустили свои первые двухъядерные процессоры. Эти продукты стали не просто очередными новинками от лидеров отрасли, но возвестили своим появлением о начале целой эры в развитии профессиональных технологий для персональных компьютеров. Со временем у них появлялось все больше преемников.

Справедливости ради скажем, что не взирая на глубоко укоренившуюся идею о полном несоответствии одного ядра современным реалиям, «старички-одноядернички» по-прежнему находят своего пользователя. Связано это с тем, что большинство программ еще не умеют использовать возможности многоядерных чипов. Вот несколько наименований одноядерных процессоров широко используемых и по сей день: AMD Athlon 64, AMD Sempron, Intel Celeron, Intel Core Solo, Intel Pentium 4.

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

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

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

А вот оптимизированные под многоядерные процессоры программы для обработки музыки и видео будут работать уже на 50% быстрее. Увеличение скорости особенно заметно, если используемое приложение для работы по обработке и сжатию видео-файлов заточено под многоядерный процессор. Наличие 2-х и более ядер также повысит качество воспроизведения фильмов с высоким разрешением (Blu-ray, HD-DVD), т.к. при декомпрессии такого видео, содержащего большие объемы данных, процессор должен производить огромное количество вычислений.

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

В наше время среди моделей 2-х ядерных процессоров наиболее распространены AMD Athlon 64 х 2, Intel Core 2 Duo, Intel Pentium Dual Core, Intel Pentium D. Существуют также и 4-х ядерные процессоры для настольных компьютеров, как например Intel Core 2 Quad.

Однако чтобы воспользоваться всеми вышеописанными преимуществами многоядерного процессора, операционная система и приложения должны поддерживать именно многоядерный режим обработки. Современные операционные системы Windows, ориентированные на повышение производительности компьютера, самостоятельно распределяют программные задачи по разным ядрам процессора. Так, Windows XP перекладывает на второе ядро процессора фоновые задачи программ, специально разработанных для многоядерных процессоров (например, профессиональные приложения для обработки графики от Adobe). Windows Vista идет дальше, распределяя по ядрам задачи прикладных программ, изначально не предназначенных для использования на многоядерных чипах. Если Вы используете старые версии операционных систем - например, Windows 98 или Windows Me - то выгоды из использования многоядерных процессоров Вам не извлечь.

Кэш-память

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

В общем, можно выделить следующие задачи, которые выполняет кэш-память:

обеспечение быстрого доступа к интенсивно используемым данным;

согласование интерфейсов процессора и контроллера памяти;

отложенная запись данных.

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

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

При этом в современных процессорах кэш давно не является единым массивом памяти, как раньше, а разделен на несколько уровней. Ранее были распространены процессоры с двумя уровнями кэш-памяти: L1 (первый уровень) и L2 (второй). Наиболее быстрый, но относительно небольшой по объему (обычно около 128 Кб) кэш первого уровня с которым работает ядро процессора, чаще всего делится на две половины - кэш инструкций и кэш данных. Кэш первого уровня намного меньше кэша второго уровня, он, т.к. используется исключительно для хранения инструкций. А вот второй уровень используется для хранения данных, поэтому он, как правило, гораздо больше по объему. Кэш второго уровня у большинства процессоров общий, т.е. смешанный, без разделения на кэш команд и кэш данных. Но не у всех, вот например в AMD Athlon 64 X 2 у каждого ядра по своему кэшу L2.

19 ноября 2007 года настал исторический момент. Компания AMD, после 18-ти месячного отставания от Intel с их весьма успешной линейкой Intel Core 2, представила долгожданный процессор AMD Phenom с четырьмя ядрами и тремя уровнями кэш-памяти. После этого большинство современных серверных процессоров, стали обзаводиться кэшем третьего уровня (L3). Кэш L3 обычно еще больше по размеру, хотя и несколько медленнее, чем L2 (за счет того, что шина между L2 и L3 более узкая, чем шина между L1 и L2), однако его скорость, в любом случае, несоизмеримо выше, чем скорость системной памяти.

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

Разрядность

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

32-разрядные процессоры обрабатывают 32 бита за один такт, а 64-разрядные вдвое больше данных, то есть 64 бита. Это преимущество особенно заметно при обработке больших объемов данных (например, при преобразовании фотографий). Но чтобы им воспользоваться, операционная система и приложения должны поддерживать именно 64-битный режим обработки. Под специально разработанными 64-битными версиями Windows XP и Windows Vista в зависимости от необходимости запускаются 32-битные и 64-битные программы. Но 64-битные приложения до сих пор достаточно редки: большинство программ, даже профессиональных, поддерживает лишь 32-битный режим.

При уточнении разрядности процессора и пишут, например, 32/20, что означает, что процессор имеет 32-разрядную шину данных и 20-разрядную шину адреса. Разрядность адресной шины определяет адресное пространство процессора, т.е. максимальный объем оперативной памяти, который может быть установлен в компьютере.

В первом отечественном персональном компьютере «Агат» (1985 г.) был установлен процессор, имевший разрядность 8/16, соответственно его адресное пространство составляло 64 Кб. Процессор Pentium II имел разрядность 64/32, т.е. его адресное пространство составляет 4 Гб. Все 32-разрядные приложения имеют адресное пространство процесса размером не более 4 ГБ

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

Сокет

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

Наименование сокета как правило содержит в себе определенный номер, обозначающий число контактов у разъема. В последнее время наиболее используемы сокеты со следующими номерами: 478, 604, 754, 775, 939, 940.

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

Частота системной шины

Системная шина (по-английски - Front Side Bus, или FSB) - это магистраль, проходящая по материнской плате и соединяющая процессор с другими ключевыми компонентами системы, с которыми он обменивается данными и командами (например, контроллер-концентратор памяти).

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

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

Рабочая температура процессора.

Еще один параметр ЦП - допустимая максимальная температура поверхности процессора, при которой возможна нормальная работа (от 54.8 до 100 C). Температура процессора зависит от его загруженности и от качества теплоотвода. В холостом режиме и при нормальном охлаждении температура процессора находится в пределах 25-40C, при высокой загруженности она может достигать 60-65 градусов. При температуре, превышающей максимально допустимую производителем, нет гарантии, что процессор будет функционировать нормально. В таких случаях возможны ошибки в работе программ или зависание компьютера. Процессоры разных производителей нагреваются по-разному. Соответственно чем сильнее нагревается процессор, тем более мощный вентилятор для его охлаждения (кулер) следует покупать. Можно так же купить системнеый блок с дополнительными вентиляторами - это уменьшит температуру внутри ситемного блока.

Арифметико-логическое устройство и блок управления

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

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

Технически процессор реализуется на большой интегральной схеме, структура которой постоянно усложняется, и количество функциональных элементов (типа диод или транзистор) на ней постоянно возрастает (от 30 тысяч в процессоре 8086 до 5 миллионов в процессоре Pentium II и до 30 миллионов в Intel Core Duo). Блок управления координирует работу всех этих компонентов и выполнение процессов, происходящих в компьютере.





Top