Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Симметричні мультипроцесорні системи SMP





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

Мал.1.14. SMP структура

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

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

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

 

8. Системи з масовим паралелізмом (МРР)

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

Кожен з вузлів складається з одного або декількох процесорів, власної оперативної пам'яті, комунікаційного устаткування, підсистеми вводу / виводу, тобто володіє всім необхідним для незалежного функціонування. При цьому на кожному вузлі може функціонувати або повноцінна операційна система (як у системі RS / 6000 SP2), або урізаний варіант, що підтримує тільки базові функції ядра, а повноцінна ОС працює на спеціальному керуючому комп'ютері (як в системах Cray T3E, nCUBE2).

Мал.1.15. МРР структура

Процесори в таких системах мають прямий доступ тільки до своєї локальної пам'яті. Доступ до пам'яті інших вузлів реалізується зазвичай за допомогою механізму передачі повідомлень. Така архітектура обчислювальної системи усуває одночасно як проблему конфліктів при зверненні до пам'яті, так і проблему когерентності кеш-пам'яті. Це дає можливість практично необмеженого нарощування числа процесорів в системі, збільшуючи тим самим її продуктивність. Успішно функціонують MPP системи з сотнями і тисячами процесорів (ASCI White - 8192, BlueMountain - 6 144). Продуктивність найбільш потужних систем досягає 10000000000000 оп / сек (10 Tflops). Важливою властивістю MPP систем є їх висока ступінь масштабованості. Залежно від обчислювальних потреб для досягнення необхідної продуктивності потрібно просто зібрати систему з потрібним числом вузлів.

На практиці все, звичайно, набагато складніше. Усунення одних проблем, як це зазвичай буває, породжує інші. Для MPP систем на перший план виходить проблема ефективності комунікаційного середовища. Легко сказати: "Давайте зберемо систему з 1000 вузлів". Але яким чином поєднати в єдине ціле таку безліч вузлів? Найпростішим і найефективнішим було би з'єднання кожного процесора з кожним. Але тоді на кожному вузлі було б потрібно 999 комунікаційних каналів, бажано двонаправлених. Очевидно, що це нереально. Різні виробники MPP систем використовували різні топології. У комп'ютерах IntelParagon процесори утворювали прямокутну двовимірну сітку. Для цього в кожному вузлі достатньо чотирьох комунікаційних каналів. У комп'ютерах Cray T3D / T3E використовувалася топологія тривимірного тора. Відповідно, у вузлах цього комп'ютера було шість комунікаційних каналів. Фірма nCUBE використовувала в своїх комп'ютерах топологію n-мірного гіперкуба.

Системи з розподіленою пам'яттю ідеально підходять для паралельного виконання незалежних програм, оскільки при цьому кожна програма виконується на своєму вузлі і ніяким чином не впливає на виконання інших програм. Однак при розробці паралельних програм доводиться враховувати складнішу, ніж в SMP системах, організацію пам'яті. Оперативна пам'ять в MPP системах має 3-х рівневу структуру:

· кеш-пам'ять процесора;

· локальна оперативна пам'ять вузла;

· оперативна пам'ять інших вузлів.

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

 

Date: 2016-05-15; view: 491; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию