Chapter 6. Parallel and In-Place Processing
The scalability of a system is determined by the number of operations that have to be performed sequentially. Consequently, one of the best ways to ensure that a system scales well is to design it in such a way that as many operations as possible are performed in parallel.
For example, imagine what would happen if web server software such as Apache or IIS processed incoming HTTP requests sequentially, using a single thread. How many simultaneous requests could it process per second? Not very many. Would it be able to fully utilize a number of multicore CPUs on the modern hardware it runs on? Probably not.
Instead, in order to support many simultaneous users and to scale up to the limits of the hardware ...