Tuesday, April 17, 2007

Linux threading scalability problems

After a couple of years of work on trying to make the FreeBSD kernel
more concurrent, a couple of kernel hackers started to enable the
concurrency (which is off by default) on an 8 CPU system and started
to see much improved results
using a mysql benchmark
to measure it.

To make sure they weren't too far behind linux (which they have been
over the past couple of years) they compared the same benchmark on
the same hardware with the most recent linux and found that linux had
problems scaling when the number of threads was greater than the
number of CPUs.

Some linux hackers began to investigate this and found out that it is
not just mysql. The most likely cause seems to be 2 problems with
glibc - meaning that any program that does threading and uses glibc
(this includes java) would have the problem.


I guess once they identify the problem, it will probably be fixed within
the next few months.

No comments: