Page 95 - 6111
P. 95
Відмінність між двома системами пам’яті повинна
враховуватися програмістом, оскільки вона визначає спосіб
взаємодії частин програми, що розпаралелює.
Мультипроцесори складно будувати, але легко
програмувати. Мультикомпьютеры легко будувати, але
складно програмувати.
Тому стали робитися спроби створення гібридних систем, які
відносно легко конструювати і відносно легко програмувати. Це
привело до усвідомлення того, що сумісну пам’ять можна
реалізовувати по-різному, і в кожному випадку будуть якісь
переваги і недоліки.
Практично всі дослідження в області архітектури з
паралельною обробкою направлені на створення гібридних форм,
які поєднують в собі переваги обох архітектур. Тут важливо
отримати таку систему, яка продовжуватиме справно працювати
при додаванні все нових і нових процесорів.
9.3 Багаторівнева організація загальної пам’яті
Сучасні комп’ютерні системи не монолітні, а складаються з
ряду рівнів. Це дає можливість реалізувати загальну пам’ять на
будь-якому з декількох рівнів:
- загальна пам’ять реалізована на апаратному забезпеченні
(одна копія операційної системи з однією таблицею розподілу
пам’яті. Для ОС пам’ять монолітна);
- загальна пам’ять реалізована на основі ОС і апаратного
забезпечення (такий підхід називається DSM (Distributed Shared
Memory - розподілена спільно використовувана пам’ять). Кожна
машина містить свою власну віртуальну пам’ять і власні таблиці
сторінок. По суті, операційна система просто викликає бракуючі
сторінки не з диска, а з пам’яті. Але у користувача створюється
враження, що машина містить загальну розділену пам’ять);
- реалізація загальної розділеної пам’яті на рівні програмного
забезпечення (при такому підході абстракцію розділеної пам’яті
створює мова програмування, і ця абстракція реалізується
компілятором).
94