Оценка производительности вычислительных систем. Д.Французов

Дмитрий Французов

За зеркалом было много пыли и дохлых пауков. Тогда я указательным пальцем нажал на левый глаз.

Это было старинное правило распознавания галлюцинаций, которое я вычитал в увлекательной книге В.В. Битнера "Верить или не верить ?

А.Стругацкий, Б.Стругацкий Понедельник начинается в субботу.

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

Возможные пути выбора

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

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

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

Методики оценки

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

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

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

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

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

LINPACK - магическое слово, используемое практически всеми производителями, обозначает набор программ на языке программирования Фортран, предназначенных для решения систем линейных алгебраических уравнений. Важность этого тестового набора, так же как и "Ливерморских циклов", определяется практической значимостью и применимостью этих алгоритмов для решения реальных задач. Результаты тестирования различных систем на тестах LINPACK определяются и публикуются Арагонской Национальной лабораторией США при непосредственном участии Дж. Донгарры. В основе используемых в LINPACK алгоритмов лежит метод декомпозиции - исходная матрица представляется в виде произведения двух матриц стандартной структуры, к которому собственно и применяется алгоритм нахождения решения. Важной особенность системы LINPACK - ее структурированность. В частности, выделяется базовый уровень системы, предназначенный для реализации элементарных операций над векторами, куда входят подпрограммы умножения векторов на скаляр и сложения векторов, а также скалярного произведения векторов. Этот уровень называется BLAS (Basic Linear Algebra Subprograms). Все операции выполняются над вещественными числами двойной точности, а результат измерения выражается в MFLOPS.

Сегодня используются два уровня теста: LINPACK DP - для исходной матрицы размером 100 х 100 и LINPACK TPP - для матрицы размером 1000 х 1000. При этом следует обратить внимание, что для многих современных вычислительных систем первый уровень этого теста может дать заведомо превосходящие возможности системы - результаты за счет того, что исходная матрица размером 100х100 может быть целиком размещена в кэш-памяти. Использование теста LINPACK TPP пока снимает эту проблему, однако даже и этот тест для систем с массовым параллелизмом не может быть использован. Для таких систем рекомендуется использовать тест LINPACK HPC (Highly Parallel Computing), который позволяет полностью загрузить вычислительные ресурсы MPP-системы, увеличивая размеры матрицы. Вообще говоря, при этом следует иметь в виду, что для параллельных систем (SMP и MPP) используются специальные варианты этого теста, обеспечивающие распараллеливание вычислений.

Методика SPEC

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

SPEC постоянно анализирует новые вычислительные системы и в соответствии с ними постоянно совершенствует свой тестовый набор. Так основным набором SPEC в период его создания был тестовый набор SPECInt89 для оценки производительности процессора на операциях с целыми числами и SPECfp89 С для оценки производительности процессора при работе с плавающей арифметикой. Однако появление в начале 90-х годов нового поколения RISC-процессоров (PowerPC, PA-7200, MIPS, Rxxxx) сделало невозможным использование этого набора. Во-первых, резко уменьшилось время выполнения этого набора на новых системах, а во-вторых, использование оптимизирующих компиляторов искажало истинное состояние дел. Поэтому тестовый набор 1989 года был усовершенствован, дополнен и преобразован в смеси SPECint92 и SPECfp92, предназначенной, прежде всего, для оценки производительности процессоров и учитывающей также эффективность работы с памятью. Производительность тестируемой системы определяется в условных единицах относительно к быстродействию компьютера DEC VAX 11/780, который фактически является эталонной системой. При этом используется среднее значение для всех тестов, образуемых SPECint92 и SPECfp92.

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

