Intel's Quad Core CPU Reviewed
Gr8Apes is one of many to let us know that Tom's Hardware Guide has posted a review of Intel's new Kentsfield quad core processor. From the article: "Even expert opinions are deeply divided, ranging from 'more cores are absolutely necessary' to 'why do I need something more than my five-year-old PC system?' Although the Core 2 quad-core processors are not expected to hit retail channels before October, Tom's Hardware Guide had the opportunity to examine several Core 2 Quadro models in the test labs. We would like to make it clear that these samples were not provided by Intel."
Some applications will make use of it, some won't. More cores is pretty much the same as more CPUs.
Even expert opinions are deeply divided, ranging from 'more cores are absolutely necessary' to 'why do I need something more than my five-year-old PC system?
These are obviously experts who have never heard of servers.
I'm perfectly content with my 1.2GHz single-core single-processor laptop, but I'd sure as shit like to have more muscle in the database cluster I'm responsible for maintaining at work. Whether these chips are a good solution remains to be seen, but that's a separate question.
Proud member of the Weirdo-American community.
Why is it so hard to get developers to write decent multi-threaded code? It's not that hard,
Let me put it this way. If all the developers in the world were as smart as you think you are, it would not be that hard. As it is, however, coming up with scalable, manageable, efficient ways of writing multi-threaded code, in a way that is future-proof, as opposed to simply optimized for todays generation of hardware, is hard. Very hard. Not as in research-subject hard, but as in continuing-research-for decades-has-still-not-brought-us-much-closer-to-a- solution hard!
, and using threads properly can almost always improve performance and/or responsiveness on single proc/core machines to boot.
Let me rephrase part of the above sentence: "using threads properly can...". Did you notice which word I emphasized? Can you guess why?
Any idiot can use threads. The difficulty is to find the right granularity of threads (which is related to what kind of hardware you've got), which tasks are parallelizable, which parallelizable tasks should (or should not) get parallelized because of communication overhead and other factors (which is also related to what kind of hardware you've got), and so on.
It is also important to note, that few existing programs are designed from scratch today. In fact, almost all existing programs were designed in the past! In the past they didn't have affordable multicore (or multi-CPU) computers. And thus, those old designs didn't take that into account.