Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ободяк 3 курс / РСтаМ-том1-2011.docx
Скачиваний:
128
Добавлен:
19.04.2015
Размер:
8.73 Mб
Скачать
    1. Характеристики розподілених систем

Розподілені системи мають наступні характерні риси:

  1. Першим аспектом є просторова розподіленість компонент розподіленої системи. Вони вступають у взаємодію або локально або віддалено.

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

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

  3. Компоненти працюють незалежно й можуть «випадати», не руйнуючи систему в цілому, також незалежно одна від одної. Розподілені системи підлягають, таким чином, частковому системному «випаданню».

  4. Система працює асинхронно. Процеси комунікації й обробки не управляються глобальним системним часом. Зміни й процеси синхронізуються.

  5. У розподіленій системі функції управління розподіляються між різними автономними компонентами. При цьому ніякий окремий компонент не може здійснювати весь контроль. Це гарантує певну міру автономії.

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

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

  8. Розподілена система повинна бути в змозі використовувати динамічні зміни структури. Ця динамічна реконфігурація потрібна, наприклад, тоді, коли протягом певного часу повинні з'являтися нові з'єднання.

  9. Архітектура комп'ютерів може використовувати різні топології й механізми, зокрема, якщо апаратура надходить від різних виробників. Ця характеристика називається гетерогенністю.

  10. Розподілена система підлягає еволюції, тобто за час її життя відбуваються різні зміни.

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

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

  • прозорість;

  • відкритість;

  • гнучкість;

  • масштабованість;

  • стійкість;

  • безпека;

  • ефективність.

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

Є багато характерних рис прозорості розподілу. Виділимо лише деякі:

  • прозорість доступу приховує спеціальні механізми доступу для локальних або віддалених служб до ресурсів системи, прозорість місця розташування приховує системні топології, тобто приховує від користувача фізичне місце розташування ресурсів (досягається присвоєнням логічних імен, дозволяє приховувати різні формати даних, які передаються різним процесам);

  • прозорість міграції – приховує факт переміщення ресурсів в інше місце;

  • прозорість виконання приховує спосіб обробки обчислювальних потоків, відбувається виконання обчислень паралельно або послідовно;

  • прозорість зміни місця розташування приховує зміну ресурсу під час його обробки;

  • прозорість реплікації приховує факт реплікації під час обробки даних;

  • прозорість паралельного доступу приховує факт спільного використання ресурсів декількома конкуруючими процесами користувачів;

  • прозорість відмови приховує факт виникнення відмов у системі й відновлення ресурсу при цьому;

  • збереження приховує факт розташування ресурсу на носіях або кешування ресурсу;

  • прозорістю з'єднання сховані границі між адміністративними й технологічними областями в системі;

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

Відкрита розподілена система(open distributed system) – це система, що пропонує стандартні засоби й служби доступу до системи широкому колу користувачів, що використовують стандартні синтаксис і семантику всіх протоколів взаємодії. Всі протоколи взаємодії компонент усередині розподіленої системи в ідеальному випадку повинні бути засновані на загальнодоступних стандартах. Це дозволяє використовувати для створення компонентів різні засоби розробки й операційні системи. Кожна компонента повинна мати точну й повну специфікацію своїх сервісів. У цьому випадку компоненти розподіленої системи можуть бути створені незалежними розробниками. При порушенні цієї вимоги може стати неможливим створення розподіленої системи, що охоплює кілька незалежних організацій.

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

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

Масштабованість обчислювальних систем має кілька аспектів. Найбільш важливий з них – можливість додавання в розподілену систему нових комп'ютерів для збільшення продуктивності системи, що пов'язане з поняттям балансування навантаження (load balancing) на сервери системи. До масштабування також відносяться питання ефективного розподілу ресурсів серверів, що обслуговують запити клієнтів.

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

Основні підходи, що забезпечують масштабованість розподіленої системи:

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

  1. Розподіл передбачає розбивку компонентів системи на дрібні частини й наступне рознесення цих частин по фізичним територіально розподіленим вузлам системи. Прикладом розподілу є система доменних імен Інтернет (DNS).

  2. Реплікація не тільки підвищує доступність, але й допомагає вирівняти завантаження компонентів системи, що веде до підвищення продуктивності. Кешування (caching) є особливою формою реплікації, причому розходження між ними нерідко малопомітні або взагалі штучні. Як і у випадку реплікації, результатом кешування є створення копії ресурсу, звичайно в безпосередній близькості від клієнта, що використовує цей ресурс. Кешування – це дія, що використовується споживачем ресурсу, а не його власником. На масштабованість може погано вплинути один істотний недолік кешування й реплікації. Оскільки створюється ряд копій ресурсу, модифікація однієї копії робить її відмінною від інших. Відповідно, кешування й реплікація викликають проблеми несуперечності даних (consistency).

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

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

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

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

Соседние файлы в папке Ободяк 3 курс