Поняття розподіленої системи

Передумови виникнення розподілених систем. Ріст продуктивності в комп'ютерних мережах. Сутність розподілених систем, їх застосування, переваги та недоліки. Класифікація розподілених систем та їх характеристика: суперкомп'ютер, паралельний комп’ютер, ін.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык украинский
Дата добавления 30.08.2017
Размер файла 123,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Тема 1. Поняття розподіленої системи

План

1. Передумови виникнення розподілених систем

2. Сутність розподілених систем

3. Особливості застосування розподілених систем

3.1 Переваги розподілених систем

3.2 Недоліки розподілених систем

4. Класифікація розподілених систем

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

Висновки

Питання для самоконтролю

1. Передумови виникнення розподілених систем

розподілений комп'ютерний мережа продуктивність

Швидкість росту, що спостерігалася в комп'ютерних технологіях в останні півстоліття - значна. Розвиток пройшов від машин, що коштували 100 мільйонів доларів і виконували одну команду за секунду, до машин, які коштують 1000 доларів і виконуючих 10 мільйонів команд за секунду. Різниця в співвідношенні ціна/продуктивність досягла порядку 1012. На рис.1.1 показано темпи збільшення продуктивності розподілених систем та технології, за допомогою яких це було досягнуто.

Рис. 1.1. Ріст продуктивності в комп'ютерних мережах

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

Важливим є й факт винаходу високошвидкісних комп'ютерних мереж. Локальні мережі (Local-Area Networks, LAN) стали з'єднувати сотні комп'ютерів, що перебувають у будинку, дозволяти їм обмінюватися невеликими порціями інформації за кілька мікросекунд. Великі масиви даних почали передаватися з машини на машину зі швидкістю від 10 до 1000 Мбит/с.

Відмова від централізації була викликано чотирма тенденціями розвитку:

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

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

3. Необхідно звернути увагу на значний прогрес в останні десятиліття в області програмних технологій. Введення в мовах програмування таких концепцій, як "процедура", "модуль" і "інтерфейс" створило передумови для створення основних механізмів розподілених систем. У результаті були створені технології віддаленого виклику прикладних програм RPC (Remote Procedure Call) і об'єктно-орієнтоване проектування розподілених систем.

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

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

В кінці кінців локальні мережі вже сформували глобальні мережі (Wide-Area Networks, WAN), що дозволяють мільйонам машин в усьому світі обмінюватися інформацією зі швидкостями, що варіюються від 64 кбіт/с до гігабіт за секунду.

У результаті розвитку мережних технологій можливо зібрати комп'ютерну систему, що складається з ряду комп'ютерів і інших пристроїв, з'єднаних високошвидкісною мережею, яка називається комп'ютерною мережею, або розподіленою системою (distributed system), на відміну від попередніх їй централізованих (centralized systems), або однопроцесорних (single-processor systems) систем, тобто систем, що складалися з одного комп'ютера, його периферії й, можливо, декількох віддалених терміналів.

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

2. Сутність розподілених систем

Поняття розподілена система в літературі визначається по-різному. Розуміння того, що повинна представляти собою розподілена система, сформувалося історично й постійно уточнюється.

Визначення 1. Розподіленою системою називається ряд з'єднаних центральних процесорів (ЦПУ - CPU), що працюють разом.

Визначення 2. Розподіленою системою називається ряд машин з нерозділеною пам'яттю.

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

Використовуються також наступні визначення:

Визначення 3. Розподілена система є системою із просторово розподіленими компонентами, які не використовують ніякої спільної пам'яті й не підлягають децентралізованій адміністрації. Для реалізації спільних цілей можлива кооперація компонентів. Якщо цими компонентами пропонуються послуги або використовуються запропоновані послуги, то виникає клієнт-серверна система, у випадку додаткового центрального службового посередництва - “торгівельна” система (Trading-Система).

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

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

У цьому визначенні є два однаково важливі моменти:

