NUMA — Вікіпедія

NUMA (Non-Uniform Memory Access, архітектура з неоднорідним доступом до пам'яті) — організація пам'яті в паралельних архітектурах ЕОМ, в якій над фізично розподіленою між окремими обчислювальними блоками пам'яттю створюється спільний адресний простір (найчастіше програмним способом) таким чином, що на рівні програмної організації (архітектури) пам'ять системи сприймається як загальна для усіх процесорів. Однак доступ до різних її областей займає різний час (тому, власне, ці архітектури називаються архітектурами з неоднорідним доступом до пам'яті).

Значною проблемою таких архітектурних рішень є забезпечення цілісності даних та своєчасної синхронізації змін в даних, які стали результатом якихось локальних обчислень, на всю глобальну пам'ять системи. Ця проблема знана під назвою проблеми когерентності кеш-пам'яті. Архітектури з когерентною кеш-пам'яттю носять абревіатуру ccNUMA (cache-coherent NUMA).

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

Архітектура

[ред. | ред. код]

Склад: однорідні базові модулі (комірки) з невеликого числа процесорів і блоку пам'яті. Модулі об'єднані за допомогою високошвидкісного комутатора. Підтримується єдиний адресний простір, апаратно підтримується доступ до віддаленої пам'яті. Доступ до локальної пам'яті в кілька разів швидший, ніж до віддаленої. У випадку апаратного підтримання когерентності кешів у всій системі говорять про архітектуру сc — NUMA (cache — coherent NUMA)

Приклади

[ред. | ред. код]

HP HP 9000 V — class у SCA — конфігураціях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA — Q 2000, SNI RM600.

Масштабованість

[ред. | ред. код]

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

Операційні системи

[ред. | ред. код]

Система працює під керуванням єдиної ОС, як у SMP. Можливі варіанти коли окремі «частини» системи працюють під керуванням різних ОС (наприклад, Windows NT і UNIX у NUMA — Q 2000).