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 >
