What things are multi-core processors needed for? I mean what type of things benefit from using multi-core ? Also are there anythings that suffer in performance for using multi-core... ie. they perform better using a single core processor?
feedback
|
migrated from stackoverflow.com Mar 15 '10 at 6:51
This question came from our site for professional and enthusiast programmers.
closed as not a real question by techie007, Linker3000, Majenko, Sathya♦ Apr 28 '11 at 14:56
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. See the FAQ.
|
Anything where you want to do more than one independent thing at once benefits from having multiple processors, or cores. The traditional example is Operating Systems, running your word processor, browser, etc. simultaneously. A single core computer can become less responsive for all applications when one application is doing something computationally expensive, whereas a multi-core machine may isolate the busy application on one core, leaving free resources to still serve the user's requests. Another benefactor is highly parallelisable computation, such as happens in scientific computing. The work can be spread across multiple processors or cores. Processor manufacturing is hitting the limits of how fast a single processor can run and not melt. The answer they have found is to have more processors running more slowly. | |||||||
feedback
|
|
Multi-threaded applications benefit from multi-core processors, because you can assign threads to run on different processors. You get true parallelization instead of time slicing that way. Java Swing has a separate thread just for processing UI events. I would say it's a definite benefit, even for single processor machines. The trick is that it doesn't happen by magic. The application has to be written in such a way that it's aware of multiple processors using algorithms that explicitly take advantage of them. | |||
|
feedback
|
|
Calculations that are CPU intensive benefit the most from multi-core processors. For example, one hobby of mine is computer rendering and ray tracing. There is a linear speedup with the number of CPU's available. Note that high intensity calculations are now being shifted to the GPU (Graphical Processing Unit, i.e. Graphic Card) using such technologies as CUDA, OpenCL and Direct Compute. Calculation intensive software will perform best using a blend of multi-core and GPU-based computation. Microsoft .NET 4.0 has significant advances in parallel programming that make it much easier to write multi-threaded programs. As a result, they will be even more common in the near future. | |||||||||
feedback
|
|
Since clock signals are limited it's the only way for scaling, count your currently opened windows don't forget system tray. If you still doubt open the task manager or do | |||
|
feedback
|
|
Yes they are necessary for faster speeds with current CPU design. There are pitfalls with this approach however, mainly that the program in question must be capable of running parallelized. | |||
|
feedback
|
|
Multi core processors have been around for some time now and it's really up to developers to make use of them, by writing multi threaded applications. | |||
|
feedback
|
|
Absolutely! Even on my old P4 3.2Ghz switching over to a mere Dual Core 2Ghz made a massive difference... Give me 6 cores hint *hint* Multiple CPU's also allows for more code execution because a CPU can only process one chunk of code at a time. So the more CPU's the faster and more responsive a program can be. | |||
|
feedback
|