Subject Re: [firebird-support] Multiple CPUs increasingly OT
Author Ann W. Harrison
Jason Dodson wrote:
> While this holds true for a single system image OS, in a distributed OS
> (See Mosix, OpenSSI, etc...), regardless whether it is Unix or
> otherwise, will ONLY migrate WHOLE processes to another Processor (Not
> that this actually bares any relevance to our discussion).

Actually, it does bear some relevance to our discussion. I tend to
refer to multi-processors either as SMP, meaning that they share memory,
or clusters, meaning that each processor has its own memory. Firebird
was designed originally for VAX clusters, which are very similar to
Mosix or OpenSSI with a DLM. In fact, the design for DLM includes a
compatibility mode with the old VMS lock manager. At the moment,
Firebird uses its own lock manager also based on the design of the VMS
distributed lock manager. At some point, after the Vulcan merge, it
would be very interesting to try to run Firebird with the open source DLM.

> I think this is the reason I see so many programmers use multiple
> processes vs. spawning threads for parallel processing.

That attitude among Linux user derives, IMHO, from the fact that Linus
Torvalds took 15 years to accept threads. That attitude in turn,
derives from the Unix history of light processes. VMS and its by-blow,
WindowNT, have heavy processes. Switching between heavy processes is
slow, so those systems tend to have lightweight threads. Torvalds'
position was that with lightweight processes, threads were unnecessary.