Від пакетного режиму до розосередженої обробки даних

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

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

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

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

Розподілена обробка даних – це обробка даних, яка виконується на незалежних (відносно незалежних), але зв’язаних між собою комп’ютерах (процесорах), що представляють собою цілісну систему. Оскільки основною ознакою систем розподіленої обробки даних є наявність декількох центрів обробки даних, до таких систем можна віднести:

· багатопроцесорні системи, (мультипроцесорні комп’ютери);

· багатомашинні обчислювальні комплекси;

· розосереджені (децентралізовані) системи.

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

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

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

Перспектива розвитку багатопроцесорних систем – створення оптоелектронних комп’ютерів з масовим паралелізмом у роботі та нейтронною структурою, з розподіленою мережею великої кількості (десятки тисяч) нескладних мікропроцесорів, які моделюватимуть архітектуру нейронних біологічних систем [14].

Усі блоки мультипроцесорного комп’ютера розміщаються в одному або декількох близько розташованих конструктивах (тобто територіальна розосередженість

відсутня).

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

Робота будь-якої багатомашинної системи визначається двома головними компонентами [75]:

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

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

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

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

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

Концептуально розосереджена система обробки даних (РСОД) передбачає децентралізацію:

· обчислювальної потужності (апаратних обчислювальних засобів);

· баз даних;

· програмного забезпечення;

· функцій управління системою

· та наявність мережі зв’язку між територіально розосередженими комп’ютерами.

· У розосереджених системах обробки даних у тій чи іншій мірі здійснюється реалізація таких основних функцій [19]:

· доступ до ресурсів (обчислювальних потужностей, програм, даних і т. п.) із терміналів та програм користувача в режимі «файл-сервер»;

· виконання завдань та інтерактивне спілкування користувачів із запущеними за їх вимогою програмами в режимі «клієнт-сервер»;

· збір статистики про функціонування системи;

· забезпечення надійності та живучості системи в цілому.

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

При одночасному зверненні декількох програм до одного файлу, наприклад, з метою його оновлення, можуть виникнути проблеми, пов’язані з неоднозначністю визначення його змісту. Тому кожна зміна загальнодоступного файлу виділяється у транзакцію – елементарну операцію з обробки даних, яка має фіксований початок і кінець (успішне або неуспішне завершення) та ряд інших характеристик [29].

