Статьи

ІМСС УрО РАН - Принцип векторної обробки. Векторно-конвеєрні і матричні обчислювальні системи. Фактори, що знижують продуктивність векторних систем.

Подробиці Опубліковано: 22 квітня 2016 Переглядів: 2316 ЗМІСТ

1. Загальні принципи організації високопродуктивних ЕОМ і високошвидкісних обчислень
1.1. підвищення швидкодії
1.2. Організація швидкодіючих обчислювальних систем
2. Принципи векторної обробки
3. Фактори, що знижують пропускну здатність
4. Оцінка загальної продуктивності
5. література

Поява супер ЕОМ в якості самостійного класу обчислювальних машин сталося на початку 80-х рр. До середини 1985 р світі діяло понад 150 таких ЕОМ вартістю близько 10 млн. Дол. Кожна.

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

1. Загальні принципи організації високопродуктивних ЕОМ і високошвидкісних обчислень

1.1. підвищення швидкодії

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

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

Саме в таких прикладних областях і потрібні суперЕОМ.

Основними факторами, що визначають високу вартість суперЕОМ, є:
1. Великі витрати на конструювання, обумовлені складністю устаткування і відносно малим серійним випуском.
2. Висока вартість апаратури, для створення якої потрібні нові технології, здатні забезпечити граничні для нинішнього рівня розвитку техніки показники. На вартість апаратури впливають також збільшення числа логічних елементів, кількості виділеної теплоти в одиниці об'єму та інші подібні фактори.
3. Дороге програмне забезпечення, що включає спеціальні засоби, які дозволяють реалізувати потенційно високу швидкодію систем.

Область застосування методів досягнення високої швидкодії охоплює всі рівні створення систем.

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

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

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

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

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

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

Далі, швидкодія обчислювальних систем може бути підвищено за рахунок реалізації апаратними або програмно-апаратними засобами вбудованих складних команд відповідають тим чи іншим функціям, яке трапляється в багатьох практичних обчисленнях. До таких функцій відносяться, наприклад, корінь квадратний, складання векторів, множення матриць і швидке перетворення Фур'є. Зазначені кошти дозволяють скоротити число команд в програмах і створюють передумови для більш ефективного використання машинних ресурсів (наприклад, конвейерізованних арифметичних пристроїв). При вирішенні деяких завдань одержуваний виграш може бути дуже великою, що особливо добре видно на прикладі розглянутих нижче векторних ЕОМ, в яких основну роль відіграють векторні команди. З іншого боку, непросто визначити такі складні команди, які б досить часто використовувалися в широкому класі прикладних програм. У той же час дослідження процесів виконання великого числа програм з різних прикладних областей показують, що існує явне зміщення частот використання в напрямку невеликого набору простих команд. Цей факт послужив основою для розвитку підходу, при якому з безлічі команд виділяється невелика підмножина простих і часто використовуваних команд, які підлягають оптимізації. В даний час вже розроблено ряд експериментальних і промислових зразків процесорів, що використовують принцип оптимізації скороченого набору команд. Вплив цього підходу на прогрес в області високошвидкісних обчислень потребує оцінки.

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

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

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

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

1.2. Організація швидкодіючих обчислювальних систем

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

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

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

Більш того, в системах може використовуватися комбінована деталізація

