Організація розподілених систем

Автор: Пользователь скрыл имя, 08 Декабря 2011 в 08:45, практическая работа

Описание работы

Одним з найбільш цікавих напрямків розвитку сучасної обчислювальної техніки є багатопроцесорні системи. Поштовхом до їх масового поширення послужив випуск в 1985р. перший трансп’ютера - розробленої англійською фірмою INMOS надвелика інтегральна схема, яка об'єднує в одному корпусі процесор і чотири послідовні канали міжпроцесорної передачі даних. Характерний представник цього сімейства — трансп’ютер IMS T800 має скромною, за сучасними стандартам, продуктивністю близько 1 мільйона операцій в секунду.

Содержание

Вступ……………………………………………………………3
Огляд літератури……………………………………………….4
Системи із загальною пам'яттю ……………………………...4
Трансп’ютер…………………………………………………….7
Гібридні системи ……………………………………………..10
Кластери робочих станцій ……………………………………11
Системи на основі високошвидкісних мереж ……………….12
Топології багатопроцесорних систем………………………...15
Висновок………………………………………………………..20
Список літератури……………………………………………...21

Работа содержит 1 файл

Розподілені системи.docx

— 259.34 Кб (Скачать)

Міністерство  освіти та науки України

Національний  університет «Львівська політехніка»

Кафедра автоматизованих систем управління 

 

Розрахункова  робота

з дисципліни

«Проблемно-орієнтовані обчислювальні комплекси та системи»

на тему:

“ Організація розподілених систем ” 
 
 

                       Виконав:

                      Ст. гр. ІУС-13

                           Олійник  Д.В.

                          Перевірив:

                           Цмоць  І.Г.  

Львів – 2010 

Зміст

  1. Вступ……………………………………………………………3
  2. Огляд літератури……………………………………………….4
  3. Системи із загальною пам'яттю ……………………………...4
  4. Трансп’ютер…………………………………………………….7
  5. Гібридні системи ……………………………………………..10
  6. Кластери робочих станцій ……………………………………11
  7. Системи на основі високошвидкісних мереж ……………….12
  8. Топології багатопроцесорних систем………………………...15
  9. Висновок………………………………………………………..20
  10. Список літератури……………………………………………...21
 

 

            Вступ

  Одним з найбільш цікавих напрямків розвитку сучасної обчислювальної техніки є багатопроцесорні системи. Поштовхом до їх масового поширення послужив випуск в 1985р. перший трансп’ютера - розробленої англійською фірмою INMOS надвелика інтегральна схема, яка об'єднує в одному корпусі процесор і чотири послідовні канали міжпроцесорної передачі даних.       Характерний представник цього сімейства — трансп’ютер IMS T800 має скромною, за сучасними стандартам, продуктивністю близько 1 мільйона операцій в секунду.

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

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

Огляд літератури

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

Системи із загальною пам'яттю

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

 

Рис. 1. Багатопроцесорна система із загальною пам'яттю

    Однак у систем зі спільною пам'яттю є ряд істотних недоліків:

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

     На  сьогоднішньому рівні технічного розвитку ефективне об'єднання більше 20 - 30 процесорів на основі загальної пам'яті складно. Кожен процесор повинен мати фізичний доступ до кожному з блоків оперативної пам'яті. Наприклад при використанні роздільних 32-розрядної адресної шини і 64-розрядної шини даних потрібно мінімум 96 розрядна високошвидкісна лінія доступу до пам'яті від кожного процесора, що саме по собі вже являє технологічну проблему. Необхідність забезпечення обміну зі швидкістю 500 Мбайт / с і вище обмежує фізична відстань від кожного процесора до кожного блоку пам'яті. Як правило, системи із загальною пам'яттю дійсно виглядають досить компактно, розміщуючись в одному корпусі. Цей фактор обмежує загальне число процесорів числом блоків, які можна розмістити в межах, заданих максимальною відстанню від блоку пам'яті до процесора. Але є і більш суттєві обмеження. У принципі, загальна пам'ять припускає можливість усіх процесорів одночасно прочитати або записати різні дані з одного і того ж блоку пам'яті. Для цього кожен блок пам'яті повинен володіти кількістю точок входу, дорівнює числу процесорів, що технічно сьогодні не реалізовано. У Як приклад можливого вирішення цієї проблеми наведемо схему мережі типу "метелик" (рис. 2). Відповідно до цієї схеми 8 процесорних модулів можуть отримати доступ до восьми блоків пам'яті через систему комутаторів, однак в кожний конкретний момент до кожного блоку пам'яті може мати доступ тільки один з процесорів, що в цілому знижує продуктивність системи. 
 
 

 

