Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VPKS_v2_UKR_new.doc
Скачиваний:
21
Добавлен:
11.09.2019
Размер:
2.31 Mб
Скачать

Контрольні запитання

  1. Для чого використовується поняття вартість/продуктивність?

  2. Що означає термін „відмовостійкість”?

  3. Яка головна мета підвищення надійності обчислювальних систем?

  4. Що визначає термін „масштабованість”?

  5. Що визначають терміни „сумісність” і „мобільність”?

  6. Чим характеризуються персональні комп’ютери та мінікомп’ютери?

  7. Яке призначення Х-терміналів?

  8. Що таке сервер і як поділяються сервери?

  9. Що визначає поняття „мейнфрейм”?

  10. Які особливості кластерної архітектури?

Рекомендована література

1. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – М., „Нолидж”, 1998.

Лекція 2. Оцінка продуктивності обчислювальних систем

План лекції

  1. Вступ до теми. Загальні зауваження.

  2. MIPS.

  3. MFLOPS.

  4. SPECint92, SPECfp92.

  5. SPECrate_int92, SPECrate_fp92.

Виклад лекції

1. Вступ до теми. Загальні зауваження

Основу для порівняння різних типів комп'ютерів між собою дають стандартні методики виміру продуктивності. У процесі розвитку обчислювальної техніки з'явилося кілька таких стандартних методик. Вони дозволяють розробникам і користувачам здійснювати вибір між альтернативами на основі кількісних показників, що дає можливість постійного прогресу в даній галузі.

Одиницею виміру продуктивності комп'ютера є час: комп'ютер, що виконує той же обсяг роботи за менший час є більше швидким. Час виконання будь-якої програми виміряється в секундах. Часто продуктивність виміряється як швидкість появи деякого числа подій у секунду, так що менший час має на увазі більшу продуктивність.

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

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

У ряді випадків системний час ЦП ігнорується через можливу неточність вимірів, виконуваних самою операційною системою, а також через проблеми, зв'язаних з порівнянням продуктивності машин з різними операційними системами. З іншого боку, системний код на деяких машинах є користувальницьким кодом на інших і, крім того, практично ніяка програма не може працювати без деякої операційної системи. Тому при вимірах продуктивності процесора часто використається сума користувальницького й системного часу ЦП.

У більшості сучасних процесорів швидкість протікання процесів взаємодії внутрішніх функціональних пристроїв визначається не природними затримками в цих пристроях, а задається єдиною системою синхросигналів, вироблених деяким генератором тактових імпульсів, як правило, що працюють із постійною швидкістю. Дискретні тимчасові події називаються тактами синхронізації (clock ticks), просто тактами (ticks), періодами синхронізації (clock periods), циклами (cycles) або циклами синхронізації (clock cycles).Розроблювачі комп'ютерів звичайно говорять про період синхронізації, що визначається або своєю тривалістю (наприклад, 10 наносекунд), або частотою (наприклад, 100 Мгц). Тривалість періоду синхронізації є величина, зворотня до частоти синхронізації.

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

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

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

У процесі пошуку стандартної одиниці виміру продуктивності комп'ютерів було прийнято кілька популярних одиниць виміру, внаслідок чого кілька нешкідливих термінів були штучно вирвані з їх добре визначеного контексту й використані там, для чого вони ніколи не призначалися. У дійсності єдиною підходящою й надійною одиницею виміру продуктивності є час виконання реальних програм, і всі пропоновані заміни цього часу як одиниця виміру або заміни реальних програм як об'єкти виміру на синтетичні програми тільки вводять в оману.

Небезпеки деяких популярних альтернативних одиниць виміру (MIPS і MFLOPS) будуть розглянуті у відповідних підрозділах.

2. 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 (одному мільйону команд у секунду).

У той час широке поширення одержав синтетичний тест Dhrystone, що дозволяв оцінювати ефективність процесорів і компіляторів з мови C для програм нечислової обробки. Він являв собою тестову суміш, 53% якої становили оператори присвоювання, 32% - оператори керування й 15% - виклики функцій. Це був дуже короткий тест: загальне число команд рівнялося 100. Швидкість виконання програми із цих 100 команд вимірялася в Dhrystone у секунду. Швидкодія VAX 11/780 на цьому синтетичному тесті становило 1757Dhrystone у секунду. У такий спосіб 1MIPS дорівнює 1757 Dhrystone у секунду.