Мал. 2.1. Матрична обчислювальна система (лівий малюнок)
Мал. 2.2. Конвеєрна обчислювальна система (правий малюнок)
де (ПЕ - процесорні елементи, П - модулі пам'яті)

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

Рис.2.3. Структура векторної обчислювальної системи

Щоб показати, який виграш в продуктивності дає векторна машина, розглянемо операцію складання двох векторів на рис. 2.4, а зображені скалярная програма і тимчасова діаграма її виконання на звичайній ЕОМ, в якій реалізований випереджаюче перегляд в поєднанні з конвеєрним виконанням операцій. На рис. 2.4, б зображені відповідна векторна програма і тимчасова діаграма.

4, б зображені відповідна векторна програма і тимчасова діаграма

Рис.2.4. Обчислення суми двох векторів.

а - на скалярному процесорі; б - на векторному процесорі

2. Принципи векторної обробки

Принцип векторної обробки заснований на існуванні значного класу задач використовують операції над векторами. Алгоритми цих завдань відповідно до термінологією Флінна відносяться до класу ОКМД (одиночний потік команд, множинний потік даних). Реалізація операцій обробки векторів на скалярних процесорах за допомогою звичайних циклів обмежує швидкість обчислень по наступними причинами.

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

Обидвоє підході в прінціпі дозволяють досягті значного прискореного в порівнянні зі скалярними машинами. Більш того, прискорення в системах матричного типу може бути більше, ніж в конвеєрних, оскільки збільшити число процесорних елементів простіше, ніж число ступенів в конвеєрному пристрої. В даний час створені і успішно застосовуються системи обох типів. До найбільш значним представникам сімейства матричних систем відносяться одна з перших великих розробок - ILLIAC IV - системи DAP фірми ICL, BSP фірми Burrougs і МРР фірми Goodyear. Клас конвеєрних систем включає такі системи, як STAR100 і Суbег 205 фірми СDС, Сгау-1 фірми Сгау> Research, S-810 фірми НIТАСНI, SХ NЕС і FАСОМ, VР-200 фірми Fujitsu. Той факт, що більшість суперЕОМ відноситься до класу конвеєрних систем, свідчить, схоже, про те, що для сучасного рівня технології такі системи є більш гнучкими і ефективними з точки зору вартості.

3. Фактори, що знижують пропускну здатність

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

3.1. скалярная обробка

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

Величина зниження може бути отримана виходячи з частки скалярних операцій (f) і відносини максимальної пропускної спроможності в векторному режимі до пропускної спроможності в скалярному режимі (r). В результаті отримаємо коефіцієнт зниження пропускної здатності: d = Rmax / R = f * r + (1-f)

де Rmax - максимальна пропускна здатність (повне завантаження всіх конвеєрів), R - реальна пропускна здатність, де Rmax - максимальна пропускна здатність (повне завантаження всіх конвеєрів), R - реальна пропускна здатність,   - відношення максимальної пропускної спроможності в векторному режимі до пропускної спроможності в скалярному режимі - відношення максимальної пропускної спроможності в векторному режимі до пропускної спроможності в скалярному режимі.

Як видно з рис. 4.1, зниження продуктивності може бути досить значним.

1, зниження продуктивності може бути досить значним

Рис.4.1 Коефіцієнт зниження продуктивності

Так, наприклад, при f = 0,1 і r = 50 реальна продуктивність менше максимальної в 5,9 рази. Конкретні значення f і r варіюються в залежності від системи і прикладної області.

3.2. Стартовий час конвеєра

Максимальна пропускна здатність конвеєрної машини досягається при обробці довгих векторів, оскільки тільки в цьому випадку частка часу, що витрачається на початковому етапі (завантаження параметрів, реконфігурація, очікування першого результату), виявляється максимальною. Отже, пропускна здатність R як функція довжини вектора l визначається виразом:

Отже, пропускна здатність R як функція довжини вектора l визначається виразом:

де ts - час проходження однієї стадії конвеєра, tstart - стартовий час конвеєра.

Типовими для сучасних суперЕОМ є такі цифри: tstart = 1000нс, ts = 15нс. З графіка цієї функції, наведеного на рис.4.2, видно, що при малих довжинах векторів пропускна здатність може бути значно нижче максимальної. Таким чином, необхідно прагнути до того, щоб довжина векторів була якомога більшою, а стартовий час меншим.

Рис.4.2. Пропускна здатність, як функція довжини вектора

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

Відповідною кількісною мірою може служити коефіцієнт прискорення обчислень як функція довжини вектора, а саме:

де r - введене раніше відношення максимальних пропускних спроможностей при векторному і скалярних режимах відповідно. Звідси знайдемо наближену порогову довжину вектора:

Звідси знайдемо наближену порогову довжину вектора:

де tscalar - час виконання скалярних операцій.

3.3. Залежності за даними.

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

В цьому випадку зниження продуктивності може бути припинено за допомогою освіти ланцюжків операцій, коли виконання даної векторної команди починається відразу, як тільки утворюються компоненти беруть участь в ній векторних операндів (див. Рис.4.3). Даний метод може застосовуватися в великому числі практичних випадків, однак не завжди.

Даний метод може застосовуватися в великому числі практичних випадків, однак не завжди

Рис.4.3. Освіта ланцюжка операцій

Наприклад, його не можна використовувати в наступному прикладі:

оскільки для початку виконання другої команди необхідно обчислити скалярний результат першої.

3.4. Залежно з управління.

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

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

3.5. Реалізація умовних операторів.

Векторна команда як єдине ціле не може бути виконана в ситуаціях, коли вид операції над елементами вектора залежить від умови, як, наприклад, в наступному фрагменті:

if if   then   else then else

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

Безумовно описаний спосіб краще, ніж скалярний, однак і при ньому все ще залишаються фактори, що знижують продуктивність.

3.6. Знаходження команд поза буфера

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

3.7. Обмеження, пов'язані з локальною пам'яттю.

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

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

3.8. Обмеження, пов'язані з механізмом адресації і недостатньо ефективною пропускною спроможністю пам'яті.

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

3.9. Обмеження, пов'язані з конфліктами доступу до пам'яті.

До обмежуючим факторам відносяться конфлікти доступу, що виникають при одночасному появі декількох різних - о6ращеній до пам'яті. Необхідною умовою роботи системи з максимальною продуктивністю є своєчасне зчитування команд з пам'яті, виклик скалярних і векторних операндів і запис зароблених результатів. Зазначені запити реалізуються через рівні порти і "заважають" один одному, що призводить до неповного використання пропускної здатності пам'яті. Для того щоб негативний вплив цих конфліктів на загальну продуктивність була мінімальною, пристрій управління доступом до пам'яті має відповідним чином планувати порядок обслуговування запитів.

Наприклад, в системі Cray X-MP пам'ять розділена на чотири секції, кожна з яких має чотири порти: три обслуговують запити процесорів і один обслуговує введення / виведення. Порти А і В призначені для читання, а порт С для запису. Виникаючі конфлікти вирішуються за допомогою системи пріоритетів, причому останні залежать від виду звернення і часу надходження. Зі сказаного ясно, що отримати адекватну оцінку продуктивності можна тільки шляхом прогонки програм на реальному обладнанні.

3.10. Обмеження, пов'язані зі спеціалізованими арифметичними пристроями.

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

3.11. Обмеження, пов'язані з обсягом пам'яті.

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

4. Оцінка загальної продуктивності

З огляду на складний характер взаємодії між факторами, що знижують продуктивність, і залежністю ступеня впливу цих факторів від конкретних програм оцінка прізводітельності в цілому повинна здійснюватися на спеціально підібраних прикладних задачах. Наближена оцінка може бути отримана за допомогою контрольних завдань, що складаються з набору типових тестових програм. Проблема, пов'язана з такою наближеною оцінкою, полягає в труднощі визначення терміна <типовий>. Штучні контрольні завдання, що містять в потрібному співвідношенні скалярні операції і векторні команди різних типів, можуть дати лише самі грубі оцінки. Недолік даного методу полягає в тому, що він не враховує взаємозв'язку між командами, роль яких у формуванні реального показника продуктивності може бути значною. Одними з найбільш широко використовуваних для оцінки векторних машин контрольних завдань є так звані Ліверморської цикли, розроблені в Національній лабораторії ім. Лоуренса в м Ліверморі (США). Цікаво відзначити, що для всіх типів машин оцінки, отримані на різних циклах, сильно відрізняються один від одного. Наприклад, згідно з цими оцінками продуктивність Сrау-1 коливається від 3 до 90 млн. Операцій з плаваючою комою в секунду. Крім того, хоча найкращі і найгірші з точки зору продуктивності цикли практично одні і ті ж для всіх машин, характер залежності продуктивності від типу циклу на різних машинах істотно відрізняється один від іншого. Це підтверджує тезу про специфічний вплив на продуктивність тих чи інших особливостей організації систем. На продуктивність впливає також якість використовуваного компілятора.

5. Література

  1. Супер ЕОМ. Апаратна і програмна організація / Под. ред. С. Фернбаха: Пер. з англ М .: Радио и связь, 1991. - 320 с .: іл.

Новости


 PHILIP LAURENCE   Pioneer   Антистресс   Аромалампы   Бизнес   Игры   Косметика   Оружие   Панно   Романтика   Спорт   Фен-Шуй   Фен-Шуй Аромалампы   Часы   ЭКСТРИМ   ЭМОЦИИ   Экскурсии   визитницы   подарки для деловых людей   фотоальбомы  
— сайт сделан на студии « Kontora #2 »
E-mail: [email protected]



  • Карта сайта