NUMA

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

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

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