On Dec 1, 2008, at 00:57, Rob van der Heij wrote:

On Mon, Dec 1, 2008 at 2:16 AM, Paul Gilmartin
<[EMAIL PROTECTED]> wrote:

CMS Pipelines is trickier.  I believe it simulates the appearance
of concurrency, but is it truly concurrent?  That is, if my
system has multiple CPUs and I code a pipeline with parallel
stages, will Pipelines employ multiple CPUs for those stages?
If not, is this expected as a future enhancement?

Concurrency has little to do with multi-threading. Concurrency is a
programming concept. Virtual machines that share a single CPU are not
called concurrent. Concurrent programs can run on a single CPU.

In the sense of the concept, CMS Pipelines is concurrent because you
have many stages active at the same time.

My question is not of semantic richness but of performance;
not whether multi-stream pipelines can be coded, but whether
such pipelines can exploit multiple real (not only virtual)
CPUs.

The true difference imho between Unix pipes and CMS Pipelines is
multi-stream pipelines.

You're propagating a myth.  UNIX has no such restriction
on multi-stream pipelines.  It can even be done in POSIX
shell, although the code is not as compact as CMS pipelines.

Along with this comes the requirement that CMS
Pipelines does not buffer arbitrary amounts of records between stages,
like Unix pipes does.

Very true.

-- gil

Reply via email to