Робота у клієнт-серверній програмній архітектурі передбачає активну роль сервера, коли на ньому поряд із зберіганням виконується також змістовна обробка інформації (сервер, який функціонує у такому режимі, називають сервером додатків, а під поняттям «клієнт» розуміється комп’ютер користувача, який працює під управлінням користувацької операційної системи (наприклад, Windows XP Professional).

Клієнт-серверні архітектури прийнято підрозділяти на два основні варіанти - «товстого» та «тонкого» клієнта:

· варіант «товстого» клієнта - це архітектура в якій клієнт, вирішуючи свої задачі на сервері, використовує своє прикладне програмне забезпечення. У цьому випадку час доступу мінімальний, а продуктивність достатньо хороша. Недоліком даної конфігурації є необхідність встановлення додатку на кожному комп’ютері-клієнті, що ускладнює підтримку, оскільки більше часу витрачається на його оновлення. Другим недоліком є жорсткі вимоги до продуктивності клієнтського комп’ютера та затрати на придбання декількох копій програмного забезпечення. Ця модель у значній мірі базується на Windows-платформі;

· варіант «тонкого» клієнта – це архітектура, в якій клієнт, вирішуючи свої задачі на сервері, використовує прикладне програмне забезпечення, розміщене на сервері. Основні переваги цього варіанту – простота управління та менші затрати на підтримку прикладного програмного забезпечення, а основні недоліки – нижча продуктивність та необхідність швидкісного каналу зв’язку, оскільки клієнт вимушений цілий час звертатися до сервера. Дана модель в основному базується на Unix-платформі.

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

Щоб уникнути недоліків розглянутих архітектур, були придумані спеціальні технології, які дозволяють створювати програму у вигляді набору компонентів, які можна запускати на будь-яких серверах зв’язаних в мережу (компоненти ніби то розподілені по мережі) [90]. Основна перевага такого підходу в тому, що при виході з ладу будь-якого комп’ютера спеціальні програми-монітори, які слідкують за коректністю роботи компонентів та дозволяють їм «перемовлятись» між собою, зразу перезапускають пропалий компонент на іншому комп’ютері. При цьому загальна надійність усієї системи стає дуже високою, а обчислювальне навантаження розподіляється між серверами оптимальним чином. Доступ до можливостей будь-якого компоненту, призначеного для спілкування з користувачем, здійснюється з будь-якого клієнтського місця. Оскільки всі обчислення відбуваються на серверах, з’являється можливість створення зверх тонких клієнтів – програм, які тільки відображають одержувану з мережі інформацію та вимагають мінімальних комп’ютерних ресурсів. Завдяки цьому доступ до компонентної системи можливий не тільки з персонального комп’ютера, а також і з невеликих мобільних пристроїв.

З точки зору архітектурних особливостей побудови розосереджених (децентралізованих) систем обробки даних розрізняють:

· системи телеообробки даних;

· розосереджені системи на базі інформаційно-обчислювальних мереж (ІОМ).

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

Найбільшу популярність та розповсюдження системи телеобробки даних набули в 70-і роки. Вони стали прообразом інформаційно-обчислювальних мереж і використовуються [14]:

· для дистанційного централізованого вирішення задач абонентів;

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

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

· для управління комп’ютером, коли АП використовується в якості пульта оператора комп’ютера;

· при видачі довідок (комп’ютер обробляє запит, отриманий із АП; відповідь відсилається на АП).

Телеобробка даних використовується на обчислювальних центрах колективного користування і може бути реалізоване в одному із двох режимів:

· діалоговому або в режимі on-line (оперативному - інтерактивному). Це робота в реальному масштабі часу;

· пакетної обробки або в режимі off-line (неоперативному);

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

· забезпечення роботи комп’ютера в режимах телеобробки даних;

· управління мережею телеобробки даних;

· управління чергами повідомлень;

· редагування повідомлень та робота із помилковими повідомленнями і т. п.

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

Будь-яка система телеобробки даних включає в себе як мінімум чотири основних групи технічних засобів [14]:

· електронно-обчислювальна машина (одна або декілька);

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

· пристрої спряження комп’ютера з апаратурою передачі даних (лінійні адаптери – одноканальні пристрої погодження каналу вводу-виводу комп’ютера з одним каналом передачі даних; мультиплексори передачі даних – групові адаптери або багатоканальні пристрої погодження (бувають непрограмовані – апаратні, які реалізують свої функції схемним шляхом та програмовані – які адаптуються до різних, часто складних, інформаційних мереж програмним шляхом); зв’язні процесори, які здійснюють електричне та логічне погодження роботи комп’ютера та апаратури передачі даних (це по суті – мікрокомп’ютери, які оснащені програмними засобами та змінними лінійними адаптерами, що забезпечують погодження їх із апаратурою передачі даних, основним комп’ютером та зовнішніми запам’ятовуючими пристроями); процесори телеобробки даних, які виконують функції первинної обробки даних та обміну між ЕОМ та абонентськими пунктами по каналах зв’язку; пристрої віддаленого погодження – почергового або одночасного підключення різних абонентів до одного каналу зв’язку в тому числі і за рахунок використання різних способів ущільнення передачі інформації – комутатори, концентратори, віддалені мультиплексори, периферійні зв’язні процесори);

· абонентські пункти (АП), які здійснюють взаємодію абонента із системою та забезпечують ввід та вивід даних в систему. На базі АП організуються автоматизовані робочі місця спеціалістів (АРМ).

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

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

В структурі ІОМ прийнято виділяти два основних компоненти [67]:

· засоби збору, зберігання та обробки даних, які базуються на комп’ютерах , їх запам’ятовуючих пристроях та апаратурі вводу-виводу даних;

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

Специфіка та ефективність роботи ІОМ значною мірою визначаються особливостями (протоколами) організації інформаційного обміну в мережі, до якої підключені обчислювальні машини та абонентські пункти користувачів.

У розосереджених системах обробки даних (РСОД) на базі інформаційно-обчислювальних мереж забезпечується така форма взаємодії ЕОМ, при якій будь-який з процесів однієї з машин за своєю ініціативою може встановити логічний зв’язок з будь-яким процесом у будь-якій іншій ЕОМ. У той же час РСОД на основі систем телеобробки не забезпечують повної, симетричної та незалежної взаємодії процесів.