multi core computers are highly overrated as far as what they can actually accomplish because software designers really don't have a clue how to fully utilize them. People think that you just keep adding processors and magically the program splits up tasks between them. Now the operating system will do that for you as far as multitasking goes. One program will be assigned one core and the next you open goes to another. They are good for that.
But for one software program to utilize multi-core processing, the whole question of code timing becomes critical. Rarely is there a task in code that you create that isn't dependent upon some other task finishing first before that code can run. When you send a task off to another processor that timing is no longer under your control. That other processor may be utilized by some other program or OS task and may put your task on hold. Your main program code then has to still sit there and wait for the results to come back from that task before another task can continue.
Let's take for instance a flight simulation program since I'm somewhat familiar with that type of programming. As a programmer you have a main task that involves calculating where you are in space and deciding what you should be seeing outside the window as far as terrain goes (and this is not something a high end graphics card can really help you with. It's processor intensive). You also have a task where you want to figure out how and where to display other airplane traffic that are flying around you. You think that you could put the first task to one core and the second to another but there's a hitch to that. The relative position of those other planes depends on where your plane is at any moment which is being calculated by the first task so those two tasks have to stay in synch. If there's any delay in one, the other cannot continue. That of course is an extremely basic example but it gives you an idea of the huge complexity involved. Most programmers don't have the time or energy to build in that complication in a fast paced production environment where the payoff might be very small in terms of performance.
Most of the delays today in high end three dimensional simulation programs (which are probably the biggest challenge to processing speed) come from data access speeds. Since graphical information is stored in disk files, the faster you move through the program's space the faster that information must be retrieved from some storage media. Processor speed doesn't help that much in that regard. Of course the higher the detail you want to display the larger the data files become and the longer it takes to access them. Many of the high end games today get around that by limiting the area you are able to maneuver around in but as users become desirous of wanting unlimited ability to move, storage size and speed will become the critical factor.
Art
Geek Speak » in reply to Does anybody have any ideas on why Intel is killing AMD right now?
Additionally
The whole thread (19 posts)
- Does anybody have any ideas on why Intel is killing AMD right now?