Как уже отмечалось, использование оптимизирующих компиляторов может существенно исказить объективную оценку производительности, и с разработкой для нового поколения оптимизирующих компиляторов для RISC-процессоров консорциум SPEC в 1994 г. опять внес новые поправки - требования к используемым компиляторам. Новые метрики получили название SPECbase_int92 и SPECbase_fp92 и используются для оценки производительности процессора и его работы с памятью в однозадачном режиме. В случае режима многозадачности используется несколько иной подход к оценке производительности, основанный не на вычислении времени выполнения тестовой смеси, а на оценке пропускной способности системы, измеряемой количеством заданий, выполненных в единицу времени. При этом в качестве таких заданий используется принцип однородной нагрузки (тестовая смесь SPECint92 и SPECfp92), а в качестве конечного результата выступает среднее значение по всем тестам. При работе в мультипрограммной системе может варьироваться количество запускаемых копий, а время фиксироваться по завершению выполнения последней копии. Оценки по данной методике называются SPECrate_int92 и SPECrate_fp92. Аналогично предыдущим метрикам здесь также вводятся определенные ограничения для компиляторов, а сама метрика получила название SPECbase_rate_int92 и SPECbase_rate_fp92. В таблице 1 приведены официальные результаты производительности лучших систем на данном тестовом наборе.

System

SPECint92

SPECbase_int92

SPECfp92

SPECbase_fp92

CPUs

Configuration

DEC-AlphaStation 600 5/266

289.0

257.1

405.0

365

1

1x266MHz 21164 Alphaprocessor

Olivetti-LSX 7560

277.1

.

410.4

.

.

.

DEC-Alphaserver 2100 5/250

277.0

244.8

410.4

356.4

1

1x250MHz 21164 1GM mem

Sun-Ultra 1 model 170E

252.0

.

351.0

.

1

1x167MHz UltraSPARC-I

Sun-UltraServer 1 Model 140

215.0

.

303.0

.

1

1x143MHz UltraSPARC-I

HAL-HALstation 350

212.0

.

271.0

.

.

As quoted bymanufacturer

DEC-AlphaStation 2000 4/275

202.9

.

292.6

.

1

.

DEC-AlphaStation 2100 4/275

202.9

187.8

.

.

1

1x275MHz 21064A, 1GB mem

Таблица 1. 
Список систем с максимальным рейтингом по тесту SPECint92.

Совсем недавно был объявлен новый тестовый комплект SPECint95 и SPECfp95, правда, результаты по данной методике пока еще не столь распространены, хотя уже сегодня ряд производителей заявили о переходе на использование только этого теста вместо SPEC_92. Тестовые наборы SPECint95 и SPECfp95 предъявляют следующие ограничения и требования:

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

Новый тестовый набор состоит из 8 программ для работы с целыми числами и 10 - для работы с вещественными. При этом набор целочисленных программ написан на языке Си, а для работы с плавающей арифметикой - на Фортране. В процессе тестирования решаются конкретные задачи: упаковка по JPEG, работа объектной базы данных, создание игровой среды и искусственный интеллект. В таблице 2 представлены результаты тестирования некоторых вычислительных систем.

System

SPECfp95

SPECfp_base95

SPECfp_rate95

SPECfp_rate_base95

CPUs

Configuration

DEC-AlphaStation 600 5/266

10.5

10.0

94.6

89.5

1

1x266MHz 21164,2MB cache

HP-HP 9000 700J Model J210 (2-way)

10.2

9.7

184.0

184

3

3x100MHz PA-7200,no sec cache

DEC-AlphaServer 2100 5/250

8.4

8.4

75.5

75.5

1

1x250MHz 21164,4MB cache

HP-HP 9000 700J Model J200

6.3

6.3

56.5

56.5

1

1x100MHz PA-7200,no sec cache

HP-HP 9000 Model K400

6.2

6.2

56.4

56.4

1

1x100MHz PA-7200,no sec cache

DEC-AlphaStation 200 4/233

4.0

4.0

35.5

35.5

1

1x233MHz 21064A,512KB sec cache

HP-HP 9000 715/100

3.5

3.5

31.2

31.2

1

1x100MHz PA-7100LC,no sec cache

DEC-AlphaStation 200 4/100

2.4

2.4

21.9

21.9

1

1x100MHz 21064,512KB sec cache

System

SPECint95

SPECint_base95

SPECint_rate95

SPECint_rate_base95

CPUs

Configuration

DEC-AlphaStation 600 5/266

6.3

6.3

56.7

56.7

1

1x266MHz 21164,2MB cache

DEC-AlphaServer 2100 5/250

6.0

6.0

53.7

53.7

1

1x250MHz 21164,4MB cache

HP-HP 9000 700J Model J210