- стосовно апаратури: всі машини автономні;

- стосовно програмного забезпечення: користувачам надається у користування єдина система.

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

3. Особливості застосування розподілених систем

3.1 Переваги розподілених систем

Є ряд причин, які приводять до заміни централізованих систем розподіленими:

- розподілені системи легко масштабуються. Нові вимоги до комп'ютерної системи при розширенні підприємства можуть бути легко реалізованими;

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

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

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

- власник ресурсу має можливість самостійно управляти цим компонентом. Він може вільно втручатися й реконфігурувати систему в своїх інтересах;

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

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

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

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

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

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

- для збільшення продуктивності загальної системи не потрібно розробляти нові апаратні елементи;

- полегшене тепловідведення, так як блоки «розкидані» на опорній платі,

- зменшується диференціація температурних зон і абсолютні значення температур.

3.2 Недоліки розподілених систем

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

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

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

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

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

- необхідність розробки і введення модулів синхронізації;

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

- зростання розмірів опорних плат разом із зростанням сумарної потужності.

4. Класифікація розподілених систем

Класифікація розподілених систем залежить відповідно від апаратного й програмного забезпечення.

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

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

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

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

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

Архітектури паралельних комп'ютерів можуть значно відрізнятися одна від одної. Паралельні комп'ютери складаються з трьох основних компонентів:

1. Процесори.

2. Модулі пам'яті.

3. Комутаційна мережа.

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

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

1. Класичний "von Neumann"- комп'ютер, скорочується як SISD (Single Instruction Single Data), де використовується єдина інструкція та єдиний потік даних.

2. Паралельні й розподілені архітектури з MIMD (Multiple Instruction Multiple Data), де використовуються множинні інструкції та паралельні потоки даних.

3. Змішані форми, що належать одному із класів SIMD (єдина інструкція - паралельний потік даних) або, рідше, MISD (множинні інструкції - єдиний потік даних).

У відповідності до цього розрізняють наступні архітектури комп`ютерів:

- SIMD (Single Instruction Multiple), див. рис. 1.2;

- MIMD (Multiple Instruction Multiple), див. рис. 1.3.

SIMD (Single Instruction Multiple)

SIMD комп'ютер має N ідентичних синхронно працюючих процесорів, N потоків даних і один потік команд. Кожен процесор володіє власною локальною пам'яттю. Мережа, яка з'єднує процесори, звичайно має регулярну топологію.

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

Размещено на http://www.allbest.ru/

Рис. 1.2 Архітектура SIMD комп'ютера

MIMD (Multiple Instruction Multiple)

MIMD комп'ютер має N процесорів, N потоків команд і N потоків даних. Кожен процесор функціонує під управлінням власного потоку команд, тобто MIMD комп'ютер може паралельно виконувати зовсім різні програми.

Размещено на http://www.allbest.ru/

Рис. 1.3 Архітектура MIMD комп'ютера

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

1. Комп'ютери з розподіленою пам'яттю (distributed memory): кожен процесор має доступ лише до локальної, власної пам'яті. Процесори об'єднані в мережу. Доступ до віддаленої пам'яті можливий тільки за допомогою системи обміну повідомленнями.

2. Комп'ютери зі спільною пам'яттю (true shared memory): всі процесори спільно звертаються до загальної пам'яті, як правило, через шину або ієрархію шин.

3. Комп'ютери з віртуально спільною пам'яттю (virtual shared memory): у таких системах загальна пам'ять, як така, відсутня. Кожен процесор має власну локальну пам'ять. Він може звертатися до локальної пам'яті інших процесорів, використовуючи “глобальну адресу”. Якщо “глобальна адреса” вказує не на локальну пам'ять, то доступ до пам'яті реалізується за допомогою повідомлень, які пересилаються по мережі, що з'єднує процесори, з малою затримкою.

Існуючі паралельні обчислювальні засоби класу MIMD утворять три підкласи:

1. Симетричні мультипроцесори (SMP).

2. Кластери.

3. Масово паралельні системи (MPP).

В основу цієї класифікації покладено структурно-функціональний підхід.

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

Кластерна система утворюється з модулів, об'єднаних системою зв'язку або розділюваними пристроями зовнішньої пам'яті, наприклад дисковими масивами. В даний час для cтворення кластерних систем використовуються спеціалізовані фірмові засоби (наприклад, MEMORY CHANEL фірми DEC, AWS фірми NCR), або універсальні локальні і глобальні мережі такі, як Ethernet, FDDI (Fiber Distributed Data Interface), і інші мережі, наприклад, із протоколами TCP/IP, або дискові масиви з високошвидкісними широкими подвійними (Wide/Fast) і квадро PCI SCSI контролерами. Розмір кластера варіюється від декількох модулів до декількох десятків модулів.

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

Прикладом систем зі спільною пам'яттю може слугувати багатоядерний центральний процесор сімейства Intel Core. Він має один корпус і встановляється в один роз`єм на системній платі комп'ютера, але операційна система сприймає кожне його обчислювальне ядро як окремий процесор з повним набором обчислювальних ресурсів. Кеш-пам'ять першого рівня у кожного ядра своя, а кеш-пам'ять 2-го рівня поділювана -- кеш розташований на одному з обома ядрами кристалі і доступний кожному з них у повному обсязі. На сьогоднішній день основні виробники процесорів -- Intel і AMD -- визнали подальше збільшення числа ядер процесорів як один з пріоритетних напрямів збільшення продуктивності. Вже освоєно виробництво 4,6-ядерних процесорів для домашніх комп'ютерів, а також 8-ми і 10-ядерних в серверних системах.

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

