Taking advantage of potential parallelism

Many real-world applications will benefit from designing them in such a manner that the work can be split into distinct units, and these units or work parcels can run in parallel—concurrently—with each other. At the implementation level, we can use threads to implement the work parcels. 

As an example, a download accelerator program exploits the network by having several threads perform network I/O. Each thread is assigned work to download only a portion of the file; they all run in parallel, effectively gaining more network bandwidth than a single thread could, and when done, the destination file is stitched together.

Many such examples abound; recognizing the potential for parallelism is an important part of the architect's job.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset