[html]<a href="https://stackoverflow.com/questions/42099924/is-multi-thread-memory-access-faster-than-single-threaded-memory-access">https://stackoverflow.com/questions/42099924/is-multi-thread-memory-access-faster-than-single-threaded-memory-access</a>[/html]
«Each core and device must share the same data bus to the memory.»
(четырёхканальный доступ - это про эти шины? или 4 канала это внутри одной шины?)
[html]<a href="https://en.wikipedia.org/wiki/Multi-channel_memory_architecture">https://en.wikipedia.org/wiki/Multi-channel_memory_architecture</a>[/html]
«On some systems (such as multi-socket servers or HEDTs with quad-channel DDR4),
it's no longer possible for a single thread to saturate all the memory bandwidth in the entire system.»
«with pthreads. 8GB of data took 0.83 seconds to copy unthreaded with memmove, 0.93 seconds with one pthread, and 0.35 seconds with four pthreads. (Thread creation and joining included.)»
«Raspberry Pi has multi-core CPU - will it copy RAM faster with multi core program?»
при помощи DMA память в память не копируется (на Linux)
https://stackoverflow.com/questions/235 … 8#23582568
и вообще не копируется (на платформе "powerpc"):
https://stackoverflow.com/questions/429 … ram-to-ram
«DMA Engine may be used for generic memory copy (see DMA_PRIVATE flag),
and on x86 some controllers are capable for doing m2m transfers.»
SMP (Symmetric Multi Processing – Симметричная Многопроцессорная Обработка).
SMP – это архитектура, в которой процессоры соединены с общей системной памятью при помощи шины или подобного соединения)симметрично, и имеют к ней равный однородный доступ.
(когда контроллер памяти (MCH/MGCH), больше известный как «Северный Мост» (“NorthBridge”) находился в чипсете)
Именно поэтому SMP системы почти не масштабируются, два-три десятка процессоров для них – это уже теоретический предел.
MPP (Massive Parallel Processing).
MPP — архитектура, разделяющая систему на многочисленные узлы, процессоры в которых имеют доступ исключительно к локальным ресурсам.
«Another thing to think about is NUMA, if you have a multi socket system.»
https://habr.com/ru/company/intel/blog/165903/
NUMA (Non-Uniform Memory Access). Эта архитектура объединяет положительные черты SMP и MPP.
NUMA (Non-Uniform Memory Access или Non-Uniform Memory Architecture)
доступ к удаленной памяти оказывается гораздо медленнее, чем к локальной. Оттуда и название – «неоднородный доступ к памяти»
Intel NUMA дебютировала на Intel Xeon с контроллерами памяти, интегрированными в CPU.
QPI — Intel QuickPath
Процессоры соединены соединением «точка-точка» с высокой пропускной способностью и низкой задержкой передачи.
NUMA, используемая в системах Intel, поддерживает когерентность кешей и разделяемой памяти
(то есть, соответствие данных между кешами разных CPU),
поэтому ее иногда называют ccNUMA — cache coherent NUMA.
Согласование содержимого кешей, а также и памяти, когда более чем один кеш хранит одну и ту же ее часть,
обеспечивается наличием специального аппаратного решения (это общение кешей ухудшает общую производительность системы).
существует межпроцессорное взаимодействие между контроллерами кэша для сохранения согласованной картины памяти (когерентность памяти), когда более чем один кэш хранит одну и ту же ячейку памяти. Именно поэтому ccNUMA-платформы теряют в производительности, когда несколько процессоров подряд пытаются получить доступ к одному блоку памяти.
следует избегать ситуаций, когда несколько процессоров сразу работают с одним блоком памяти
Отредактировано Лис (2022-07-30 15:11:55)