4.4

4.4

39.4

39.4

1

1x120MHz PA-7200,no sec cache

HP-HP 9000 700J Model J200

3.6

3.6

32.7

32.7

1

1x100MHz PA-7200,no sec cache

HP-HP 9000 Model K400

3.6

3.6

32.2

32.2

1

1x100MHz PA-7200,no sec cache

DEC-AlphaStation 200 4/233

3.4

3.4

30.5

30.5

1

1x233MHz 21064A,512KB sec cache

HP-HP 9000 715/100

2.9

2.9

26.1

26.1

1

1x100MHz PA-7100LC,no sec cache

Siemens Nixdorf - RM200 Model 225

2.4

2.3

21.7

20.8

1

1x133MHz R4600,no sec cache

DEC-AlphaStation 200 4/100

1.5

1.5

13.3

13.3

1

1x100MHz 21064,512KB sec cache

Таблица 2. 
Список систем с максимальным рейтингом по тестам SPECint95 и SPECfp95.

Консорциум SPEC разработал, кроме того еще несколько тестов, среди которых SDM - тест рабочей нагрузки при использовании UNIX и SFS - тест рабочей нагрузки на уровне файлового сервера. В тесте SDM моделируется многопользовательская среда UNIX, а через скрипты shell запускаются такие команды, как "cd", "mkdir", "find", "cc", "nroff", что позволяет оценить как работу ОС, так и производительность процессора и операций ввода/вывода. Тест SFS включает в себя один пакет 097.LADDIS, в рамках которого генерируются типовые сетевые запросы к NFS-серверу. Отчет по этому тесту содержит описание полной конфигурации и время ответа на запросы через NFS.

Методика AIM

Оценки SPEC важны, прежде всего, для анализа систем, основное назначение которых быть вычислителем вообще, без детального уточнения конкретной специфики - тестовые наборы дают сравнение по работе с целыми и с вещественными числами. Однако нельзя не пройти мимо еще одной методики, направленной на сравнение и оценку производительности вычислительных систем, применительно к конкретному приложению и планируемому использованию. Речь идет о независимой компании AIM Technology, основанной в 1981. Предлагаемые AIM Technology методики оценок и тестовые смеси предназначены для работы с UNIX-системами и тестируют практически все компоненты вычислительной системы. Разработанные методики позволяют получить более комплексную, чем тесты SPEC, оценку тестируемой архитектуры и основаны на сочетании нескольких критериев, представленных в Performance Report II:

  • пиковая производительность (выбор рабочей станции);
  • максимальная загрузка (выбор сервера);
  • обработка UNIX-утилит (выбор станции для рабочего места разработчика программного обеспечения);
  • пропускная способность;
  • цена системы.

Основной и наиболее распространенный тестовый набор AIM Technology - System Benchmark (Suite III) предназначен для анализа вычислительной системы без учета работы X Window и сетевых задержек. Этот набор позволяет оценить производительность выполнения обменов с оперативной памятью, скорость вычислений с вещественными и целыми числами, выполнение обменов данными между процессорами, вызовы функций языка Си, быстродействие операций чтения/записи на диск. Компания AIM Technology каждый квартал публикует обзорные отчеты по тестируемым систем. В этих отчетах приводятся показатели производительности и стоимостные оценки на каждую единицу эффективности системы. Результаты тестовых испытаний систем можно получить на сервере www.ideas.com.au/bench/aim/aim.htm. В таблице 3 приведены результаты по методикам AIM Technology.

System

AIMs

User Loads

Jobs/Minute

CPUs

Price

Configuration

DEC-AlphaServer 8400 5/300 (8-way)

1649.8

9,384

16,168.20

8

1,313,162$

(V2) 8 x 300MHz 21164, 8GB

DEC-AlphaServer 2100 5/250 (4-way)

749.6

2,365

7,346.40

4

162,404$

(V2) 4 x 250MHz 21164, 1GB

DataGeneral - AVIION AV 9500+ (8-way)

457

4,286

 

8

 

8-way 9500+ configuration

Hp - HP 9000 Model K400 (4-way)

456.6

3,784

4,475.00

4

174,989$

V2, 4 x PA7200 - 100, 768 MB

