

InterviewSolution
1. |
Solve : Bulldozer CPUs now available? |
Answer» AMD has released their new line of CPUs. They are a complete redesign since the last architecture in 2003. Most applications aren't written to support 6 cores, let alone 8 cores.Programs don't have to be written to support cores. At all. They just need to be written to use threads, and using threads makes the entire process of developing the software many times more complicated. Also, when you parallellize a task, you end up with some overhead. It isn't that applications aren't utilizing 8 cores, they don't need 8 cores. it's like people complaining that a program pegs their CPU at 100% while it does something, as if that is a bad thing. The fact that an application isn't magically pegging all your cores at 100% doesn't necessarily mean it's not "utilizing" them properly, it could just not need them. There are only so many tasks an application can parallelize, and eventually parallelizing more of them ends up with more overhead, particularly in the manner of thread synchronization. Either way, the new version of CLR, C#, and VB.NET include constructs that will allow things like foreach and for loops to automatically be executed in parallel if possible. So over time utilizing multiple cores will be a language feature as well as something one can work with independently (via their own threads). Quote Bulldozer isn't exactly appealing, either. Most applications aren't written to support 6 cores, let alone 8 cores. There is a 4 core version out, but for some reason newegg isn't stocking it. I agree with you though, the majority of programs don't use multiple threads/cores. I am not going to purchase one until most of the bugs are worked out. Quote from: Linux711 on October 26, 2011, 07:56:16 AM I agree with you though, the majority of programs don't use multiple threads/cores. WHETHER a program "uses" multiple threads/cores is entirely redundant. You're looking at it from a black and white perspective. Either your applications do use multiple threads/cores and thus the purchase is worth it, or they don't and it's not. Except that regardless of whether a program happens to be utilizing multiple threads, or any number of threads, more cores mean there are more cores for the task scheduler to work with. Various background processes share various cores while your foreground tasks use some other set of cores. There is a reason that web servers have had multiple cores since the mid 90's, and it's not because APACHE or other server software are/were "optimized" for multiple cores, it's because you need that slack. |
|