Слід зазначити, що в наш час тест Dhrystone практично не застосовується. Малий обсяг дозволяє розмістити всі команди тесту в кеш-пам'яті першого рівня сучасного мікропроцесора й він не дозволяє навіть оцінити ефект наявності кеш-пам'яті другого рівня, хоча може добре відбивати ефект збільшення тактової частоти.

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

3. MFLOPS

Вимір продуктивності комп'ютерів при вирішенні науково-технічних завдань, у яких істотно використовується арифметика із плаваючою крапкою, завжди викликало особливий інтерес. Саме для таких обчислень уперше постало питання про вимір продуктивності, а за досягнутими показниками часто робилися висновки про загальний рівень розробок комп'ютерів. Звичайно для науково-технічних завдань продуктивність процесора оцінюється в MFLOPS (мільйонах чисел-результатів обчислень із плаваючою крапкою в секунду, або мільйонах елементарних арифметичних операцій над числами із плаваючою крапкою, виконаних у секунду).

Як одиниця виміру, MFLOPS, призначена для оцінки продуктивності тільки операцій із плаваючою крапкою, і тому не застосовна поза цією обмеженою областю. Наприклад, програми компіляторів мають рейтинг MFLOPS близький до нуля поза залежністю від того, наскільки швидка машина, оскільки компілятори рідко використають арифметику із плаваючою крапкою.

Зрозуміло, що рейтинг MFLOPS залежить від машини і від програми. Цей термін менш необразливий, чим MIPS. Він базується на кількості виконуваних операцій, а не на кількості виконуваних команд. На думку багатьох програмістів, та сама програма, що працює на різних комп'ютерах, буде виконувати різну кількість команд, але те саме кількість операцій із плаваючою крапкою. Саме тому рейтинг MFLOPS призначався для справедливого порівняння різних машин між собою.

Однак і з MFLOPS не все так безхмарно. Насамперед, це пов'язане з тим, що набори операцій із плаваючою крапкою не сумісні на різних комп'ютерах. Наприклад, у суперкомп'ютерах фірми Cray Research відсутня команда ділення (є, щоправда, операція обчислення зворотної величини числа із плаваючою крапкою, а операція ділення може бути реалізована за допомогою множення діленого на зворотну величину дільника). У той же час багато сучасних мікропроцесорів мають команди ділення, обчислення квадратного кореня, синуса й косинуса.

Інша, усвідомлювана всіма, проблема полягає в тому, що рейтинг MFLOPS змінюється не тільки на сукупностіоперацій з цілими числами і операцій із плаваючою крапкою, але й на сукупності швидких і повільних операцій із плаваючою крапкою. Наприклад, програма з 100% операцій додавання буде мати більше високий рейтинг, чим програма з 100% операційділення.

Вирішення обох проблем полягає в тім, щоб взяти "канонічне" або "нормалізоване" число операцій із плаваючою крапкою з вихідного тексту програми й потім поділити його на час виконання. На рис. 3.1 показано, яким чином автори тестового пакета "Ліверморскі цикли", про який мова йтиме нижче, обчислюють для програми кількість нормалізованих операцій із плаваючою крапкою відповідно до операцій, що дійсно перебувають у її вихідному тексті. Таким чином, рейтинг реальних MFLOPS відрізняється від рейтингу нормалізованих MFLOPS, що часто наводиться в літературі по суперкомп'ютерах.

Реальні операції із ПК

Нормалізовані операції із ПК

Додавання, вирахування, порівняння, множення

1

Ділення, квадратний корінь

4

Експонента, синус, ...

8

Рис. 3.1. Співвідношення між реальними й нормалізованими операціями із плаваючою крапкою, яким користуються автори "ліверморских циклів" для обчислення рейтингу MFLOPS

Найбільш часто MFLOPS, як одиниця виміру продуктивності, використається при проведенні контрольних випробувань на тестових пакетах "Ліверморскі цикли" і LINPACK.

