Поделиться Поделиться

Технології спільного використання ресурсів

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

Найпоширенішими є три технології спільного використання інформаційних ресурсів:

o телеобробка;

o файл-серверна;

o клієнт-серверна.

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

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

Дана технологія має ряд недоліків:

o великий об'єм даних передається мережею;

o на кожній станції повинна знаходитись своя СУБД;

o можливість одночасного доступу кількох користувачів ускладнює управління доступом;

o контроль доступу до даних виконується на рівні файлів.

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

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

Прикладом дворівневої архітектури є система доступу до віддалених даних (RDA - Remote Data Access). Доступ до інформації підтримується чи операторами спеціальної мови (наприклад, SQL), чи викликами функцій спеціальної бібліотеки. Клієнт посилає запити до віддаленого сервера для отримання відповідної інформації. На сервері функціонує ядро СУБД, яке обробляє запити і повертає клієнтові результат, оформлений як блок даних Компоненти реалізовуються на комп'ютері клієнта.

Іншим варіантом дворівневої архітектури є сервер баз даних (DBS - Data Base Server). Його основою є механізм процедур, що зберігаються і виконуються на сервері і можуть розподілятись поміж кількома клієнтами. Компонент представлення даних функціонує на комп'ютері клієнта, а прикладний компонент і доступу до даних - на сервері.

Недоліки дворівневої архітектури:

o із збільшенням кількості клієнтів збільшується завантаження мережі;

o поєднання на комп'ютері клієнта в одній програмі різних за своєю природою функцій (представлення і прикладні) не дає змоги ефективно використовувати додатки.

o додаткові витрати коштів для написання процедур, що зберігаються на сервері;

o процедури мають менші можливості, ніж мови програмування третього покоління (С, C++, Pascal);

o не забезпечується ефективне використання ресурсів через обмеження в ядрі СУБД;

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

Трирівнева архітектура додає поміж сервером даних і ПК прикладний сервер (AS - Application Server), на якому виконуються необхідні обчислення, що дає змогу оптимізувати розподіл ресурсів у системі. Ця архітектура передбачає трирівневу систему розподілу функцій:

o комп'ютер клієнта (інтерфейс користувача), прикладний клієнт (АС - Application Client);

o прикладний сервер (AS) - зберігає і виконує бізнес-правила. Дає можливість використовувати мови програмування третього покоління. Підвищується незалежність функціональних компонент одного рівня від компонент іншого.

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

Переваги AS- моделі полягають в наступному:

o забезпечується доступ з віддалених робочих місць до прикладного сервера в режимі "on-line" без застосування додаткових програмних засобів;

o ефективне використання потужної техніки і систем обміну;

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

