All the multisteram pipelines I have seen on the various unixen have
been of the fanout type.  I have yet to see a reliable faninany.  And
I shall not hold my breath.

It is also a myth that CMS Pipelines cannot exploit multitasking.  One
does it with several virtual machines in the true VM way.  CMS/TSO
Pipelines can do so and maintain record semantics to boot.

The unix pipe and CMS/TSO Pipelines are fundamentally different.
Anyone claiming otherwise has failed to understand one or the other,
or both.

   j.


2008/12/1 Paul Gilmartin <[EMAIL PROTECTED]>:
> 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