Page 27 - 4985
P. 27
3.3 Організація когерентності багаторівневої
ієрархічної пам'яті
Поняття когерентності кешів описує той факт, що всі
центральні процесори отримують однакові значення одних і
тих самих змінних у будь-який момент часу. Дійсно, оскільки
кеш-пам'ять належить окремому комп'ютеру, а не всій
багатопроцесорній системі в цілому, дані, що потрапляють в
кеш одного комп'ютера, можуть бути недоступні іншому.
Щоб цього уникнути, слід провести синхронізацію інформації,
що зберігається в кеш-пам'яті процесорів.
Для забезпечення когерентності кешів існує декілька
можливостей:
- використовувати механізм відстежування шинних
запитів (snoopy bus protocol), в якому кеші відстежують
змінні, що передаються до будь-якого з центральних
процесорів і при необхідності модифікують власні копії таких
змінних;
- виділяти спеціальну частину пам'яті, що відповідає за
відстежування достовірності всіх використовуваних копій
змінних.
Найбільш відомими системами архітектури cc-NUMA є:
HP 9000 V-class в SCA-конфігураціях, SGIOrigin3000, SunHPC
15000, IBM/Sequent NUMA-Q 2000. На сьогодні максимальне
число процесорів в cc-NUMA-системах може перевищувати
1000 (серія Origin3000). Зазвичай вся система працює під
управлінням єдиною ОС, як в SMP. Можливі також варіанти
динамічного «підрозділу» системи, коли окремі «розділи»
системи працюють під управлінням різних ОС. При роботі з
NUMA-системами, так само, як зSMP, використовують так
звану парадигму програмування із загальною пам'яттю (shared
memory paradigm).
Варіанти завдань на курсову роботу подані в додатку А.
27