Рис. 2. Комунікаційна мережа типу «метелик»

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

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

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

     • Порівняно низька вартість - найменший  показник відношення ціна / продуктивність.

       • Масштабованість - можливість побудови систем необхідної продуктивності, і нарощування їх потужності за рахунок установки додаткових процесорів.

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

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

Рис. 3. Багатопроцесорна система з роздільним пам'яттю

  Розглянемо ряд характерних представників систем з розподіленою пам'яттю.

Трансп’ютер

  Наш огляд ми почнемо з трансп’ютерів, з яких,і почалося масове поширення багатопроцесорних систем. Типова трансп’ютерна система виступає як паралельно обчислювальний прискорювач для будь-якого комп'ютера загального призначення - хост-комп'ютера (HOST). В якості хост-системи з однаковим успіхом виступають як робочі станції типу Sun, так і персональні комп'ютери IBM PC (рис. 4). 

Рис. 4. Трансп’ютерна система і канали зв'язку 

   Кожен трансп’ютер виробництва фірми INMOS (Великобританія) є повноцінним процесором (рис. 5), який вирізняється від звичайного процесора тим, що у своєму складі він містить 4 канали міжпроцесорного обміну даними - лінк (link). Кожен лінк являє собою пристрій синхронного небуферизованного послідовного обміну даними по 4-провідній лінії зв'язку (порівняно з 96-провідною лінією доступу до оперативної пам'яті в системах із загальною пам'яттю). Саме завдяки можливості з'єднувати між собою довільне число процесорів, керованих однією або декількома хост-системами, трансп’ютерні системи набули такого широке поширення.

     До  складу трансп’ютера типу T800 входить пристрій обробки цілих чисел (CPU), пристрій обробки дійсних чисел і чотири двонаправлені канали передачі даних - линка. Кожний з перерахованих шести пристроїв може працювати одночасно з іншими і незалежно від них. Виконуючи запити на обробку або передачу даних, кожне з них звертається до змінних, розташованих в доступній всім цим пристроям загальної оперативної пам’яті. При цьому цілком можлива ситуація, коли кілька пристроїв одночасно звертаються до однієї і тієї ж змінної. Запити будуть оброблені коректно, якщо дані тільки зчитуються, але якщо хоча б один з пристроїв виконує запис даних, то результат виконання операцій читання / запису стає невизначеним. Точно так само, не визначений результат одночасного запису кількома пристроями різних значень в одну і ту ж змінну, в цьому сенсі кожен трансп’ютер є системою із загальною пам'яттю.

Рис. 5. Структура трансп’ютера типу Т-800

  У перших трансп’ютерних системах трансп’ютер з’єднувались лінками безпосередньо між собою і отримувана таким образом конфігурації - топології, виявлялася зафіксованими на час рішення задачі. При необхідності отримання іншої топології лінки доводилося поєднувати вручну. Для спрощення обслуговування і для забезпечення можливості зміни топології системи в процесі обчислень був розроблений електронний комутатор C-004 (рис. 6). Це електронно-змінний  комутатор, що дозволяє задавати довільні парні зв'язку між 32 входами трансп’ютерних лінків і 32 виходами. У наведеному на рис. 6 прикладі всі трансп’ютери жорстко з'єднані в лінійку (Pipe) двома з чотирьох своїх лінків, а іншими підключені до комутатора. Між підключеними до комутатора лінками можна програмно визначити будь-які 4 зв'язки. Наприклад, показана пунктиром зв'язок перетворює вихідну топологію Лінійка в топологію Кільце. 
 

Информация о работе Організація розподілених систем