Opinions needed on a performance test

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Opinions needed on a performance test

Post by IanSeyler »

I've been doing some benchmark tests between Linux and BareMetal OS and have found some interesting results. With the PrimeSMP program being tested on a dual core machine I saw the almost 2x performance increase I expected. However, while running on a 16-core system with Linux this increase does not keep up with the theoretical maximum. Is Linux this bad when it comes to handling multiple cores?

Information on the test is here: http://blog.returninfinity.com

Thanks,
-Ian
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Nable
Member
Member
Posts: 453
Joined: Tue Nov 08, 2011 11:35 am

Re: Opinions needed on a performance test

Post by Nable »

The first thing that i can mention about linux: if you want performance, you have to manually set affinity of your processes. I.e. lock each process (or thread, it's not important here) to it's dedicated core, else scheduler will waste a lot of time migrating processes from core to core. I don't know why he does it, but situation is the same as several years ago: if you start a cpu intensive task, scheduler will move it from core to core instead of keeping it on some fixed one.
Second fact: linux distros have many unneeded stuff out-of-box, so you should stop daemons that you are not critical, it can save you several precents of performance.
Third fact is about preemption and timer interrupts, see your kernel config for obvious details.
Post Reply