Ліверморскі цикли - це набір фрагментів фортранів-програм, кожний з яких узятий з реальних програмних систем, експлуатованих у Ліверморскі національної лабораторії ім.Лоуренса (США). Звичайно при проведенні випробувань використовується або малий набір з 14 циклів, або великий набір з 24 циклів.

Пакет Ліверморских циклів використається для оцінки продуктивності обчислювальних машин із середини 60-х років. Ліверморскі цикли вважаються типовими фрагментами програм чисельних завдань. Поява нових типів машин, у тому числі векторних і паралельних, не зменшило важливості Ліверморских циклів, однак змінилися значення продуктивності й величини розкиду між різними циклами.

На векторній машині продуктивність залежить не тільки від елементної бази, але й від характеру самого алгоритму, тобто коефіцієнта векторизованості. Серед Ліверморских циклів коефіцієнт векторизованості коливається від 0 до 100%, що ще раз підтверджує їхню цінність для оцінки продуктивності векторних архітектур. Крім характеру алгоритму, на коефіцієнт векторизованості впливає і якість векторизатора, вбудованого в компілятор.

На паралельній машині продуктивність істотно залежить від відповідності між структурою апаратних зв'язків обчислювальних елементів і структурою обчислень в алгоритмі. Важливо, щоб тестовий пакет представляв алгоритми різних структур. У Ліверморских циклах зустрічаються послідовні, сіткові, конвеєрні, хвильові обчислювальні алгоритми, що підтверджує їхня придатність і для паралельних машин. Однак узагальнення результатів виміру продуктивності, отриманих для однієї паралельної машини, на інші паралельні машини або хоча б деякий підклас паралельних машин, може дати правильний результат, тому що структури апаратних зв'язків у таких машинах набагато більше різноманітні, чим, скажемо, у векторних машинах.

LINPACK - це пакет фортранів-програм для рішення систем лінійних алгебраїчних рівнянь. Метою створення LINPACK аж ніяк не був вимір продуктивності. Алгоритми лінійної алгебри досить широко використаються в самих різних завданнях, і тому вимір продуктивності на LINPACK становлять інтерес для багатьох користувачів. Відомості про продуктивність різних машин на пакеті LINPACK публікуються співробітником Аргоннскої національної лабораторії (США) Дж. Донгаррой і періодично обновляються.

В основі алгоритмів діючого варіанта LINPACK лежить метод декомпозиції. Вихідна матриця розміром 100х100 елементів (в останньому варіанті розміром 1000х1000) спочатку представляється у вигляді добутку двох матриць стандартної структури, над якими потім виконується алгоритм знаходження рішення. Підпрограми, що входять в LINPACK, структуровані. У стандартному варіанті LINPACK виділений внутрішній рівень базових підпрограм, кожна з яких виконує елементарну операцію над векторами. Набір базових підпрограм називається BLAS (Basic Linear Algebra Subprograms). Наприклад, в BLAS входять дві прості підпрограми SAXPY (множення вектора на скаляр і додавання векторів) і SDOT (скалярний добуток векторів). Всі операції виконуються над числами із плаваючою крапкою, представленими з подвійною точністю. Результат виміряється в MFLOPS.

Використання результатів роботи тестового пакета LINPACK з подвійною точністю як основи для демонстрації рейтингу MFLOPS стало загальноприйнятою практикою в комп'ютерній промисловості. При цьому варто пам'ятати, що при використанні вихідної матриці розміром 100х100, вона повністю може розміщатися в кеш-пам'яті ємністю, наприклад, 1 Мбайт. Якщо при проведенні випробувань використається матриця розміром 1000х1000, то ємності такого кеша вже недостатньо й деякі звертання до пам'яті будуть прискорюватися завдяки наявності такого кеша, інші ж будуть призводити до промахів і їм знадобиться більше часу на обробку звертань до пам'яті. Для багатопроцесорних систем також є паралельні версії LINPACK і такі системи часто показують лінійне збільшення продуктивності з ростом числа процесорів.

