
- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •2. Надійність і відмовостійкість
- •3. Масштабованість
- •4. Сумісність і мобільність програмного забезпечення
- •5. Класифікація комп'ютерів по галузям застосування Персональні комп'ютери та робочі станції
- •Сервери
- •Мейнфрейми
- •Кластерні архітектури
- •Контрольні запитання
- •Тести tpc
- •2. Тест tpc-a
- •3. Тест tpc-b
- •4. Тест tpc-c
- •5. Майбутні тести tpc
- •2. Архітектура системи команд. Класифікація процесорів (cisc і risc)
- •3. Методи адресації та типи даних Методи адресації
- •4. Типи команд
- •5. Команди керування потоком команд
- •6. Типи й розміри операндів
- •2. Найпростіша організація конвеєра й оцінка його продуктивності
- •3. Структурні конфлікти й способи їхньої мінімізації
- •4. Конфлікти за даними, зупинка конвеєра й реалізація механізму обходів
- •5. Класифікація конфліктів за даними
- •6. Конфлікти за даними, що призводять до призупинки конвеєра
- •7. Методика планування компілятора для усунення конфліктів за даними
- •Контрольні запитання
- •2. Зниження втрат на виконання команд умовного переходу
- •Метод вичікування
- •Метод повернення
- •Затримані переходи
- •3. Статичне прогнозування умовних переходів: використання технології компіляторів
- •2. Обробка багатотактних операцій і механізми обходів у довгих конвеєрах
- •3. Конфлікти й прискорені пересилання в довгих конвеєрах
- •4. Підтримка точних переривань
- •Контрольні запитання
- •2. Паралелізм рівня команд: залежності й конфлікти за даними
- •Залежності
- •3. Паралелізм рівня циклу: концепції та методи
- •4. Основи планування завантаження конвеєра й розгортання циклів
- •Контрольні запитання
- •2. Динамічна оптимізація із централізованою схемою виявлення конфліктів
- •2. Подальше зменшення зупинок по керуванню: буфера цільових адрес переходів
- •Контрольні запитання
- •Процесор з архітектурою 80x86 і Pentium.
- •Особливості процесорів з архітектурою spark компанії Sun Microsystems.
- •Процесори pa-risc компанії Newlett-Packard
- •2.Особливості процесорів з архітектурою sparc компанії Sun Microsystems
- •Процесори pa-risc компанії Hewlett-Packard
- •Контрольні запитання
- •Процесор mc88110 компанії Motorola.
- •Особливості архітектури mips компанії mips Technology.
- •Особливості архітектури Alpha компанії dec.
- •Особливості архітектури power компанії ibm і power pc компанії Motorola, Apple і ibm.
- •2.Особливості архітектури mips компанії mips Technology
- •3.Особливості архітектури Alpha компанії dec
- •4.Особливості архітектури power компанії ibm і PowerPc компаній Motorola, Apple і ibm
- •Архітектура power
- •Еволюція архітектури power у напрямку архітектури PowerPc
- •Процесор PowerPc 603
- •Контрольні запитання
- •Термінологія в області паралельної обробки .
- •Питання створення програмного забезпечення.
- •Ахітектура паралельної обробки.
- •2.Питання створення програмного забезпечення.
- •1) Язикові розширення.
- •2) Розширення компіляторів.
- •3) Додавання нового язикового рівня.
- •4) Нова мова.
- •3.Архітектура паралельної обробки.
- •4.Елементи теорії конкурентних процесів. Події та процеси
- •Особливості мов конкурентного програмування
- •Моделі конкурентних процесів
- •Взаємодія процесів, синхронізація й передача даних
- •2. Внутрішня архітектура трансп’ютера
- •3. Послідовна обробка
- •Регістри трансп’ютера
- •4. Інструкції
- •Безпосередні функції
- •Непрямі функції
- •Ефективність кодування
- •5. Підтримка паралелізму
- •6. Зв'язок
- •Лінії зв'язку
- •7. Таймер
- •8. Альтернативне виконання
- •9. Інструкції із плаваючою крапкою
- •Контрольні запитання
- •2. Найпростіші процеси-примітиви
- •3. Послідовні процеси-композиції
- •4. Паралельні процеси
- •5. Канали зв'язку
- •6. Конструктор альтернативного процесу
- •7. Описи
- •8. Масиви
- •9. Оголошення процесів
- •10. Цикли і масиви процесів
- •Контрольні запитання
- •2. Структури програмування
- •Прості паралельні процеси
- •Синхронізація за допомогою керуючих сигналів
- •3. Мовні засоби для програмування в реальному масштабі часу
- •4. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
Кластерні архітектури
Двома основними проблемами побудови обчислювальних систем для критично важливих додатків, пов'язаних з обробкою транзакцій, керуванням базами даних і обслуговуванням телекомунікацій, є забезпечення високої продуктивності й тривалого функціонування систем. Найбільш ефективний спосіб досягнення заданого рівня продуктивності - застосування паралельних масштабованих архітектур. Завдання забезпечення тривалого функціонування системи має три складові: надійність, готовність і зручність обслуговування. Всі ці три складові припускають, у першу чергу, боротьбу з несправностями системи, породжуваними відмовами й збоями в її роботі. Ця боротьба ведеться по всім трьох напрямках, які взаємозалежні й застосовуються спільно.
Підвищення надійності засноване на принципі запобігання несправностей шляхом зниження інтенсивності відмов і збоїв за рахунок застосування електронних схем і компонентів з високим і надвисоким ступенем інтеграції, зниження рівня перешкод, полегшених режимів роботи схем, забезпечення теплових режимів їхньої роботи, а також за рахунок удосконалювання методів зборки апаратури. Підвищення рівня готовності припускає придушення в певних межах впливу відмов і збоїв на роботу системи за допомогою засобів контролю й корекції помилок, а також засобів автоматичного відновлення обчислювального процесу після прояву несправності, включаючи апаратурну й програмну надлишковість, на основі якої реалізуються різні варіанти відмовостійких архітектур. Підвищення готовності є спосіб боротьби за зниження часу простою системи. Основні експлуатаційні характеристики системи істотно залежать від зручності її обслуговування, зокрема від ремонтопридатності, контролепридатності й т.д.
В останні роки в літературі по обчислювальній техніці все частіше вживається термін "системи високої готовності" (High Availability Systems). Всі типи систем високої готовності мають загальну мету - мінімізацію часу простою. Є два типи часу простою комп'ютера: планове й непланове. Мінімізація кожного з них вимагає різної стратегії й технології. Плановий час простою звичайно включає час, прийнятий керівництвом, для проведення робіт з модернізації системи і для її обслуговування. Неплановий час простою є результатом відмови системи або компонент. Хоча системи високої готовності якнайбільше асоціюються з мінімізацією непланових простоїв, вони виявляються також корисними для зменшення планового часу простою.
Існує кілька типів систем високої готовності, що відрізняються своїми функціональними можливостями й вартістю. Слід зазначити, що висока готовність не дається безкоштовно. Вартість систем високої готовності на багато перевищує вартість звичайних систем. Імовірно тому найбільше поширення у світі одержали кластерні системи, завдяки тому, що вони забезпечують досить високий рівень готовності систем при відносно низьких витратах. Термін "кластеризація" на сьогодні в комп'ютерній промисловості має багато різних значень. Суворе визначення могло б звучати так: "реалізація об'єднання машин, що представляється єдиним цілим для операційної системи, системного програмного забезпечення, прикладних програм і користувачів". Машини, кластеризовані разом таким способом можуть при відмові одного процесора дуже швидко перерозподілити роботу на інші процесори усередині кластера. Це, можливо, найбільш важливе завдання багатьох постачальників систем високої готовності.
Першою концепцію кластерної системи анонсувала компанія DEC, визначивши її як групу об'єднаних між собою обчислювальних машин, що представляють собою єдиний вузол обробки інформації. По суті VAX-кластер являє собою слабкозв’язану багатомашинну систему із загальною зовнішньою пам'яттю, що забезпечує єдиний механізм керування та адміністрування. У цей час на зміну VAX-кластерам приходять UNIX-кластери. При цьому VAX-кластери пропонують перевірений набір рішень, що встановлює критерії для оцінки подібних систем.
VAX-кластер має наступні властивості:
Поділ ресурсів. Комп'ютери VAX у кластері можуть розділяти доступ до загальних стрічкових і дискових накопичувачів. Всі комп'ютери VAX у кластері можуть звертатися до окремих файлів даних як до локального.
Висока готовність. Якщо відбувається відмова одного з VAX-комп'ютерів, завдання його користувачів автоматично можуть бути перенесені на інший комп'ютер кластера. Якщо в системі є кілька контролерів зовнішніх накопичувачів і один з них відмовляє, інші контролери автоматично підхоплюють його роботу.
Висока пропускна здатність. Ряд прикладних систем можуть користатися з можливості паралельного виконання завдань на декількох комп'ютерах кластера.
Зручність обслуговування системи. Загальні бази даних можуть обслуговуватися з єдиного місця. Прикладні програми можуть інсталюватися тільки один раз на загальних дисках кластера й розділятися між всіма комп'ютерами кластера.
Розширюваність. Збільшення обчислювальної потужності кластера досягається підключенням до нього додаткових VAX-комп'ютерів. Додаткові накопичувачі на магнітних дисках і магнітних стрічках стають доступними для всіх комп'ютерів, що входять у кластер.
Робота будь-якої кластерної системи визначається двома головними компонентами: високошвидкісним механізмом зв'язку процесорів між собою й системним програмним забезпеченням, що забезпечує клієнтам прозорий доступ до системного сервісу. Більш докладно різні способи організації зв'язку комп'ютерів усередині кластера й особливості системного програмного забезпечення різних фірм-постачальників розглянуті в розд. 1.11 даного огляду.
У цей час широке поширення одержала також технологія паралельних баз даних. Ця технологія дозволяє безлічі процесорів розділяти доступ до єдиної бази даних. Розподіл завдань по безлічі процесорних ресурсів і паралельне їхнє виконання дозволяє досягти більше високого рівня пропускної здатності транзакцій, підтримувати більше число одночасно працюючих користувачів і прискорити виконання складних запитів. Існують три різних типи архітектури, які підтримують паралельні бази даних:
Симетрична багатопроцесорна архітектура із загальною пам'яттю (Shared Memory SMP Architecture). Ця архітектура підтримує єдину базу даних, що працює на багатопроцесорном сервері під керуванням однієї операційної системи. Збільшення продуктивності таких систем забезпечується нарощуванням числа процесорів, пристроїв оперативної й зовнішньої пам'яті.
Архітектура із загальними (поділюваними) дисками (Shared Disk Architecture). Це типовий випадок побудови кластерної системи. Ця архітектура підтримує єдину базу даних при роботі з декількома комп'ютерами, об'єднаними в кластер (звичайно такі комп'ютери називаються вузлами кластера), кожний з яких працює під керуванням своєї копії операційної системи. У таких системах всі вузли розділяють доступ до загальних дисків, на яких властиво й розташовується єдина база даних. Продуктивність таких систем може збільшуватися як шляхом нарощування числа процесорів і обсягів оперативної пам'яті в кожному вузлі кластера, так і за допомогою збільшення кількості самих вузлів.
Архітектура без поділу ресурсів (Shared Nothing Architecture). Як і в архітектурі із загальними дисками, у цій архітектурі підтримується єдиний образ бази даних при роботі з декількома комп'ютерами, що працюють під керуванням своїх копій операційної системи. Однак у цій архітектурі кожний вузол системи має власну оперативну пам'ять і власні диски, які не розділяються між окремими вузлами системи. Практично в таких системах розділяється тільки загальний комунікаційний канал між вузлами системи. Продуктивність таких систем може збільшуватися шляхом додавання процесорів, обсягів оперативної й зовнішньої (дискової) пам'яті в кожному вузлі, а також шляхом нарощування кількості таких вузлів.
Таким чином, середовище для роботи паралельної бази даних володіє двома важливими властивостями: високою готовністю й високою продуктивністю. У випадку кластерної організації кілька комп'ютерів або вузлів кластера працюють із єдиною базою даних. У випадку відмови одного з таких вузлів, вузли, що залишились, можуть взяти на себе завдання, що виконувалися на вузлі, що відмовив, не зупиняючи загальний процес роботи з базою даних. Оскільки логічно в кожному вузлі системи є образ бази даних, доступ до бази даних буде забезпечуватися доти, поки в системі є принаймні один справний вузол. Продуктивність системи легко масштабується, тобто додавання додаткових процесорів, обсягів оперативної й дискової пам'яті, і нових вузлів у системі може виконуватися в будь-який час, коли це дійсно потрібно.
Паралельні бази даних знаходять широке застосування в системах обробки транзакцій у режимі on-line, системах підтримки прийняття рішень і часто використаються при роботі із критично важливими для роботи підприємств і організацій додатками, які експлуатуються по 24 години на добу.