Integraph - InterServe MP6 (6-way)

358.6

3,001

3,514.00

6

103,507$

V2, 6 x Pentium - 100, 512 MB

Bull - Escala Model D201 (8-way)

342.9

2,721

3,360.40

8

186,516$

(V2) 8 x 75MHz POWER, 640 MB

Integraph - InterServe MP6 (5-way)

308.6

2,619

3,024.10

5

95,307$

V2, 5 x Pentium - 100, 512 MB

Control Data - CD4680-300 (4-way)

251.4

2,329

2,463.90

4

282,965$

4 x 80MHz MIPS R6000A

Hp - HP 9000 Model K200 (2-way)

245.4

2,180

2,404.70

2

93,064$

V2, 2 x PA7200- 100, 512MB

Integraph - InterServe MP6 (4-way)

241.6

2,061

2,367.30

4

71,107$

V2, 4 x Pentium - 100, 256 MB

Таблица 3.
Список систем с максимальным рейтингом по тестам AIM (декабрь 1995).

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

  • General Workstation Mix - среда разработки программного обеспечения;
  • Mechanical CAD Mix - среда автоматизации проектирования в машиностроении (с использованием 3-мерной графики);
  • GIS Mix - среда геоинформационных приложений;
  • General Business - среда стандартных офисных приложений (электронные таблицы, почта, тестовые процессоры);
  • Shared/Multiuser Mix - многопользовательская среда;
  • Computer Server Mix - среда центрального сервера для большого объема вычислений;
  • File Server Mix - среда файлового сервера;
  • RBMS Mix - среда обработки транзакций реляционной базы данных.

Скорость обработки транзакций

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

Для анализа и сравнения вычислительных систем применительно к коммерческим, или так называемым OLTP (On-line Transaction Processing) приложениям, сегодня наибольшей популярностью пользуются методики тестирования TPC (Transaction Processing Performance Council). Совет TPC создан в 1988 году ведущими фирмами производителями, среди которых были IBM, HP, Control Data. Основное назначение Совета - выработка признаваемых всеми членами Совета методик тестирования для систем обработки транзакций и собственно проведение независимых тестовых испытаний. Заслуживает внимания структура совета и правила принятия решения TPC: оперативное управление Советом осуществляет Управляющий комитет, состоящий из 5 человек и избираемый каждый год. Комитет готовит решения для Общего Совета (Full Council), который принимает все решения большинством в 2/3 голосов (каждый участник TPC имеет один голос). Таким образом гарантируется максимальная непредвзятость принимаемых решений, что обеспечивает практически полное признание разработанных методик фирмами производителями. Любая компания и фирма может стать членом TPC, а результаты тестовых испытаний общедоступны, в частности на WWW сервере www.ideas.com.au/bench/spec/spec.htm.

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

Тестовая смесь TPC-А (ноябрь 1989) моделирует реальную вычислительную обстановку банковской системы: используется центральный сервер базы данных, обрабатывающий транзакции, поступающие либо по терминальным линиям, либо по сети с удаленных рабочих мест. При этом используются так называемые "короткие транзакции", обеспечивающие интенсивное обновление базы данных. Именно такого рода транзакции используются, например, для обновления банковского счета клиента. Единица измерения в тесте TPC-А - количество транзакций в секунду (tps-A). Именно она и дает представление о пропускной способности системы. Тест TPC-А может выполняться как в локальных сетях, так и с выходом в глобальные сети, что явным образом обозначается в рейтинге - tps-Alocal и tps-A-wide. Системы с подобного рода использованием транзакций называются OLDP (on-line data processing) и в общем случае характеризуются такими параметрами, как-то количество терминальных сессий в режиме on-line, количество обменов с диском, время работы клиентского приложения, целостность базы данных.

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

