Struchkov Mark
abd333c9bd
All checks were successful
continuous-integration/drone/push Build is passing
31 lines
3.0 KiB
Markdown
31 lines
3.0 KiB
Markdown
---
|
||
aliases:
|
||
- NUMA
|
||
tags:
|
||
- maturity/🌱
|
||
date: 2024-10-12
|
||
zero-link:
|
||
parents:
|
||
linked:
|
||
---
|
||
**NUMA (Non-Uniform Memory Access)** — это архитектура памяти, используемая в многопроцессорных системах, где время доступа к оперативной памяти зависит от физического расположения [[Центральный процессор|процессора]] и модулей памяти.
|
||
|
||
В традиционной архитектуре **UMA (Uniform Memory Access)**, время доступа ко всей памяти одинаково для всех процессоров, что ограничивает масштабируемость. В NUMA же каждый процессор имеет собственную локальную память, к которой он получает доступ быстрее, чем к памяти, расположенной у другого процессора.
|
||
|
||
NUMA может существенно влиять на работу [[Кэш процессора|кэш-памяти]]. Поскольку кэш каждого процессора хранит данные, связанные с его локальной памятью, доступ к удаленной памяти требует дополнительной синхронизации и согласования данных. В многоядерных системах это приводит к более сложным задачам по управлению [[Cache coherence|кэш-кохерентностью]], чтобы предотвратить несогласованность данных между ядрами, особенно при частом доступе к удаленным данным.
|
||
|
||
В системах с NUMA также важно правильно распределять задачи между ядрами, чтобы минимизировать обращения к удаленной памяти и максимально использовать локальную память и кэш. Программисты могут оптимизировать производительность таких систем с помощью NUMA-aware алгоритмов, распределяя данные и задачи таким образом, чтобы кэш эффективно использовался в пределах каждого процессора и минимизировался доступ к удаленной памяти.
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../meta/zero/00 Архитектура ЭВМ|00 Архитектура ЭВМ]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Создана**:: [[2024-10-12]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|