Як основу архітектури клієнт-сервер використовують реляційну систему управління базами даних, орієнтовану на мову SQL. До групи таких СУБД-платформ відносять: Informix On line (фірми Informix Software); Ingres Intelligent Database (корпорації' Ask Group); ORACLE (корпорації Oracle); Sybase Server (фірми Sybase).

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

В середовищі розподілених обчислень може бути кілька серверів: файл-сервер, факс-сервер, сервер друку, прикладний сервер, сервер бази даних, тощо.

В неоднорідному комп'ютерному середовищі під час взаємодії клієнта і сервера виникає проблема трансляції кодів (різні кодові таблиці). Вирішує це завдання комунікаційний сервер. Для ефективної роботи використовують багатопроцесорні чи багатопотокові комунікаційні сервери (MS SQL Server, Sybase SQL Server).

Сервер розподілених баз даних (DDS-Distributed Database Server), спеціальний компонент СУБД, що вирішує такі завдання:

o управління іменами в розподіленому середовищі (за допомогою глобального словника, котрий містить інформацію про розподілені БД: розташування даних, можливості інших СУБД, швидкість передачі даних);

o оптимізація розподілених запитів;

o управління розподіленими трансакціями.

Щоби забезпечити надійний доступ користувачів і програм до відділених даних у мережі, що поєднує різні комп'ютери і різну топологію, комунікаційний сервер повинен підтримувати широкий діапазон мережевих протоколів (TCP/IP, SNA, SPX/TPX, NetBIOS, Apple, Talk і т.д.).

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

Використання відкритого інтерфейсу (ODBS - Open Data Base Connectivity) дозволяє підтримувати певний стандарт звертання до баз даних різних СУБД (не лише реляційних).

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

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

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

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

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

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

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

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

Інтерес користувачів до Р2Р-мереж продовжує невпинно зростати. З'являються нові програми, нові мережі і нові можливості. Тепер для отримання будь-якого файлу (електронну книгу, музику, фільм, гру, і т.п.) достатньо завантажити на машину невеличку програмку - і користувач буде використовувати архіви мільйонів людей. В арсеналі інформаційного мисливця є найкращі засоби - Kazaa, eDonkey, eMule, iMesh, Gnutella, Soulseek та інші.

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

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

Можливість розподілу окремих частин великого завдання по географічно віддаленим ресурсам (коли сам характер завдання дозволяє розділити його на частини) саме надає grid-середовище.

Засновники grid-технологій - Ян Фостер (Ian Foster) з Аргоннської Національної лабораторії та Чиказького університету і Карл Кессельман (Carl Kesselman) з Інституту інформаційних наук Університету Південної Каліфорнії (США) визначають grid наступним чином:

Grid - відкрите й стандартизоване середовище, яке забезпечує гнучкий, безпечний, скоординований розподіл (загальний доступ) ресурсів у рамках віртуальної організації

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

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

Загальнодоступні ресурси на основі сайту можуть включати:

o обчислювальні вузли і/чи вузли зберігання та передачі даних;

o власне дані;

o прикладне програмне забезпечення.

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

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

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

Мережевий ресурс є сполучною ланкою поміж розподіленими ресурсами grid-системи. Основною характеристикою мережевого ресурсу є швидкість передачі даних.

Основними завданнями grid є:

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

o підвищення ефективності обчислювальної техніки шляхом надання в grid ресурсів, що тимчасово простоюють.

Пріоритет тієї чи іншої спільної задачі, яка вирішується за допомогою grid, визначається типом grid-системи та характером прикладних областей, в яких він використовується. Особливо ефективним такий підхід виявляється, коли в рамках будь-якого проекту (дослідження чи прикладної проблеми) треба виконати величезний потік чи набір однотипних завдань. В англомовній літературі такі прикладні задачі іноді називають "bag-of-tasks" (мішок завдань), де обчислення для кожної виконуються незалежно, а в кінці користувач чи програмне забезпечення лише об'єднують результати індивідуальних обчислень.

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

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

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

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

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

Найважливішим для розвитку галузі grid-обчислень є міждисциплінарний характер робіт - сьогодні дані технології застосовуються в найрізноманітніших прикладних областях. У світі виникли сотні grid-форумів і проектів - у фізиці високих енергій, космофізиці, мікробіології, екології, метеорології, різних інженерних додатках. Наприклад, дані із загальновідомого Великого андронного коллайдера надходять на обробку у grid-систему ЦЕРНу (Conseil Europeen pour la Recherche Nucleaire -міжнародний дослідницький центр європейської спільноти, найбільша в світі лабораторія фізики високих енергій).

В Україні грід-кластери (обчислювальний кластер, котрий є перспективним для включення у grid-мережу) створені у Харківському фізико-технічному інституті, НТУ "Київський політехнічний інститут", Інституті теоретичної фізики НАН України, Київському НУ ім. Т. Г. Шевченка, Інституті клітинної біології і генної інженерії, Інституті молекулярної біології i генетики НАН України, Головній астрономічній обсерваторії, Інституті фізики конденсованих систем, Інституті кібернетики НАН України, Інституті космічних досліджень.

← Предыдущая страница | Следующая страница →