Характеристики розподілених систем

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

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

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

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

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

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

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

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

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

Велика продуктивність завдяки балансуванню навантаження. Часто мотивом для створення розподіленої системи служить завдання збільшення загальної пропускної спроможності системи шляхом балансування навантаження складових її вузлів. При цьому підході завдання (цілком!!!) потрапляє на найменш завантажену частину (вузол) системи. В якості прикладу можна привести одну з систем пошуку в Internet, коли запит користувача перенаправляється на веб-сервер, найменш завантажений зараз.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: