Posts tagged L1

CPU拓扑结构的调查

1

在做多核程序的时候(比如Erlang程序),我们需要了解cpu的拓扑结构, 了解logic CPU和物理的CPU的映射关系,以及了解CPU的内部的硬件参数,比如说
L1,L2 cache的大小等信息。

Linux下的/proc/cpuinfo提供了相应的信息,但是比较不全面。 /sys/devices/system/cpu/也提供了topology结构但是比较难解读。

很多时候我们需要更专业的工具了。intel提供了这样的救助。参见: http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/

下载下来编译执行就好。

[admin@my174 cpu-topology]$ ./cpu_topology64.out
(更多…)

blocking technique介绍

2

随着硬件技术的发展, CPU也越来越强大的。普通的服务器装配的Intel(R) Xeon(R) CPU E5520有4个core,每个core有32KL1D, 32KL1I, 256KL2,这些core还共享8M的L3。这些cache对提高系统的性能非常帮助, 因为L1的性能比主村高2个数量级。但是我们也看到L1 cache太小了,而且对程序员来讲是透明的,我们不知道它的存在。

那么我们的程序如何利用这些硬件设施呢。 设想下,如果你的4个core能同时工作,每个core又在充分利用自己的L1,L2, 同时L3还充满备用数据,那么这个提速是可以想象的到的。

这时候我们需要blocking technique技术: (更多…)

Go to Top