Розподілені обчислювальні системи
3 УДК Схвалено навчально-методичною комісією факультету обчислювальної математики та інформатики Рецензент: доктор фіз.-мат. наук, професор Л.Б. Соколинский Радченко, Г.І. Розподілені обчислювальні системи / Г.І. Радченко. Луганськ. Фотохудожник, с. ISBN У навчальному посібнику розглянуті основні технології організації розподілених обчислювальних систем. Представлені основні підходи до розподіленої обробки інформації в обчислювальних мережах і організації розподілених додатків. Проводиться огляд основних підходів до організації розподілених обчислювальних систем: методи віддалених викликів процедур, багатошарові клієнт-серверні системи, багатоагентні системи, технології тимчасових обчислень. Розглядається сервіс-орієнтований підхід до побудови розподілених обчислювальних систем. Наводиться опис концепції грід-обчислень. Розглядається технологія і архітектура побудови систем хмарних обчислень. Посібник призначений для студентів бакалаврату та магістратури за напрямом «Фундаментальна інформатика та інформаційні технології» при вивченні курсів «Об'єктна розподілена обробка», «Введення в сервіс-орієнтовані архітектури», «Розподілені об'єктні технології». УДК
if ($ this-> show_pages_images $ Page_num doc [ 'images_node_id'])
6 12.3 Компоненти хмарних додатків Переваги та недоліки хмарних обчислень Класифікація хмар Найбільш поширені хмарні платформи Порівняння Грід і Хмарних обчислень Список літератури Предметний покажчик
9 Введення в розподілені обчислювальні системи 1.2 Проміжне програмне забезпечення Розподілена обчислювальна система являє собою программноаппаратний комплекс, орієнтований на вирішення певних завдань. З одного боку, кожен обчислювальний вузол є автономним елементом. З іншого боку, програмна складова РВС повинна забезпечувати користувачам видимість роботи з єдиної обчислювальної системою. У зв'язку з цим виділяють наступні важливі характеристики РВС: можливість роботи з різними типами пристроїв: з різними постачальниками пристроїв; з різними операційними системами, з різними апаратними платформами. Обчислювальні середовища, що складаються з безлічі обчислювальних систем на базі різних програмно-апаратних платформ, називаються гетерогенними; можливість простого розширення і масштабування; перманентна (постійна) доступність ресурсів (навіть якщо деякі елементи РВС деякий час можуть перебувати поза доступу); приховування особливостей комунікації від користувачів. Для забезпечення роботи гетерогенного обладнання РВС у вигляді єдиного цілого, стек програмного забезпечення (ПО) зазвичай розбивають на два шари. На верхньому шарі розташовуються розподілені додатки, що відповідають за вирішення певних прикладних задач засобами РВС. Їх функціональні можливості базуються на нижньому шарі проміжному програмному забезпеченні (ППО). ППО взаємодіє з системним ПО і мережевим рівнем, для забезпечення прозорості роботи додатків в РВС (див. Рис. 1). Для того щоб РВС могла бути представлена користувачеві як єдина система, застосовують такі типи прозорості в РВС: прозорий доступ до ресурсів від користувачів повинна бути прихована різниця в поданні даних і в способах доступу до ресурсів РВС; прозоре місце розташування ресурсів місце фізичного розташування необхідного ресурсу повинно бути несуттєво для користувача; реплікація приховування від користувача того, що в реальності існує більше однієї копії використовуваних ресурсів; 9
10 Глава 1 Рис. 1. Шари програмного забезпечення в РВС паралельний доступ можливість спільного (одночасного) використання одного і того ж ресурсу різними користувачами незалежно один від одного. При цьому факт спільного використання ресурсу повинен залишатися прихованим від користувача; прозорість відмов відмова (відключення) будь-яких ресурсів РВС не повинен впливати на роботу користувача і його додатки. 1.3 Термінологія РВС 1. Ресурсом називається будь-яка програмна або апаратна сутність, представлена або використовувана в розподіленої мережі. Наприклад, комп'ютер, пристрій зберігання, файл, комунікаційний канал, сервіс і т.п. 2. Вузол будь апаратний пристрій в розподіленої обчислювальної системи. 3. Сервер це постачальник інформації в РВС (наприклад, веб-сервер). 4. Клієнт це споживач інформації в РВС (наприклад, веб-браузер). 5. Бенкет це вузол, який поєднує в собі як клієнтську, так і серверну частину (тобто і постачальник, і споживач інформації одночасно). 6. Сервіс це мережева сутність, що надає певні функціональні можливості [30] (наприклад, веб-сервер може надавати сервіс передачі файлів по протоколу HTTP). В рамках одного вузла можуть надаватися кілька різних сервісів. На малюнку 2 наведена схема, що встановлює взаємини між даними термінами. Зі схеми видно, що кожен комп'ютер або пристрій 10
13 Введення в розподілені обчислювальні системи 1.5 Зв'язок в РВС Поняття «розподілена обчислювальна система» має на увазі, що компоненти такої системи розподілені, тобто віддалені один від одного. Очевидно, що функціонування подібних систем неможливо без ефективного зв'язку між її компонентами. Завдання організації обміну між розподіленими (територіально, адміністративно і т.д.) компонентами давно і в значній мірі успішно вирішуються в обчислювальних мережах, і, природно, що РВС використовують напрацьований досвід. Взаємодія в обчислювальних мережах базується на протоколах. Протокол це набір правил і угод, що описують процедуру взаємодії між компонентами системи (в тому числі і обчислювальної). Мал. 3. Рівні моделі OSI Якщо система підтримує певний протокол, вона, з великою часткою ймовірності, виявиться здатна взаємодіяти з іншою системою, яка так само підтримує даний протокол. В області обчислювальних комунікацій вже тривалий час існує загальноприйнята система протоколів мережева модель OSI (англ. Open Systems Interconnection basic reference model базова еталонна модель взаємодії відкритих систем). Ця модель являє собою стек протоколів різного рівня, які дозволяють описати практично всі аспекти взаємодії компонентів РВС. Детальний розгляд стека протоколів OSI і особливостей його різних рівнів лежить за рамками даної дисципліни. 13
25 Глава 2 том, що таке «Хмарні Обчислення» і яким чином вони співвідносяться з парадигмою «Грід-обчислень». Більш детально, принципи організації агентних систем будуть розглянуті в главі 12 «Хмарні обчислення». 2.4 Висновок Розподілені обчислювальні системи це сформована сфера високопродуктивних обчислень, що володіє своєю специфікою, яскраво вираженим класом вирішуваних завдань і методами їх вирішення. Розробляються і впроваджуються нові концепції побудови розподілених систем, розширюється коло розв'язуваних ними завдань, спрощується процес організації, розробляються більш прості методи використання ресурсів кінцевими користувачами. 26
26 3. Веб Мабуть, Веб став настільки поширеним не тільки через те, що він робить, але через те, що він не намагається робити. Так, Веб формує дуже просту основу, на базі якої можна легко створювати нові концепції. Однак складність полягає в тому, щоб нові ідеї не блокували розвиток самого винаходу. Саме тому основним напрямком діяльності Консорціуму Всесвітньої Павутини (W3C) та інших зацікавлених груп є визначення архітектури Інтернету, способів її підтримки і вдосконалення. Це своєрідний баланс між природним еволюційним розвитком і збереженням вже накопиченого досвіду. В основі веб-концепції лежить поняття ресурсу. Ресурсом може бути що завгодно фотографія, податкова накладна, країна, політичний рух, алгоритм, думка, людина все, що має деякі кордону і тому може бути ідентифіковано. Веб не ставить ніяких обмежень на допустимі ресурси; все, що він визначає це те, як ці ресурси можуть передаватися між комп'ютерами і, отже, людьми. Найголовніша можливість будь-розподіленої системи переміщати ресурси з однієї машини на іншу. Для цього Веб підтримує кілька дуже простих технологій. Іменування ресурсів. Веб визначає гнучкі і розгортаються способи іменування довільних ресурсів, іменовані уніфікованими ідентифікаторами ресурсів (URI Uniform Resource Identifier). Подання ресурсів. Для передачі довільних ресурсів між комп'ютерами, необхідно таке уявлення ресурсу, яке може бути перетворено в потік бітів і передано по мережі. В ідеалі формат подання повинен бути прийнятий усіма, що забезпечує простоту створення і інтерпретації ресурсу. В даний час існує декілька типів подання ресурсу. Початковий і найбільш важливий з них це мова гіпертекстової розмітки (HTML Hypertext Markup Language). Передача ресурсів. Hypertext Transfer Protocol (HTTP) став основним механізмом передачі даних в Інтернеті. HTTP це протокол передачі по типу клієнт / сервер, який підтримує мінімальний необхідний набір операцій передачі даних. 27