>>>>> "CB" == Christopher Browne <[EMAIL PROTECTED]> writes:

    CB> futile discussions ask for it.  Notably, on an SMP system, it
    CB> would be a neat idea for complex queries involving joins to
    CB> split themselves so that different parts run in separate
    CB> threads.

You don't really need threads for this. All you need is to have
multiple backends and use queues to exchange tuples at specific
points. This is much like the Exchange operator in Volcano. 

    CB> The other Way, Way Cool part would be for queries that are
    CB> scanning big tables to split the scans into unions of partial
    CB> scans, so that on an 8 CPU box you'd take the "Big 4GB Table"
    CB> and have 8 threads simultaneously scanning different parts of
    CB> it.  (And making ARC all the more important :-).)

Again this can be done without threads .. you just need inter-process
communication. 

(BTW, there is at least one commercial system that follows exactly
this model).

-- 
Pip-pip
Sailesh
http://www.cs.berkeley.edu/~sailesh



---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to