"Amdahl's Law tells us that even with an infinite number of cores, an application that is 50% parallelizable will get only a 2x speedup over a single-core design."
The key words are "an application." There are often multiple applications vying for CPU cycles, all running at the same time. So in fact, I can show how a quad-core processor shows up as only 25 percent busy, or slightly more than that, when the same app running on a single core eats up 100 percent of CPU cycles.
I've read, though, that memory buses of today show no improvement beyond what you can eek out of an 8-core processor. The problem being choreography, in essence.
Many application used all day contain a damn lot of tasks that can be performed in parallel. Just take an editor frame as example: rendering, spell check and syntax or grammar check can be performed in seperate threads.
The fact most application are designed with a single core in mind does not imply, the application does nit contain paralellism.
A Book For All Reasons Bernard Cole3 comments Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...