So you parallelize with pipelines so that the latency becomes a small
factor 
compared to the total throughput right? This distributed computing
paradigm
 
That was the general concept of fronting a superscalar core with an
optimizing instruction pipeline. Ensure that the instructions are as
parallel as possible and then maximize the work done in one cycle by
executing one or more instructions per cycle.
 
inter-machine level, things like the Linda system and other distributed
memory 
systems make it possible to extend the view of the "system" into
multiple 
 
Haha, that's about 20 years old, too! The master-worker pattern could be
seen as a pipeline but from the opposite approach. Instead of optimizing
the flow of the data/instructions, the goal is to optimize the amount of
workers available to consume the parallel sub-tasks so that there is
never a shortage of workers and there is always room for the
data/instructions. 
 
 
--
email: [EMAIL PROTECTED]  
 


________________________________

        From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of
Gregg Wonderly
        Sent: Wednesday, April 04, 2007 8:20 AM
        To: [email protected]
        Subject: Re: [service-orientated-architecture] Isaacson on High
Performance SOA with Software Pipelines
        
        

        Bill Barr wrote:
        > How come "new" software architectures are beginning to look
like 
        > advances in hardware architecture made back when RISC
processors were 
        > the hot, new thing? That was about 20 years ago, right? Most 
        > introductory computer architecture books illustrate that
pipelines only 
        > solve one performance problem: throughput. There is still
latency. We 
        > can always buy more bandwidth but, latency lives forever.
        
        So you parallelize with pipelines so that the latency becomes a
small factor 
        compared to the total throughput right? This distributed
computing paradigm and 
        the whole concept of producer and consumer are things that need
specific 
        consideration in SOA. If there is an operation that you depend
on the 
        timeliness of, your architecture should facilitate scaling up
that operation in 
        terms of parallelization of a single task of the operation and
the 
        parallelization of multiple operations.
        
        There are many things to consider for in process scalability.
The recent 
        developments in Java's memory model for JDK1.5 are aimed at
providing software 
        engineers with more tools to control concurrency interactions.
At the 
        inter-machine level, things like the Linda system and other
distributed memory 
        systems make it possible to extend the view of the "system" into
multiple 
        computing devices so that scalability in the form of
parallelization is simply a 
        matter of plugging in more machines.
        
        Gregg Wonderly
        

         

Reply via email to