Consolidation versus Dispersion
Although there can be complicating factors, we will assume that a fully parallelizable process that takes time P takes only time P/p on p processors.2 We’ve also noted that a network response time that takes time N takes only time
when exploiting n service nodes (excluding some details regarding spheres versus planes). When we add in a fixed time F for the serial portion of the application and any time spent in the endpoint, the total time is
.
Both 1/p and
offer diminishing returns to scale in our pursuit of response time reduction. In other words, 1/p gets smaller as p gets larger, but does so less quickly, and
also gets smaller less quickly as n gets larger; therefore, the marginal benefit of one more processor or node—say, (1/(p + 1)) − 1/p—gets smaller as well. We’d like to get rid of all response time, using either parallelism or dispersion, but we’ll never get there. As Exhibit 20.1 shows, if we use ten processors, we can eliminate 90% of the time used for processing a parallel task. If we use ten nodes, we’ll reduce just over two thirds of the ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access