12-21-2013 07:44 PM - last edited on 12-22-2013 06:06 PM by Maiko-I
My system info is as follows:
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-220.el6.x86_64 (email@example.com) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:03:13 EST 2011
Command line: ro root=/dev/mapper/vg_hplclppj-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_hplclppj/lv_root SYSFONT=latarcyrheb-sun16 rhgb crashkernel=128M quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_hplclppj/lv_swap
KERNEL supported cpus:
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000f362f000 (usable)
BIOS-e820: 00000000f362f000 - 00000000f363c000 (ACPI data)
BIOS-e820: 00000000f363c000 - 00000000f363d000 (usable)
BIOS-e820: 00000000f363d000 - 00000000f8000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fee10000 (reserved)
BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 000000180bfff000 (usable)
DMI 2.7 present.
SMBIOS version 2.7 @ 0xF4F40
DMI: HP ProLiant BL460c G7, BIOS I27 05/05/2011
The server contains 2 "Intel(R) Xeon(R) CPU X5675 @ 3.07GHz" with 24 threads in total, and with 100g RAM.
I use intel MKL library to do mathmatical computing, but I found the performance is very poor that it is much slower than the performance of the same program using the same intel MKL library on a laptop with "Intel i7 3630qm" whose operating system is Fedora 18.
I want to ask if I want to get better performance on this sever, should I use the HP MLIB instead of the Intel MKL library? If yes, which version of mlib should I buy? If not, what is the solution to improve the performance?
P.S. This thread has been moved from HP-UX > System Administration to Linux > sysadmin. - Hp Forum Moderator
12-23-2013 11:08 AM
Xeon X5675 is a CPU with 6 physical cores, so your BL460c G7 has 12 cores. The fact that you're talking about 24 threads indicates you probably have Hyper-Threading enabled.
Intel says MKL is not a good candidate for Hyper-Threading, and that you may want to disable HT to get better performance:
Since you have two physical sockets, if your processes migrate between the physical sockets, the system will need to move a lot of data back & forth between the sockets to keep the L2/L3 caches in sync with each other. With a single multi-core processor, as in your laptop, the single L3 cache is shared between all cores so this problem is much reduced.
Intel says you should set task affinity masks to minimize this issue:
Fedora 18 also is likely to have a much newer version of GCC than RHEL 6, so it will probably do a much better job of optimizing the compiled code for the newer CPUs. You might consider installing a newer version of GCC, or perhaps the Intel compiler. At the very least, it will eliminate one performance-affecting variable between RHEL 6 and Fedora 18; but I would guess that the improved optimization would probably also provide a meaningful performance gain.