SunnyD
Belgian Waffler
The problem today, as I see it, we have OS's that are merely adequate to the task of mutlitasking. With AMD pushing 4x4 out the door, and Kentsfield, the question has been asked already - what benefit do multiple processors bring?
The current answer - nearly none, unless the application itself is designed to facilitate these things. I'm currently seeing the single threaded trend becoming problematic, especially when it comes to AMD and Intel (and others) selling multi-CPU systems to the average user. And the problem isn't the single threaded apps. The blame lies squarely on the shoulders of the OS.
Honestly, even on multicore machines, a single threaded app can bring the entire system to a grinding halt, simply because the OS cannot figure out how to adequately utilize multiple processors. In windows, for example, I can look at thread affinity for all of my currently running applications, and near all main threads of execution (which for the majority of applications is the ONLY thread) are running on core 0. An application can spinlock a system on one core, leaving the second core to flounder doing absolutely nothing. Why? Why isn't a multiprocessing OS aware enough to load balance at the very least? And with more cores on the way, what does this provide? Even less in terms of performance benefit.
When are we going to see an OS that will actually benefit the end user to have multiple cores? I can see it now - 4x4 using dual quads - Cores 1 through 7 with realtime thread priority allowing single- and multi-threaded apps to run nicely, and core 8 having the OS neatly tucked away to handle all of the mundane IO needs for the rest of the world.
The current answer - nearly none, unless the application itself is designed to facilitate these things. I'm currently seeing the single threaded trend becoming problematic, especially when it comes to AMD and Intel (and others) selling multi-CPU systems to the average user. And the problem isn't the single threaded apps. The blame lies squarely on the shoulders of the OS.
Honestly, even on multicore machines, a single threaded app can bring the entire system to a grinding halt, simply because the OS cannot figure out how to adequately utilize multiple processors. In windows, for example, I can look at thread affinity for all of my currently running applications, and near all main threads of execution (which for the majority of applications is the ONLY thread) are running on core 0. An application can spinlock a system on one core, leaving the second core to flounder doing absolutely nothing. Why? Why isn't a multiprocessing OS aware enough to load balance at the very least? And with more cores on the way, what does this provide? Even less in terms of performance benefit.
When are we going to see an OS that will actually benefit the end user to have multiple cores? I can see it now - 4x4 using dual quads - Cores 1 through 7 with realtime thread priority allowing single- and multi-threaded apps to run nicely, and core 8 having the OS neatly tucked away to handle all of the mundane IO needs for the rest of the world.