A Microsoft kernel engineer, Dave Probert, gave a presentation last week about the future of multi-core computing
. He claims that modern operating systems fail to take full advantage of multi-core CPUs. "Why should you ever, with all this parallel hardware, ever be waiting for your computer?" asked Probert.
Currently all operating systems share cores among all the running processes. Probert believes a more efficient method would be to assign processes to cores. This method could allow OS designers to discard ideas like protected memory, leading to a faster overall system. But not all computing experts agree.
Many feel that the problem is not task-switching between cores, but that processes just take too long to complete. The most efficient way to improve multi-core utilization may be to find a better way to split up tasks among cores. The Parallel Computing Research Center has been working on this for some time now. No one’s quite sure how we’ll make use of multi-core technology in the future, but it’s clear we have a way yet to go...