Improved multiprocessor usage on amd64

Stephen Montgomery-Smith stephen at math.missouri.edu
Mon Sep 15 01:38:01 UTC 2008


I have a dual core amd64 on which I run a processor intensive numerical 
program.  I had been frustrated because it seemed to run 3 or 4 times 
faster under Linux.  But with a recent upgrade of FreeBSD-CURRENT, it 
now goes at about the same speed as Linux.

The program takes about an hour.  For the first minute, the program runs 
rather slowly, but then it is as if the operating system finds its way, 
and suddenly it speeds up.  "top -H" suggests that for the first minute 
that one thread is going really slowly, and is perhaps being starved or 
something.

My question is - why is this happening, and is this something I should 
expect?  Are there certain switches or sysctls I can set to make it go 
fast from the get go?

I should add that I am gratified that FreeBSD has caught up with Linux 
in this respect.  I hope that I will see even more improvements.  I will 
be happy to share the software I am running to help in this regard, but 
I don't yet have permission from my employer (University of Missouri) to 
give it an open source license, so I only feel comfortable giving it to 
people on a case by case basis.

Thanks, Stephen


More information about the freebsd-current mailing list