Re: multithreading

From: Michel Lagace <michel_at_cae.ca>
Date: Wed, 23 Nov 1994 16:20:16 GMT
Message-ID: <1994Nov23.162016.6226_at_cae.ca>


Paul Beardsell (psb_at_sambusys.demon.co.uk) wrote:

[stuff deleted]

: Certainly Oracle implement 4 different processes on most platforms to
: do different jobs. Each of those may have their own internal threading.
 

: A criticism of Sybase may well be that everything is in threads. Some
: tasks of the Sybase RDBMS are probably just crying out for the extra
: throughput they might get from being in their own process.

One thing is clear, a task *cannot* get more throughput by being in its own process. Threads, like processes, compete for a computer's resources. The major difference between a process and a thread is that a thread does not have to switch a full process context in order to relinquish the CPU to another thread. In fact, the _throughput_ of tasks fully implemented in threads will always be better (if well implemented) than tasks implemented as processes.

The reason for a DBMS vendor to use processes instead of threads is that the code is easier to implement as a series of processes. Threads are harder to use and ask for more discipline on the part of the software engineer using them. The choice of processes over threads is usually (if not always) a question ofdelivery schedules and not one of performance.

-- 
Michel Lagace _at_ CAE Electronics ltd.
PO Box 1800           | Phone: (514)341-6780 X-3236
St-Laurent, Quebec    | Fax:   (514)340-5496
Canada      H4L 4X4   | email: michel_at_cae.ca
Received on Wed Nov 23 1994 - 17:20:16 CET

Original text of this message