- •Лекція № 12 Комп’ютерні системи класу sisd
- •13.1 Матричний процесор
- •13.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •13.3 Архітектура матричних комп’ютерних систем
- •13.4 Структура процесорного елементу в матричній кс
- •13.5 Підключення і відключення процесорних елементів в матричних кс
- •13.6 Мережі взаємозв’язків процесорних елементів в матричних кс
- •13.7 Матрична комп’ютерна система illiac IV
- •13.8 Обробка інформації векторним процесором
- •13.9 Структура векторного процесора
- •13.10 Асоціативні кс
- •Контрольні запитання
- •Лекція №14 Конвеєрні комп’ютерні системи
- •14.1 Конвеєрні алп
- •Vliw-конвеєр
- •Суперконвеєр
- •Суперскалярний суперконвеєр
- •Лекція № 15 комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті (numa системи), кластерні системи, grid системи
- •15.1 Мультипроцесорні комп’ютерні системи
- •15.2 Мультипроцесорні кс типу numa
- •15.3 Мультикомп’ютерні комп’ютерні системи
- •Мультикомп’ютерна кс
- •15.4 Кластерні кс
- •15.5 Grid системи
- •Grid технологія створення розподіленої обчислювальної інфраструктури
- •Grid-системи як засіб групового використання ресурсів
- •Grid обчислень
- •Grid даних
- •Grid інструментальних засобів
- •Grid додатків
- •Напрямки використання grid
- •Розвиток і впровадження grid-технологій
- •Контрольні запитання
- •Лекція № 16 Комп’ютерні системи з нетрадиційною архітектурою
- •16.1 Систолічні кс
- •16.2 Класифікація структур систол
- •16.3 Кс з наддовгими командами (vliw)
- •16.4 Комп’ютерні системи з явним паралелізмом команд
- •16.5 Кс з обробкою за принципом хвильового фронту
- •16.6 Кс на базі трансп’ютерів і з неоднорідним доступом до пам’яті
- •Контрольні запитання
- •Лекція № 17 структури комп’ютерних систем з фіксованою системою зв’язків
- •17.1 Системи з фіксованою структурою з серійних мікропроцесорів
- •17.2 Спеціалізовані системи з фіксованою структурою
- •Контрольні запитання
- •Лекція № 19 системи введення-виведення даних в кс
- •19.1 Мережева базова система введення-виведення netbios
- •19.2 Периферійні пристрої для введення-виведення даних в кс
- •19.3 Клавішні пристрої
- •19.4 Сканери
- •19.5 Засоби відображення інформації
- •19.6 Пристрої друкування
- •19.7 Плотери
- •Контрольні запитання
- •Лекція № 20 інтерфейси комп’ютерних систем
- •20.1 Графі́чний інтерфе́йс користувача
- •20.2 Послідовний інтерфейс rs-232c
- •20.3 Паралельні інтерфейси
- •20.4 Шина usb
- •20.5 Пристрої введення (виведення) аналогової інформації в еом (аналого-цифрові інтерфейси)
- •Лекція № 22 структурні аспекти побудови відмовостійких комп’ютерних систем
- •Перелік рекомендованих джерел
- •Литература
Лекція № 22 структурні аспекти побудови відмовостійких комп’ютерних систем
Існує два основних напрямки побудови відмовостійких систем:
- використання лише відмовостійких компонентів – при такій реалізації кожен компонент системи може продовжувати своє функціювання, навіть якщо один/декілька підкомпонентів системи виходять з ладу;
- розроблення методів, які гарантують побудову відмовостійкої системи з невідмовостійких компонентів – відмовостійкість в таких системах реалізується за рахунок введення надлишковості та розроблення спеціального програмного забезпечення, елементних взаємозв’язків та алгоритмів функціювання.
Отже, основною задачею при розробці та експлуатації відмовостійких КС є забезпечення їх надійності.
У процесі розробки відмовостійких КС ключовим моментом є вибір оптимальної елементної бази, що має задовольняти певним вимогам. На сьогоднішній день, у зв’язку із значними змінами в технології розробки мікросхем, розробники надають перевагу таким технологіям, які дають змогу збільшити кількість логічних елементів на кристалі, при цьому мати можливість не тільки задавати певну конфігурацію мікросхеми, а й, при потребі, виконувати її конфігурацію; досягти зниження вартості; споживаної потужності і складності систем. Всім цим характеристикам відповідають програмовані логічні інтегральні мікросхеми (ПЛІС). ПЛІС отримали застосування в системах керування військовою технікою, наприклад в літальних апаратах APACHE, COMANCHE, B-52, в системах керування запуском та наведенням ракет, системах керування радарами і т.д.
При підвищенні відмовостійкості важливе пророблення рішення на кожній стадії й кожному рівні переміщення, розміщення й зберігання даних. Не завжди найдорожчий варіант забезпечує рішення насущних проблем, іноді він ще й додає нові. Будь-який керівник служби ІТ ставить перед собою головну мету - побудувати високопродуктивну обчислювальну систему з високим ступенем відмовостійкості й при цьому знизити як закупівельну, так й експлуатаційну вартість, тобто вартість КС. У ході проектування й побудови правильно збалансованого комплексу, залучення компаній з досвідом інтеграційних рішень можна уникнути зайвих витрат і грошей і часу. Компроміс між простотою рішення, продуктивністю й відмовостійкістю необхідно відшукувати на стадії проектування й розробки, постійно коректувати дії виходячи з вартості КС й показників продуктивності.
Необхідно відзначити, що підвищення відмовостійкості в більшості випадків приводить не тільки до подорожчання системи, але й до ускладнення процесу моніторингу й, як наслідок, до більш складного розподілу ресурсів і керуванню ними. Ці фактори, у свою чергу, ведуть до необхідності підвищення кваліфікації обслуговуючого персоналу, впровадження спеціалізованого ПЗ, що неминуче веде до збільшення експлуатаційних витрат і вартості володіння.
Засоби відмовостійкості дозволяють скоротити час простою до п'яти хвилин у рік або навіть менше. Відмовостійкість забезпечується надлишковістю на фізичному рівні, де в кожному з компонентів може виникнути збій і ніхто цього не помітить.
У підсумку всі системи в відмовостійкій конфігурації відрізняються високим рівнем апаратної надлишковості, обслуговуваності й можливостей віддаленого керування. Всі основні апаратні елементи, такі як процесори, пам'ять і диски, дублюються. Всі надлишкові компоненти виконують будь-який процес всі разом.
Репліцировані компоненти виконують ті самі команди одночасно, тому навіть якщо на одному з компонентів виникне помилка, додаток буде працювати без змін. У результаті адміністратори можуть нарощувати систему, здійснювати повсякденну підтримку й видаляти компоненти, на яких виник збій, без відключення всієї системи.
У серверах використовується концепція, що одержала назву “пари процесів”. Суть її в тому, що основний процес і резервний процес виконуються на різних вузлах. Резервний процес відзеркалює всю інформацію з основного вузла й здатний у будь-який момент “підмінити” основний процес у випадку виникнення в ньому помилки.
Надмірність доповнюють високонадійні операційні системи, вбудовані інструментальні засоби діагностики й різноманітне програмне забезпечення керування потоками робіт.
Крім усього іншого, таке відмовостійке програмне забезпечення покликане запобігти втраті даних у випадку виникнення збою й управляти виконанням таких завдань, як примусове перемикання із системи, де виник збій. Мета полягає в тому, щоб виявити апаратні проблеми, які можуть призвести до відключення системи, і швидко перерозподілити робоче навантаження на інші системи.
Як приклад|зразок| підвищення надійності кластерної системи приведемо рішення фірми|фірма-виготовлювача| Hewlett-Packard|. У цих рішеннях|розв'язаннях,вирішеннях,розв'язуваннях|, залежно від потрібного рівня відмовостійкості, серверні вузли кластера розміщуються таким чином:
- централізований (локальний кластер);
- по сусідніх будівлях (кампусный| кластер);
- по декількох територіях в межах міста (метро кластер);
- у різних містах, країнах або континентах (два зв’язані кластери - континентальний кластер).
На додаток до дубльованого центрального комутатора, всі апаратні компоненти: системний контроллер, джерела живлення|харчування|, системи охолоджування, годинник - повністю|цілком| дубльовані. Система не має одиничного|поодинокої| блоку|точки| збою. Для порівняння - якщо такий простий елемент як системний годинник вийде з ладу|строю,буд| в дорогому сервері HP| Superdome| або IBM| p680|, вся система припинить роботу.
У систему повинні бути заздалегідь|наперед| встановлені|установлені| або сконфігуровані запасні модулі, так що при відмові одного з модулів запасний модуль може замінити його практично негайно. Модуль, що відмовив, може ремонтуватися автономно, тоді як система продовжує працювати.
Принцип швидкого прояву|вияву| несправності зазвичай|звично| реалізується за допомогою двох методів - самоконтролю і порівняння. Засоби|кошти| самоконтролю припускають|передбачають|, що при виконанні деякої операції модуль робить|чинить| і деяку додаткову роботу, що дозволяє підтвердити правильність отриманого результату|достатку|. Прикладами|зразками| цього методу є|з'являються,являються| коди виявлення несправності при зберіганні даних і передачі повідомлень|сполучень|. Метод порівняння грунтується на виконанні однієї і тієї ж операції двома або великим числом модулів і зіставленні результатів компаратором. У разі|в разі| виявлення неспівпадання результатів робота припиняється.
Методи самоконтролю були основою побудови|шикування| відмовостійких систем протягом багатьох років. Вони вимагають реалізації додаткових схем і часу розробки і, ймовірно|певно,мабуть|, домінуватимуть в пристроях|устроях| пам’яті і пристроях|устроях| зв’язку завдяки простоті і ясності логіки. Проте|однак| для складних пристроїв|устроїв| обробки даних економічні міркування|тяма|, зв’язані із застосуванням стандартних масових компонентів, нав’язують використання методів порівняння. Оскільки компаратори порівняно прості, їх застосування|вживання| дає деяке збільшення логічних схем при істотному|суттєвому| скороченні часу розробки. Слід зазначити, що|слід відзначити , що,следует отметить | в раніших відмовостійких конструкціях 30% логічних схем процесорів і 30% часу розробки йшло|вирушало| на реалізацію засобів|коштів| самоконтролю. З цієї точки зору схеми порівняння додають|добавляють| лише універсальні схеми з|із| простою логікою. В результаті скорочуються загальні|спільні| витрати на розробку і логіку.
Ще одним засобом|коштом| побудови|шикування| відмовостійкої архітектури є|з'являється,являється| принцип дублювання дуплексних модулів, який припускає|передбачає| створення|створіння| деякої комбінації двох модулів (“супермодуля”), побудованих|спорудити| на принципах швидкого прояву|вияву| несправності. Такий “супермодуль” продовжує працювати, навіть коли відмовляє один з субмодулів.
Дублювання дуплексних модулів вимагає більшого об’єму|обсягу| устаткування|обладнання|, але|та| дозволяє робити|чинити| вибір одного з режимів роботи: організацію двох незалежних обчислень|підрахунків| на принципах швидкого прояву|вияву| несправності, модулів, що виконуються на двох парах, або одного високонадійного обчислення|підрахунку|, що виконується на всіх чотирьох модулях.
Необхідно пам’ятати, що сама по собі надмірність тільки|лише| знижує надійність у разі|в разі| дублювання і троювання|. Для істотного|суттєвого| збільшення рівня готовності надмірна|надлишкова| конструкція повинна забезпечувати можливість|спроможність| ремонту і заміни модулів, що відмовили.
Методи і засоби забезпечення відмовостійкості
Для забезпечення надійного вирішення завдань в умовах відмов системи застосовуються два принципово різні підходи відновлення обчислень після відмови системи (або її компоненту) та запобігання відмови системи (відмовостійкість).
Відновлення може бути прямим (без повернення до минулого стану) і зворотнім.
Пряме відновлення засноване на своєчасному виявленні збою і ліквідації його наслідків шляхом приведення некоректного стану системи в коректний. Тобто таке відновлення можливе тільки для певного набору заздалегідь передбачених збоїв.
При зворотному відновлення відбувається повернення процесу (або системи) з некоректного стану в якийсь з попередніх коректних станів. При цьому виникають наступні проблеми:
- втрати продуктивності, викликані запам’ятовуванням станів, відновленням попередньо збереженого стану і повторенням раніше виконаної роботи, можуть бути дуже високі;
- відсутня гарантія, що збій знову не повториться після відновлення;
- для деяких компонентів системи відновлення до попереднього стану може бути неможливе (торговий автомат).
Для відновлення стану в традиційних ЕОМ застосовуються два методу (та їх комбінацію), які полягають в проміжній фіксації стану або веденні журналу виконуваних операцій. Вони відрізняються об’ємом запам’ятовуваної інформації і часом, необхідним для відновлення.
Застосування подібних методів у розподілених системах наштовхується на наступні труднощі:
- для розподілених систем запам’ятовування узгодженого глобального стану є серйозною теоретичною проблемою;
- методи відновлення після відмов для деяких систем непридатні через переривання нормального функціонування та ін.
Щоб уникнути вищевказаних проблем, створюють системи, стійкі до відмов. Такі системи або маскують відмови, або ведуть себе у випадку відмови заздалегідь визначеним чином.
У міру того як операційні системи реального часу і вбудовані комп’ютери все частіше використовуються в критично важливих додатках, розробники створюють нові ОС реального часу високої готовності. Ці продукти включають в себе спеціальні програмні компоненти, які ініціюють попередження, запускають системну діагностику для того, щоб допомогти виявити проблему, або автоматично перемикаються на резервну систему.
Відмовостійкість системи забезпечується застосуванням надлишковості, тобто створенням певних запасів або резервів у системі.
У відмовостійких обчислювальних системах може бути застосована надлишковість:
- параметрична;
- часова;
- алгоритмічна;
- структурна (просторова).
Параметрична надлишковість - використання фізичних методів:
- робота при зниженому живленні: знижене живлення підвищує надійність, але збільшується вплив завад;
- робота при стабільному живленні: використання стабілізаторів;
- використання різних джерел живлення. Приклад: якщо одне джерело відмовляє - інші працюють. Це є різноманітність і незалежність;
- робота при знижених температурах зовнішнього середовища. Робота при знижених температурах приводить до збільшення терміну роботи, підвищується надійність;
- робота при стабільній температурі оточуючого середовища: використання термостатів, що покращує роботу системи.
Параметр надлишковості виявляється у полегшенні режимів роботи елементів та вузлів апаратури з метою підвищення їх надійності.
Для правильно спроектованої апаратури параметри експлуатації є близькими до оптимальних. Тому істотно збільшити надійність за рахунок параметрів надлишковості неможливо. Але можна проектувати нову апаратуру з врахуванням параметричної надлишковості.
Часова надлишковість - визначається наявністю додаткового часу для розв’язання завдання. Цей час можна використати у разі виникнення збоїв або інших помилок шляхом виправлення їх за допомогою повторення обчислень:
збільшення часової надлишковості не дає можливість збільшити надійність чи відмовостійкість системи вище певної межі;
часова надлишковість є тільки передумовою для мобілізації ресурсів і для підвищення відмовостійкості, яку має дана обчислювальна система.
Обчислювальна система при збоях здійснює:
- деконфігурацію;
- повтор обчислення.
Алгоритмічна надлишковість - полягає у застосуванні таких алгоритмів, які забезпечують задовільні результати у випадку наявності або виникненні помилок в процесі обчислення. Алгоритмічна надлишковість передбачає наявність часової надлишковості і засобів її реалізації.
Алгоритмічна надлишковість, як і часова надлишковість мало допомагає у випадках відмови апаратури, але вона корисна з точки зору сталості системи до збоїв.
Структурна або просторова надлишковість - це найбільш ефективні види надлишковості.
Основні моделі структурної надлишковості:
- модель з резервуванням;
- ітераційна модель (основоположники Мур і Шенон);
- мажоритарна модель (запропонував в 1952 р фон Нейман, рис.22.2);
- модель логіки з переплетенням (рис.22.3);
- використання коректуючих (ефективних) кодів (рис.22.4, рис.22.5).
Модель з резервуванням
Резервування (рис.22.1) це спосіб підвищення надійності апаратури, який передбачає заміну частини апаратури, що відмовила, резервними.
Існує умова, що резервна апаратура входить конструктивно і функціонально у складну апаратуру надійність якої необхідно підвищити.
Розрізняють резервування:
- гаряче (два однакові модулі працюють одночасно);
- холодне (один модуль знаходиться в резерві);
- ковзаюче (декілька працюючих і декілька резервних).
а)
б)
в)
г)
д)
а) послідовне з’єднання; б) паралельне з’єднання;
в) послідовно-паралельне з’єднання; г) паралельно-послідовне з’єднання; д) змішане з’єднання
Рисунок 22.1 – Моделі з’єднання елементів в завадостійких КС
Рисунок 22.2 – Мажоритарна модель
Рисунок 22.3 – Модель логіки з переплетенням
Використання коректуючих (ефективних) кодів
В 1948р. Клод Шенон надрукував наукову роботу „Схема Зенона по завадостійкому користуванню” в якій запропонував модель зображену на рис.22.4
Рисунок 22.4 – Модель з використання коректуючих (ефективних) кодів (Шенона)
Використовуються коректуючі (ефективні) коди:
- коди з перевіркою на парність;
- код Хемінга.
В 1958 Еллайс запропонував модель показану на рис.22.5
Рисунок 22.5 – Модель з використання коректуючих (ефективних) кодів (Еллайса)
Кодери і декодери роблять на інтегральних схемах.
Проблеми які виникають при застосуванні методу коректуючих (ефективних) кодів:
- немає підстав вважати, що кодери і декодери надійніші ніж ЛБ;
- завадостійке кодування для обчислюваних операцій важко зробити;
- немає вихідного блоку;
- вихідний каркас не захищений.
Захист вихідного каскаду підвищується завдяки використанні методу параметричної надлишковості.
