似乎NUMA很有希望进行并行编程,如果我没有错,那么当前最新的cpus已经内置了对它的支持,比如i7。
您是否预计CLR很快会适应NUMA?
编辑:我的意思是支持它,并利用它。
答案 0 :(得分:2)
NUMA是一种硬件架构,不一定需要直接在CLR中采用。有关详细信息,请参阅NUMA FAQ.
话虽这么说,让软件意识到它的架构是有好处的。 CLR团队的人员似乎确实意识到缓存一致性等问题,所以我敢打赌,对此有一些优化。此外,C#4中任务并行库中调度程序的设计似乎有望为NUMA体系结构带来更好的优势。
答案 1 :(得分:1)
从某种意义上说,NUMA与CLR的内存模型正交。换句话说,硬件/操作系统有它的访问方法,CLR有它的内存模型需求,并且由CLR实现者来决定它们在一起玩得很好。在实践中,这很困难,there are flaws in the current implementation。但由于CLR已经在支持NUMA的硬件上运行,我不太确定你的意思是“很快适应NUMA。”
答案 2 :(得分:1)
到目前为止,所有答案都是正确的,将NUMA强调为硬件架构。有趣的读取是this article by Joe Duffy并发和CLR。
答案 3 :(得分:1)
NUMA基本上你有每处理器内存控制器。您可以使用英特尔QuickPath和AMD HyperTransport。事实是,据我所知,目前i7和Phenom都没有支持多个CPU的主板。
无论如何,这是非常低的水平,与CLR无关。操作系统可以利用它。