Ако имам многопроцесорна платка, която има cache-coherent неравномерен достъп до паметта (NUMA), т.е. отделен "northbridges" с отделна RAM за всеки процесор, някой компилатор знае ли как автоматично да разпространява данните в различните системи с памет, така че процесите, работещи в локални нишки, са предимно извличане на техните данни от RAM, свързана с процесора, на който работи нишката?
Имам настройка, при която 1 GB е свързан към процесор 0, 1 GB е свързан към процесор 1 и т.н. до 4 процесора. В кохерентното пространство на паметта физическата памет за RAM на първия процесор е с адреси от 0 до 1GB- 1. За втория процесор е 1GB до 2GB-1 и т.н.
Ще свържат ли компилатори, или може би malloc
конкретно, нова памет, разпределена от процес на конкретно ядро, към физическата RAM, свързана с това ядро?