Subject Re: [firebird-support] Re: SMP Support in Classic
Author Helen Borrie
At 02:24 AM 16/11/2007, you wrote:
>This FAQ entry seems to be not [entirely] correct. Since I am not too
>sure myself, would like to confirm it in this list.

It's not entirely wrong, either. :-)

>According to Helen's book, Firebird superserver can use SMP on Linux.
>(p.5). I am still not sure if the issue with Windows doesn't exist or
>maybe exists, but is not so critical.

1. The Superserver "see-saw" effect doesn't happen on Linux.

2. On some hardware/Linux kernel configurations, it has been reported that SS threads are handed over to alternative processors, i.e., SMP is "used" by the OS. On others, it's reported as not happening: the entire process stays on one CPU, but the OS does make an intelligent decision about *which* CPU to run it on.

3. The current release versions of the Firebird engine don't have any intrinsic control over where tasks will go. That's under development for a future release. So, in the sense that *Firebird* can use SMP to some good effect, it isn't supported yet.

>Respectively the CPUAffinityMask option is valid only on Windows. (see
>the comment in firebird.conf).

That's right, it has no effect on Linux.

I heard from a pharmacy software company in Canberra some years ago that they actually distributed their Windows Fb 1.5 Superserver-based products on a hardware configuration that *would* pass client threads around 4 CPUs with excellent performance and no see-sawing. The informant never did get back to me to describe the hardware! I wonder if anyone from that company is watching...