Неравномерный доступ к памяти
-
Основы NUMA
- NUMA — это схема компьютерной памяти, которая обеспечивает различную скорость доступа к памяти в зависимости от расположения процессора.
- Процессор может получить доступ к локальной памяти быстрее, чем к памяти, совместно используемой другими процессорами.
-
История и развитие
- NUMA была разработана в 1990-х годах коммерческими компаниями и использовалась в Unix-подобных операционных системах и Windows NT.
- Первая коммерческая реализация NUMA была в серверах Symmetric Multi Processing XPS-100 от Honeywell Information Systems.
-
Проблемы и решения
- Современные процессоры сталкиваются с проблемой «нехватки данных», когда они вынуждены ждать поступления данных из памяти.
- NUMA решает эту проблему, предоставляя каждому процессору отдельную память, что позволяет избежать снижения производительности при одновременном доступе нескольких процессоров к одной и той же памяти.
-
Реализации и поддержка
- AMD и Intel внедрили NUMA в свои процессоры, используя HyperTransport и Intel QuickPath Interconnect соответственно.
- Программное обеспечение, такое как Windows и Java, поддерживает NUMA, оптимизируя планирование потоков и процессов в соответствии с данными в памяти.
-
Сравнение с кластерными вычислениями
- NUMA можно рассматривать как форму кластерных вычислений, но с более высокой задержкой между узлами.
-
Аппаратная поддержка
- Системы ccNUMA основаны на процессорах AMD Opteron и Intel Itanium, а также на наборах микросхем с поддержкой NUMA, таких как SGI Shub и Intel E8870.
-
Дополнительные ресурсы
- В статье есть ссылки на дополнительные ресурсы, включая часто задаваемые вопросы, видеоматериалы и информацию о проектах OpenSolaris и Intel QPI.
Полный текст статьи: