Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Вступ до розподілених обчислень

Тип: курс лекций
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Питання, моделі та десять технологічних тенденцій розвитку мережних розподілених обчислень. "Візантійські відмови" і проблема вибору лідера. Рівні архітектури протоколів Грід і їх відповідність рівням архітектури протоколів Інтернет. Структура GRAM.
Краткое сожержание материала:

Размещено на

Размещено на

Тема 1. Вступ до розподілених обчислень

Питання

1. Загальні питання про розподілені обчислення.

2. Модель розподілених обчислень.

3. Різниця між локальними та розподіленими обчисленнями.

4. Вісім оман щодо розподілених обчислень.

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

6. Масштаби мережних розподілених обчислень.

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

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

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

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

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

2. Розподілені обчислення виступають у декількох формах, кожна з яких вимагає свого набору понять, коли наступає час побудови розумної моделі програмування, тобто такої моделі, для якої її архітектори продумано розглядають аспекти, не охоплені ВОВ-моделлю (модель “ввід-опрацювання-вивід”) розгортання ПЗ (програмне забезпечення) в системі. У табл. 1.1 представлена ієрархічна класифікація систем РО (розподілених обчислень), що природно охоплює системи МРО (мережних розподілених обчислень).

Розподілені системи можуть вбудовуватися в один пристрій або можуть працювати в кластері пристроїв, у якому вузли працюють спільно і здаються одним вузлом, підтримуючи уніфікований вид системних ресурсів для певних застосувань. Такі кластерні системи звичайно підключаються до фіксованих високошвидкісних ліній передачі даних, а не до відкритої мережі й можуть розміщатися в одному приміщенні, будинку, населеному пункті, залежно від використання і якості з'єднання між вузлами. За цією ж ознакою набір убудованих процесорів, тісно зв'язаних закритим протоколом передачі даних, може також легко представляти кластер. Різниця між РО і МРО полягає в способі передачі даних; МРО призначені для роботи зі стандартними протоколами, а не з закритою лінією передачі даних. Розподілені обчислення створюють ще один рівень складності для прикладного програмування, особливо для тих, які працюють у неконтрольованому просторі поза закритою ЛОМ (локальна обчислювальна мережа) або закритої ГОМ (глобальна обчислювальна мережа)у такому середовищі, як відкритий Інтернет. У загальних словах, проста модель для розуміння й організації інформації й потоку інформації в середовищі МРО складається з ВОВ-моделі й додаткового рівня складності (див. рис. 1)

Рис. 1. Проста модель МРО

Таблиця 1. Ієрархічна класифікація мереж розподілених обчислень

Сімейство

Тип обчислень

Типове використання

Локальна (вбудована, наприклад, в автомашину)

Закриті РО

Один користувач

Локальна (від однієї кімнати до комплексу будинків)

Кластерні РО

Багато-багатокористувальницька

Мережна (закрита ЛОМ)

Закриті МРО

Багато-багатокористувальницька

Мережна (закрита ГОМ)

Закриті МРО

Багатокористувальницька

Мережна (відкрита ЛОМ)

Відкриті МРО

Багатокористувальницька

Мережна (Інтернет)

Відкриті МРО

Вбудована/однокористувальницька/ багатокористувальницька

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

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

3. Є чотири ключових розходження між локальними обчисленнями і віддаленими (або розподіленими) обчисленнями:

затримка;

доступ до пам'яті;

паралельність;

часткова відмова.

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

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

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

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

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

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

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

В одиночному вузлі компонента системи або працюють, або ні, і керівний центр, наприклад операційна система, управляє всіма ресурсами. Безліч вузлів розподіленої системи забезпечують потенційно більше ресурсів, але відсутність керівного центра збільшує ресурсну невизначеність. Ця проблема є неминучою, і її нерозумно ігнорувати. В одиночному вузлі задана транзакція або відбувається (і це відомо), або не відбувається (що теж можна довідатися); у мережі додається ймовірність того, що транзакція може відбутися, але часткова відмова не дозволить нам це довідатися. Наприклад, або час віддаленого вузла мине до завершення транзакції, або він завершить транзакцію й потім його час мине, але вузол не зможе підтвердити транзакцію до завершення часу. Ця обставина збільшує в моделі МРО невизначеність, якої немає в локальній моделі і яка виникає майже цілком чере...

Другие файлы:

Мобільні об єкти та мобільні агенти майбутнє розподілених обчислень

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

Вступ до icтopii Украiни. 5 клас: Вiдповiдi до збiрника завдань для пiдсумкових контрольних робiт
Посiбник допоможе учням успiшно пiдготуватися до пiдсумкових контрольних poбiт з курсу «Вступ до icтopii Украiни» (О.Е. Святокум. Вступ до icтopii Укр...

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

Наближені обчислення. Оцінка похибок обчислень
Джерела неточностей у процесі обчислень. Види наближених значень. Абсолютні та граничні похибки. Поняття значущої цифри. Зв'язок числа вірних знаків н...