Imagine sorting a pile of cards with friends: searching separate piles can happen together, but dividing the pile and collecting results must happen in order. A serial part is the portion of an algorithm whose operations cannot be separated into independent parallel tasks. section 2.11
Searching index cards
Divide the cards into stacks (serial), search each stack for “concurrency” cards (parallel), then place the matches in a separate pile (serial). If the first and last steps take one second each and searching takes three seconds, two helpers reduce the total from five seconds to three—not to zero—because the serial parts remain. section 2.11
Serial parts place a ceiling on parallel speedup. Adding processors helps only the portion that can run independently; unavoidable ordering and coordination still contribute to total execution time. section 2.11
