Способи підвищення швидкодії ЕОМ і нд

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

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

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

Основними факторами, що визначають високу вартість супер ВМ, є:

1. Великі витрати на конструювання, обумовлені складністю устаткування і відносно малим серійним випуском.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цих недоліків позбавлені багатопроцесорні системи (МПС). У таких системах (рис. 6.1, б) процесори знаходять статус рядових агрегатів обчислювальної системи, які подібно до інших агрегатів, таким, як модулі пам'яті, канали, периферійні пристрої, включаються до складу системи в потрібній кількості.

Обчислювальна система називається многопроцессорной, якщо вона містить кілька процесорів, що працюють із загальною ОП (загальне поле оперативної пам'яті) і управляється однією спільною операційною системою. Часто в МПС організовується загальне поле зовнішньої пам'яті.

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

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

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

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

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

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

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

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

Використовуються такі способи організації міжмодульних (межустройственних) зв'язків:

· Регулярні зв'язку між модулями;

· Багаторівневі зв'язку, відповідні ієрархії інтерфейсів ЕОМ;

· Багатовхіді модулі (зокрема, модулі пам'яті);

· Комутатор міжмодульних зв'язків ( "Ельбрус" Рис.6.2);

· Загальна шина ( "СМ ЕОМ" рис.6.3).

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

· ВС, орієнтовані в першу чергу на досягнення надвисокої продуктивності;

· ВС, орієнтовані в першу чергу на підвищення надійності та живучості.

Схожі статті