Наше приложение:NUMA памяти распределение регионов в ОС Windows 7
- Аппаратная конфигурация представляет собой двойной сервер Xeon работает с Windows 7/64bit. Каждый Xeon имеет собственную RAM 12 ГБ в конфигурации [NUMA] [1] с мостом, соединяющим две области памяти вместе.
- Все программное обеспечение написано с использованием VS2008 в C++ и скомпилировано как 64-разрядные приложения.
- Приложение Generation создает область большой общей памяти (4-6gb), к которой будут доступны только процессы, настроенные на совместимость процессора для работы на первом процессоре Xeon.
- Приложение-получатель создает большую область общей памяти (2-4gb), которая в основном используется процессами, установленными с возможностью работы процессора на втором процессоре Xeon. Однако, когда приложение Generation завершает создание одного набора данных (от 32 до 128 мб), он передает эту информацию в область разделяемой памяти, работающую на этом Xeon.
- Мы используем библиотеку Boost Interprocess для управления областями разделяемой памяти.
Вопрос в том, когда каждый из процессов, создающих область разделяемой памяти, выделяет ли Windows эту память на том же чипе Xeon, который его создал? Или я должен явно назначать память для конкретного чипа Xeon, используя одну из функций памяти Numa?
EDIT - помочь прояснить, что NUMA есть из Википедии -
неоднородный доступ к памяти или Non-Uniform Архитектура памяти (NUMA) является дизайн памяти компьютера используется в мультипроцессорах , где память время доступа зависит от памяти местоположение относительно процессора. В NUMA процессор может получить доступ к собственной локальной памяти быстрее, чем нелокальная память , то есть локальная память другого процессора или общей памяти между процессорами. Между процессорами.
Ссылка http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access для более подробной информации. Для меня это одна из тех вещей, которые мы все должны будем узнать больше, поскольку многопроцессорность становится более распространенной.
[1]: http://msdn.microsoft.com/en-us/library/aa363804%28VS.85%29.aspxbetween процессоры.
Я не знаю, как сидеть на корточках по этой теме, но я не вижу, как предоставление ОС дополнительной информации о вашем шаблоне использования памяти навредит чему-либо. –
Я также не знаю, как сидеть на корточках, так что +1 от меня. Один вопрос: что вы подразумеваете под «распределением этой памяти на том же чипе Xeon, который его создал?» –