Представники систем з розподіленою пам'яттю:

- трансп'ютер - паралельний обчислювальний прискорювач для комп'ютера загального призначення (HOST). У якості хост-системи з однаковим успіхом виступають як робочі станції типу Sun, так і персональні комп'ютери ІBM PC.

- гібридні системи - засновані на трансп`ютерних каналах зв'язку, отримали поширення, але втрачають своє значення через недостатню пропускну здатність мережі.

- кластери робочих станцій - об'єднання певного числа персональних комп'ютерів і/або робочих станцій.

Прикладом систем з поділюваною пам'яттю може слугувати багатоядерний центральний процесор сімейства Athlon 64 X2 (3-10) або багатопроцесорні материнські плати під одноядерні процесори. Задачі обробляються конвеєрно. В процесі виконання команд у конвеєрі, відбувається зміщення етапів виконання для декількох команд (тобто в конвеєрі одночасно знаходяться декілька) команд на різних стадіях. Кожний етап конвеєрного обчислення виконується за один машинний цикл. Зрозуміло, що виконання однієї окремої команди на послідовному процесорі (де команда виконується зразу за один машинний цикл) може бути швидшим, аніж в конвеєрній організації. Але за рахунок зміщення виконання різних команд загальна швидкодія істотно збільшується.

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

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

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

Таким чином, класифікація проводилася винятково за ознаками реалізації апаратної частини. Системи розділялися на чотири групи: шинно й відповідно Switch-базовані, вільно з'єднані або сильно зв'язні.

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

Рис. 1.4. Шинно- і switch-базовані системи з і без спільної пам'яті

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

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

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

Мережна операційна систем припускає, що кожний користувач має свою власну робочу станцію (Workstation) із власною операційною системою. Комунікація використовується в цьому випадку для доступу до спільних файлів.

Мультипроцесорна операційна система служить часто для спеціальних цілей, як, наприклад, для системи банку даних. Характерним у цьому випадку є наявність окремого процесу в спільній пам'яті. Комунікація між окремими компонентами такої системи відбувається для сполучення процесів інформаційного обміну.

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

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

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

- розподілені системи типу "Newcastle", які дозволяють налагоджувати дистанційний зв'язок по іменах дистанційних файлів в бібліотеці. Дистанційні файли мають специфікацію (складне ім'я), яка в показнику шляху пошуку містить спеціальні символи або додаткову компоненту імені, яка передує кореню файлової системи. Реалізація цього методу не передбачає внесення змін в ядро системи, внаслідок чого він більш простіший, ніж інші методи, але менш гнучкий;

- абсолютно "прозорі" розподілені системи, в яких для звернення до файлів, розташованих на інших машинах, достатньо вказати їх стандартні складні імена; розрізнення цих файлів як дистанційних входить в обов'язки ядра. Маршрути пошуку файлів, вказані в їх складних іменах.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- гнучкість;

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

- стійкість;

- безпека;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Висновки

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

2. Розмір розподілених систем обмежується тільки розміром базової мережі.

3. Розподілені системи класифікуються за принципами, які основані на апаратному та програмному забезпеченні.

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

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

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

Питання для самоконтролю

1. Дайте визначення поняттю розподілена система?

2. Яким є основне завдання розподіленої системи?

3. Коли та чим була викликана відмова від централізації?

4. Перерахуйте переваги розподілених систем.

5. Які недоліки мають розподілені системи?

6. Приведіть класифікацію розподілених систем відповідно до апаратного забезпечення.

7. Приведіть класифікація розподілених систем відповідно до програмного забезпечення.

8. Які характерні риси мають розподілені системи?

9. Яким вимогам повинні задовольняти розподілені системи? Коротко охарактеризуйте кожну з них.

10. Дайте визначення поняттю суперкомп'ютер.

11. Назвіть основні компоненти паралельних комп'ютерів.

12. Чому апаратура комп'ютерів пішла шляхом «розподілення»?

13. Наведіть приклади реалізації апаратури з спільною пам'яттю для ПК.

14. Наведіть приклади реалізації апаратури з розділюваною пам'яттю для ПК.

Размещено на Allbest.ru

...

Подобные документы

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

    реферат [20,8 K], добавлен 13.11.2013

  • Історія виникнення квантових комп’ютерів. Структура квантових комп’ютерів та принципи роботи. Квантовий комп’ютер на ядерних спінах у кремнію. Квантовий комп’ютер на електронному спіновому резонансі в структурах Ge–Si. Надпровідниковий суперкомп’ютер.

    курсовая работа [579,4 K], добавлен 15.12.2008

  • Принципи побудови розподілених обчислювальних мереж, зокрема GRID-систем. Існуючи способи планування задач в них. Детальний аналіз Moab Workload Manager, недоліки алгоритму. Розроблення програмного забезпечення щодо більш ефективної його роботи.

    дипломная работа [1,7 M], добавлен 13.04.2014

  • Поняття пам’яті в комп’ютері. Класифікація сучасних персональних комп’ютерів за їх ознаками. Основні принципи будови та функціонування комп'ютерних систем. Функціональність смартфонів і комунікаторів в порівнянні із звичайними мобільними телефонами.

    курсовая работа [70,3 K], добавлен 31.01.2014

  • Підвищення продуктивності мікропроцесорних систем. Основні напрями вдосконалення архітектури сучасних обчислювальних систем. Багатоядерні МП та багатопроцесорні МПС. Конвеєризація та розпаралелювання обчислень. Суперкомп'ютери - надвисоки швидкості.

    лекция [408,1 K], добавлен 13.04.2008

  • Функціонально розподілені системи. Паралельні комп’ютери та їх продуктивність. Методи розподілення доступу до спільної пам’яті в багатопроцесорних системах. Системи з розподіленою пам’яттю. Класичні матричні системи, метакомп’ютери та трансп’ютери.

    курсовая работа [485,9 K], добавлен 20.06.2010

  • Підхід Фліна до класифікації архітектур комп’ютерних систем. Доповнення Ванга та Бріггса до класифікації Фліна. Класифікація MIMD-архітектур Джонсона. Особливості способів компонування комп’ютерних систем Хендлера, Фенга, Шора, Базу та Шнайдера.

    реферат [233,7 K], добавлен 08.09.2011

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

    дипломная работа [2,4 M], добавлен 16.07.2014

  • Системний блок як корпус, який містить основні компоненти персонального комп’ютера. Коротка характеристика головних зовнішніх та внутрішніх пристроїв персонального комп’ютера. Послідовність операцій при обтиску та обробленні роз'єму "витої пари".

    лабораторная работа [1,7 M], добавлен 02.06.2011

  • Класифікація комп'ютерних мереж. Забезпечення функціонування локальної мережі за допомогою сервера. Топологія локальної мережі. Оптоволоконний інтерфейс до розподілених даних FDDI. Бездротові технології Wi-Fi, Bluetooth, GPRS. Мережеві апаратні засоби.

    реферат [561,2 K], добавлен 15.03.2013

  • Історія створення комп’ютерних комунікацій та принципи їх побудови. Характеристика устаткування для створення комп’ютерних мереж. Поняття адресації, види протоколів, їх розвиток, комбінування та особливості використання. Стандарти бездротових мереж.

    курс лекций [1,3 M], добавлен 04.06.2011

  • Використання засобів обчислювальної техніки в автоматичних або автоматизованих інформаційних системах. Сутність централізованих систем управління файлами. Історія виникнення персональних комп'ютерів. Перспективи розвитку систем управління базами даних.

    реферат [26,8 K], добавлен 23.10.2009

  • Коротка характеристика поколінь розвитку інформаційних систем. Функціональні, технічні, організаційні, документальні, алгоритмічні та програмні системи. Загальне поняття про зовнішню та внутрішню інформацію. Побутові та професійні персональні комп'ютери.

    лекция [1,2 M], добавлен 14.04.2014

  • Способи виявлення й видалення невідомого вірусу. Спроби протидії комп’ютерним вірусам. Способи захисту комп’ютера від зараження вірусами та зберігання інформації на дисках. Класифікація комп'ютерних вірусів та основні типи антивірусних програм.

    реферат [17,1 K], добавлен 16.06.2010

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

    реферат [158,1 K], добавлен 27.09.2012

  • Загальна характеристика навчально-наукового комп'ютерного центру. Державні норми влаштування і обладнання кабінетів комп'ютерної техніки. Створення довідкової бази про факультет комп’ютерних систем для приймальної комісії у вигляді сайту для абітурієнтів.

    отчет по практике [72,0 K], добавлен 07.07.2010

  • Класифікація, конструкція, технології планшетних комп'ютерів. Особливості та апаратна архітектура інтернет-планшетів різних виробників. Переваги планшетних ПК (сенсорний екран, компактність, мультимедійні можливості) та їх недоліки (дисплей, висока ціна).

    контрольная работа [2,8 M], добавлен 12.03.2013

  • Вивчення історії кафедри "Комп’ютерної інженерії". Дослідження процесу складання, монтажу, налагодження, тестування апаратного забезпечення комп’ютерних систем і мереж. Науково-дослідні роботи у лабораторії "Програмного забезпечення комп’ютерних систем".

    отчет по практике [23,9 K], добавлен 01.03.2013

  • Актуальність сучасної системи оптичного розпізнавання символів. Призначення даних систем для автоматичного введення друкованих документів в комп'ютер. Послідовність стадій процесу введення документу в комп'ютер. Нові можливості програми FineReader 5.0.

    курсовая работа [4,5 M], добавлен 29.09.2010

  • Класифікація мереж залежно від призначення та кола користувачів, визначена законодавством України. Порівняльна характеристика систем автоматизації роботи з документами. Переваги використання комп'ютерних технологій при проведенні судової експертизи.

    контрольная работа [47,7 K], добавлен 20.07.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.