Тестовая система TPC-С имитирует более сложную, чем в предыдущих тестах, схему обработки заказов, а его результаты, следовательно, наиболее приемлемы для получения объективных оценок. В этом тесте имитируются такие виды деловой активности, как операции с банковскими счетами, прием и размещение заказов на услуги и товары, инвентаризация и т.п. В основе теста лежит модель оптового поставщика с отделениями и удаленными складами. На самом деле, в тесте осуществляется проверка практически всех компонентов вычислительной системы, начиная от терминалов и кончая СУБД. В подобных системах смесь транзакций состоит из большого количества коротких и длинных транзакций, требующих интенсивной работы СУБД по обслуживанию большого числа различного рода проводок. TPC требует, чтобы при реализации теста в фиксированной пропорции обязательно присутствовали пять типов следующих транзакций: новый заказ товара с использованием сложной экранной формы для ввода запроса, обновление базы данных с использованием платежной транзакции, обновление базы данных при заказе на поставку товара, запрос состояния заказа, отчет по состоянию склада. Единицей измерения теста tpm-С является пиковая производительность обработки транзакций, выражаемая их количеством в минуту. В таблице 4 приведены официальные результаты тестирования tpcmC для десяти наиболее производительных систем по состоянию на конец 1995 года.

Rank

Company

Config

tpmC

S/tpmC

Database

1

Tandem

NonStop Himalaya K 10000-112 c/s

20,918.13

$1,151

NonStop SQL/MP

2

Tandem

NonStop Himalaya K 10000-64 c/s

12,021.47

$1,150

NonStop SQL/MP

3

Digital

AlphaServer 8400 5/350 (8 CPUs) c/s

11,456.13

$286

Oracle7 v7.3

4

Digital

AlphaServer 8400 5/350 (8 CPUs) c/s

9,414.06

$316

Oracle7 v7.3

5

SGI

Challenge XL Server c/s

6,313.78

$479

INFORMIX-Online Dyn Svr

6

Tandem

Integrity NR/4436 Server c/s

6,313.78

$493

INFORMIX-Online Dyn Svr

7

Tandem

NonStop Himalaya K 10000-32 c/s

6,067.41

$1,152

NonStop SQL/MP

8

HP

HP 9000 T500/12 c/s

5,621.07

$390

Sybase SQL.Server 11.0

9

HP

HP 9000 T500/12 c/s

5,369.68

$535

Oracle7 v7.3

10

Sun

SPARCcenter 2000E/16/ c/s

4,544.60

$396

Sybase SQL.Server 11.0

Таблица 4. 
Результаты тестирования по TPC-C.

Если тесты TPC-A,B и C моделируют системы OLTP, то тест TPC-D ориентирован уже на несколько другой круг задач, а именно: системы принятия решений или DDS - Decision Support System. Эти системы характеризуются работой с более сложными запросами, возможностью моделирования хода выполнения транзакций для анализа возникающих ситуаций и т.д. В этом тесте используются 17 аналитических сложных запросов, которые могут использоваться широкопрофильным поставщиком при расчете цен и скидок, минимальных требований заказчика, общего анализа и прогнозирования рынка и управления поставками. Комитетом TPC объявлен еще один тест TPC-Е, также предназначенный для оценки вычислительных систем для решения задач DDS. Очевидно, что на результаты работы этих тестов существенное влияния оказывает используемая СУБД, поэтому TPC в своих отчетах уделяет особое внимание точности тестируемой конфигурации, включая конкретную СУБД. Пример фрагмента официального отчета и результатов тестирования приведен на рис. 1

Picture 1.(1x1)

Рисунок 1. 
Фрагмент отчета ТРС-С.

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

Оценка конкретных возможностей систем

Приведенные выше методики предназначены для тестирования наиболее распространенных, типовых вычислительных систем и приложений. Однако бурное развитие новых архитектур, в частности систем с массовым параллелизмом (MPP - Mass Parallel Processing), предъявляет новые требования к системам тестирования. Аналогичным образом, массовое внедрение различного рода графических приложений (САПР, GIS, мультимедиа и виртуальная реальность, архитектурное проектирование) потребовало разработки своих, специфических методик оценки эффективности. Практически с момента появления этих новых систем и приложений для компьютерной общественности стали доступны и соответствующие методики тестирования, использующие реальные тестовые задачи.

