Comment Re:Why? (Score 1) 631
I dunno - maybe because optimal multiprocessor scheduling is an NP-complete problem?
That only means we can't get an absolutely optimal solution in polynomial time. Fortunately, we are able to get a solution arbitrarily close to optimal in polynomial time. Find the correct balance of time vs. optimality and BAM that NP-completeness isn't really a huge concern.
Or because concurrent computations require coordination at certain points, which is an issue that doesn't exist with single-threaded systems, and it's therefore wishful thinking to assume you'll get linear scaling as you add more cores?
Now you're just putting words into his mouth. Nobody's expecting linear scaling, here! That is an entirely different question.