Однак, як і будь-яка інша одиниця виміру, рейтинг MFLOPS для окремої програми не може бути узагальнений на всі випадки життя, щоб представляти єдину одиницю виміру продуктивності комп'ютера, хоча дуже спокусливо характеризувати машину єдиним рейтингом MIPS або MFLOPS без вказівки програми.

4. SPECint92, SPECfp92

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

Головними видами діяльності SPEC є:

  1. Розробка й публікація наборів тестів, призначених для виміру продуктивності комп'ютерів. Перед публікацією об'єктні коди цих наборів разом з вихідними текстами й інструментальними засобами інтенсивно перевіряються на предмет можливості імпортування на різні платформи. Вони доступні для широкого кола користувачів за плату, що покриває витрати на розробку й адміністративні витрати. Спеціальна ліцензійна угода регулює питання виконання тестування й публікації результатів відповідно до документації на кожний тестовий набір.

  2. 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, які накладає певні обмеження на використовувані компілятори постачальниками комп'ютерів при проведенні випробувань.

5. SPECrate_int92, SPECrate_fp92

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

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

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

Із середини 1994 року SPEC ввела дві додаткові складові оцінки: SPECrate_base_int92 і SPECrate_base_fp92, які накладає обмеження на використовувані компілятори.

Контрольні запитання

  1. Які недоліки MIPS як критерію виміру продуктивності процесора?

  2. Для чого визначений критерій виміру продуктивності процесора MFLOPS та які його недоліки?

  3. Яким чином отримуються оцінки продуктивності SPECint92 та SPECfp92?

  4. У яких випадках застосовуються оцінки продуктивності SPECrate_int92 та SPECrate_fp92?

Рекомендована література

1. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – М., „Нолидж”, 1998.

Лекція 3. Оцінка продуктивності обчислювальних систем (продовження)

План лекції

  1. TCP-A, TCP-B, TCP-C(загальна характеристика)

  2. Тест TCP-A.

  3. Тест TCP-B

  4. Тест TCP-C

  5. Майбутні тести TCP.

  6. АІМ.

Виклад лекції

1. TPC-A, TPC-B, TPC-C

З часом, розширення використання комп'ютерів при обробці транзакцій у сфері бізнесу усе більше важливою стає можливість справедливого порівняння систем між собою. Із цією метою в 1988 році була створена Рада по оцінці продуктивності обробки транзакцій (TPC - Transaction Processing Performance Council), що являє собою безприбуткову організацію. Будь-яка компанія або організація може стати членом TPC після сплати відповідного внеску. На сьогодні членами TPC є практично всі найбільші виробники апаратних платформ і програмного забезпечення для автоматизації комерційної діяльності. До теперішнього часу TPC створив три тестових пакети для забезпечення об'єктивного порівняння різних систем обробки транзакцій і планує створити нові оцінні тести.

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

До 1988 року була відсутня загальна згода щодо методики оцінки систем обробки транзакцій. Широко використовувалися два тестових пакети: Дебет/Кредит і TPI. Однак ці пакети не дозволяли здійснювати адекватну оцінку систем: вони не мали повних, ґрунтовних специфікацій; не давали об'єктивних, що перевіряють результатів; не містили повного опису конфігурації системи, її вартості й методології тестування; не забезпечували об'єктивного, безстороннього порівняння однієї системи з іншою.

Щоб вирішити ці проблеми, і була створена організація TPC, основним завданням якої є точне визначення тестових пакетів для оцінки систем обробки транзакцій і баз даних, а також для поширення об'єктивних, що перевіряють даних у промисловості.

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

Роботою TPC керує Рада Повного Складу (Full Council), що приймає всі рішення; кожна компанія-учасник має один голос, а для того, щоб провести яке-небудь рішення потрібно дві третини голосів. Керуючий Комітет (Steering Committee), що складається з п'яти представників і обирається щорічно, наглядає за роботою адміністрації TPC, підтримує й забезпечує всі напрямки й рекомендації для членів Ради Повного Складу й Керуючого Комітету.

У складі TPC є два типи підкомітетів: постійні підкомітети, які керують адміністрацією TPC, здійснюють зв'язок із громадськістю й забезпечують випуск документації; і технічні підкомітети, які формуються для розробки пропозицій по тестах і розпускаються після того, як їхня робота з розробки завершена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]