Для систем с массовым параллелизмом наиболее интересные методики были предложены специалистами из NASA Ames Research Center, где эксплуатируется весьма разнообразный парк суперкомпьютеров. Специалисты центра обосновали причины невозможности использования существующих методик и сформулировали требования к построению системы тестирования для MPP-систем. В исследовательском центре NASA Ames в соответствии с предложенной методикой была разработана система тестирования NAS benchmark [2]. Эта система состоит из пяти так называемых, тестов NAS kernel benchmark, и трех тестов, основанных на реальных задачах аэродинамического моделирования. Три последних теста считаются наиболее перспективными для определения производительности систем MPP - в особенности для класса вычислительных задач. Оценки NAS kernel benchmark доступны на WWW-сервере www.nas.nasa.gov/NAS/NPB/.

Оценка графических возможностей

Для оценок графических систем сегодня доступны несколько тестов, разработанных комитетом Graphics Performance Characteriztion (GPC), функционирующим под управлением Национальной графической компьютерной ассоциации (NCGA - National Computer Graphics Assiciation), которая, в свою очередь, непосредственно взаимодействует со SPEC. GPC предложил три системы тестов, на основе которых этот комитет производит тестирование графических систем. Первой тестовой системой является Picture-Level Benchmark (PLB), фактически измеряющая скорость визуализации. Результаты тестирования приводятся для стандартной (PLBlit) и оптимизированной (PLBopt) конфигурации. В таблице 5 приведены результаты оценки графической производительности, доступные на сервере //sunsite.unc.edu/gpc/gpc.html или www.ideas.com.au/bench/gpc.

System

PLBd93

PLBwire93

PLBsurf92

CPUs

Configuration

HP-HP 9000 700J Model J210

.
.

183.3

197.5

1

1 x 120 MHz PA-7200, 32MB mem, VISUALIZE-48, StarBase

DEC-AlphaStation 600 5/266

.

142.0

72.0

1

1 x 266 MHz 21164, 64MB mem ZLXp-E3, 4MB cache, DEC.UNIX

HP-HP 9000 700J Model C100

.

130.0

200.0

1

C 100 1 x 100 MHz PA-7200 HP-UX 9.07 VISUALIZE-48 Graphics

DEC-AlphaStation 600 5/300

.

129.6

83.1

1

1 x 300MHz 21164, 64 MB mem ZLXp-E1, PHGS, DEC.UNIX

DEC-AlphaStation 600 5/266

.
.

129.1

68.9

1

1 x 266 MHz 21164, 64 MB mem ZLXp-E2, 2MB cache, DEC.UNIX

IBM - RS/6000 POWERstation 3BT

65.5

107.3

151.0

.

GXT 1000-2 graphics, AIX 3, 2.5 (graPHIGS)

IBM - RS/6000 POWERstation 3BT

65.5

106.9

156.1

1

GXT 1000-2AG graphics, AIX 3, 2.5 (graPHIGS)

IBM - RS/6000 POWERstation 41T/WT

.

103.3

155.3

1

GXT 1000-02 , graPHIGS, AIX 4, 1.3

Таблица 5. 
Результаты тестирования TLB.

Кроме теста PLB комитет GPC публикует результаты измерений по методике Xmark93, используемой для оценки эффективности работы Х-сервера. Следует отметить, что фирмами-разработчиками чаще всего используется тест Xmark93, позволяющий оценивать не только аппаратуру, но и эффективность реализации Х-сервера и степень его оптимизации под конкретное графическое оборудование. Результаты измерений на основе данного теста обычно доступны на WWW-серверах фирм производителей.

Заключение

Далеко не полный список из различных систем тестирования состоит более чем из 40 названий и включает такие тесты, как Ханойские пирамидки, EureBen, SYSmark, CPUmark32 - тест, специально разработанный для оценки систем на базе процессора Intel и используемый в PC Week Lab. Уже доступен тест для оценки Intel-систем с Windows 95, Windows NT, OS/2. Тем не менее именно приведенные в статье методики и системы тестирования, являются наиболее распространенными и, что самое главное, признанными большинством фирм производителей.

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

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

Литература

[1] Д.Волков, Как оценить рабочую станцию, "Открытые системы", #2, 1994, с.44-48.

[2] Д.Французов, Тест оценки производительности суперкомпьютеров. "Открытые системы", #6, 1995.

 

http://www2.icmm.ru/~masich/win/lexion/benchmark/archive/os/numbers/cs_b...

Категории: 

Метки: