Intel - Market Doesn't Need Eight Cores
PeterK writes "TG Daily has posted an interesting interview with Intel's top mobility executive David Perlmutter. While he sideswipes AMD very carefully ('I am not underestimating the competition, but..'), he shares some details about the successor of Core, which goes by the name 'Nehalem.' Especially interesting are his remarks about power consumption, which he believes will 'dramatically' decrease in the next years as well as the number of cores in processors: Two are enough for now, four will be mainstream in three years and eight is something the desktop market does not need." From the article: "Core scales and it will be scaling to the level we expect it to. That also applies to the upcoming generations - they all will come with the right scaling factors. But, of course, I would be lying if I said that it scales from here to eternity. In general, I believe that we will be able to do very well against what AMD will be able to do. I want everybody to go from a frequency world to a number-of-cores-world. But especially in the client space, we have to be very careful with overloading the market with a number of cores and see what is useful."
I don't doubt an "8 core" desktop will exist in the near future. Then again he has a point... we won't likely need it.
I don't give a damn for a man that can only spell a word one way.
Mark Twain
If you put 8 core procs in desktop machines, software will be written that will take advantage of them. Which means you'll sell more 8 core procs.
Are you going to lead or follow?
Our stagnant bus bandwidth is really limiting how many cores we can feed.
"Our multiprocessor technology doesn't scale, but we don't want to scare investors away, so we'll pretend it doesn't matter."
Does having multiple cores do anything about the memory bottleneck? Does this make the machine balance better or worse?
I don't want to insult the person but saying that 8 is something that will not be needed seems very short sighted. People were saying only a few years ago "1GB is too big for a hard-drive"... Never under estimate the increasing need for power in computers, even for home users
*''I can't believe it's not a hyperlink.''
Two are enough for now, four will be mainstream in three years and eight is something the desktop market does not need.
oh, and 640k is going to be enough for everyone.
But if it were to exist, having 8 cores and RHT would certinaly give an advantage still. :)
"I thought what I'd do was I'd pretend I was one of those deaf-mutes" ~ Laughing Man - GITS:SAC
Long live the glorious reign of INTEL!! (I never, ever was an AMD fanboy... REALLY!!)
Every app designer that cares about performance is going into data-parallel design right now, with many media apps able to use 8+ threads already. Run two of these apps in a workflow and we'll see people on the desktop enthusiastic to get ahold of 16+ core chips.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
Of course it's a bit of a chicken and egg problem right now, isn't it? If more software used multiple cores, then we'd have a greater need for more cores. Or you could start programming in Erlang and sort of automatically use those cores.
On the other hand, to be fair, the scaling issues start getting odd. I'd expect that we're going to have to move from a multi-core to a multi-"computer" model, where each set of, say, 4 cores works the way it does now, but each set of 4 gets its own memory and any other relevant pieces. (You can still share the video and audio, though at least initially there will presumably be a priviledged core set that gets set as the owner.)
Still, as my post title says, this does strike me as rather a 640KB-style pronouncement. (The original quote may be apocraphal, but the sentiment it describes has always been with us.)
If the home user can justify (even indirectly due to demands of the operating system or changes in software architecture) 4 cores then 8 is immenently logical. Seems some minds at Intel are falling back to the dubious position they held regarding home users never needing 64 bit CPUs. Then again, maybe they're just playing dumb and are slaving away, burning midnight oil by the drum, to make 8 and 16 core processors.
Three Cores for the Clippy, but I don't know why,
Seven for the Vista kernel which is defect prone,
Nine for for Bloat which will make the cooling fry,
One for the Screensaver to toil alone,
In the Land of Redmond where Marketing lies.
One Core to rule them all, One Core to find them,
One Core to bring them all and in the darkness bind them
In the Land of Redmond where Marketing lies.
A feeling of having made the same mistake before: Deja Foobar
Intel saying "The market doesn't need 8 cores" = Intel saying "We can't really engineer 8 cores right now, we've hit some trouble". Of course the market would like 8 cores. Markets are greedy for new stuff, that's how you keep on making money. Intel's covering their ass for putting 8 cores on their roadmap for anytime soon.
There is nothing interesting going on at my blog
Of course we will never need more than 8 cores!
In exactly the same way that the world market has room for maybe five computers.
I think there is a world market for maybe five cores.
I'll probably be modded down for this...
until Vista 3.11 for workgroups come out.
What?
"No one will need more than 637 kb of memory for a personal computer."
He's right. Current desktops don't need 8 cores. However, as four cores become widely available, desktops will begin to change. They will become more threaded, and more processing that would have been avoided previously will begin to happen passively. Constantly streaming video in multiple thumbnail size icons on taskbars, stronger and more pervasive encryption on everything that enters or leaves the machine, smarter background filtering on multiple RSS sources, MUCH beefier JIT on virtual machines, on-the-fly JIT for dynamic languages, more complex client-side rendering of Web content (SVG, etc), these will all start to become more practical for constant use. Other things that we haven't even thought of because they're impactical now will also spring up. By the time 8-core systems are available, the market will already be over-taxing 4-core systems.
eight is something the desktop market does not need and 640kB should be enough for anyone...
For raytracing it would be perfect. The more threads tracing the better. I want one. 2 cores? 4 cores? How about n cores? This amp goes to n!
7 cores ought to be enough for anybody.
The Question will it run Vista or will Vista eat up all 8 cores?
...that the guy meant, not immediately after four cores? As in four cores will be enough for quite awhile and not just a few years. I highly doubt he meant EVER. No one would be that short-sighted.
I recently read about a 1024-core chip for small devices like cell phones Each core ran on a simplified instruction set and specialized in a certain task like muting the microphone when incoming sounds are too quiet, smoothing text on the low resolution screen, and other minute tasks. Individual cores could be placed in low power sleep mode until the software dictated a need for that instruction set.
Is it possible to couple CISC and RISC cores on one die? Is this how the math coprocessors of the 386 era worked? This sounds like an ideal solution to me since nobody needs 4 or 8 cores to be fully powered and ready to pounce at all times.
"Need" is subjective.
Once upon a time, Bill Gates said we would never "need" more than 640K.
Once upon a time, mainframes only had 32K of RAM -- and that was a vast amount more than their predecessors.
The '286 came out and was primarily aimed at the server and workstation market. "No one will ever need all of that power."
Thing is, people always "need" more speed, more RAM and more storage. And they'll pay for it too, so Intel may "need" to sell 8X cores.
Yeah right, 8 cores on one chip...that's almost as funny as needing more than 640k of memory!
never bring a twinkie to a food fight.
I doubt this is going to be true. The development of multithreaded applications is starting to get more common with the duel cores now. Why is it so hard to believe in a few years software will be dropping more than 4 or even 8 threads at a time, games or otherwise?
Heck, even opening a thread/memory space per website could prevent the entire thing bombing because of a bad site.
Just because some desktop users don't need 8 cores doesn't mean that nobody does.
Outside of my web browser and email client, 3 of the 5 applications I use on a daily basis for very intensive computing take full advantage of multi-processor threading, and all 3 of those would take full advantages of 8 cores (compared to the 2 I currently have and the 4 my next machine will have).
I'm out of my mind right now, but feel free to leave a message.....
Dual-core/processor system are nice. It's the equivalent of "load balancing" for your PC. You don't even need software that takes advantage of dual-processors to take advantage of it, really. Just put half of your processes on one CPU, and half on the other. Makes things nice and speedy.
But once you try to write an individual program to split it's *own* load between 2 CPUs, things get complicated fast. And the more CPUs you try to use, the harder it gets.
The fact is, it's hard to make multi-threaded software, and some functions just can't run in parallel. Yeah, now that multi-CPU PCs are going to be the standard, we'll see software that is designed for them, and programming techniques/compilers will get better. But still, there is only so much you can do.
I wonder how much "load balancing" is done by the Core/X2 CPUs at the microcode level? Do the CPUs themselves try to split code between the cores at execution time?
There have been a number of effects I tried to use on an image under GIMP. After a minute or so with nothing apparently happening, I would cancel.
I eventually asked somewhere whether there was a known bug, or whether the effect was just plain computationally intensive, and thus inherently slow. The answer: the latter.
I would think that image manipulation would often lend itself to divide and conquer, and hence could use as many CPUs as you'd care to throw at the task... and that also, it's a common enough task ("Let's make a really special Mother's Day card/clean up our vacation photos/etc.") that people would want to be able to do it quickly.
(Or how about a compute engine for a bunch of thin clients around the house? Let your screen and tasks follow you if you have to go from one room to another...)
Didn't someone once say "283 slices of pizza ought to be enough for anybody" or something like that?
Companies like intel (and the memory manufacturers), have constantly had the excuse (in the past), that "what would Joe six pack" want with.....
This has involved processor speed, and the most funny one, memory size. It's not long ago (about a decade), where all the memory chip manufactures refused to bring out 1-meg sized memories because they were too busy milking the existing market for 64k chips and if somebody asked them, they would have the same excuse (what would anybody do with more than 1-meg of memory?).
Now, with intle, it now has serious competition problems with AMD and it can't wipe them out like it did with all of those other small CPU startups in the past. That means we now have a market place that is not tied to the junk/expensive architectures that intel has a habit of creating. I remember when intel charged $1500 for a MHz 386 and the motherboard for it cost $2000. When intel first brought out the 8080 CPU chip, it charged $120 US for it and everybody was complaining, and the stupid thing about that chip was all the i/o had to go through the accumulator (I guess they were trying to save a few dozen transistors (and still charge you like 10X a reasonable part cost too)).
Different BS, same company, buy AMD, you will be better off in the long run..
Yeah, 8 cores is too much like 8 Megs of RAM is too much. Maybe for today's single-core apps, and low-core O/S stuff, but tomorrow? Tomorrow I want as many cores as you can put on there, why not? What famous last words... now AMD will come out with some cheap fab process, make a 512-core chip and kill Intel to death!
stuff |
Statements like this are almost like a challenge. Remember Bill Gates with "640K ought to be enough for anybody."? I wonder if the market will decide it doesn't need Intel.
Where were you when the voynix came?
Previously they said there is no need for 64-bit on the desktop.
Then AMD made a huge success with it and they had to backtrack.
"Perlmutter: Yes."
And please, immidiatly dissasociate "core count" from "clock speed" in your minds. Sure, software that takes advantage of lots of cores will come around sooner or later, but don't forget, we haven't even properly taken advantage of 2 cores / processors yet with 80% of current software, while dual processor machines have been around now for years. Creating an application that takes advantage of more cores requires being written for THAT MANY CORES to begin with, or at least patched to do the same. Maybe I'm slightly incorrect on that, but at least I can guarantee you it's not as easy as ratcheting up clock speed.
Windows has more viruses because linux has more virus coders.
Where was intel's claim that the market doesn't "need" a Pentium with 100MHz (when it really didn't)? Where was its claim that the market doesn't "need" 3+ GHz CPUs (when they were faster than AMD)?
Now suddenly we're supposedly not "needing" faster technology?
'scuse me, please, but this is still a free market, no matter what the producers think. And in a free market I decide what I need! And should I decide to need it and someone makes it, I will buy it.
If the chip isn't from Intel, so be it.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Anyone remember this? Ten years ago, could anyone have imagined that we'd be making 750GB hard drives?
Don't forget this one: nobody will need more than 640K of RAM.
Fuck Everything, We're Doing Five Blades
The 6 pack has been tried and true, why try and stuff an additional 2 Coors into it.
God spoke to me.
According to Bill Gates a number of years ago, no one could possibably need more than 64kb of RAM.
Man, you come a little late to a new slashdot article and everyone's already made the same crappy 640kB and world market for 5 computers jokes you wanted to make...
I need some new material.
I do agree that it's very convenient for Intel that the market doesn't need a product they won't/can't produce.
I'm sure that's what they're saying internally, too. "Hey Harry, stop working on that 8-core processor. Turns out the market doesn't need it!"
Michael Coyne
http://turthalion.blogspot.com
No core octo.
Eloi are stupid, throw morlocks at them!
And another exec opens his mouth and manages to shoot his whole company in the foot.
What quite a few other posters are failing to understand is that he is referring to diminishing returns. 1 to 2 give you some fractional improvement, 2 to 4 gives you a smaller fractional improvement, 4 to 8 gives you an even smaller fractional improvement, etc. At some point the cost, size, heat, noise (for the cooling), etc is not worth the fractional improvement. For most users that will probably be dual or quad.
For those extremely rare apps and jobs that are highly parallelable 8 and above will be useful. However this will be very rare and this is why the comparisons to the infamous 640K quote are misguided. Increasing RAM is easy, software naturally consumes RAM with no additional work necessary, just do more of what you are alraedy doing. Multiprocessing is something completely different, the code must be designed and written quite differently, and it is often very difficult to retrofit existing code for multiprocessing. Now you have the practical problem that not all problems are parallelable.
Strangely enough, I think one case where 8 cores could be useful in a home environment would be a bit retro. A multiuser/centralized system. One PC with the computational power for the entire family, dumb terminals for individual users, connections to appliances for movies, music, etc. Such a machine might go into the basement, garage, closet, or other location where noise is not an issue. Of course, I'm not sure such a centralized machine would be cost effective.
Intel saying "We don't think the market is ready yet" = Intel saying "We can't do this yet". Of course the market wants 8 cores. The market would take 32 cores and a pony if you shipped it. I've got plenty of uses for 32 cores. And a pony, come to think of it.
There is nothing interesting going on at my blog
Aha!
(Yes, I know he didn't actually say that, but it's still a famous misquote.)
I'm currently a CS student, a Junior in the fall, and I always hear things on /. about writing software for 64 bit, or for multi-core systems. In classes though, there's a big focus on abstraction. Separating the hardware from the software. Maybe this is just the young ramblings of an aspiring programmer, but shouldn't there maybe be compilers that handle the multi-processor dilemma? Maybe someone could shed some light on the way you specifically "code for multiprocessors"?
Does this emphasis on multiple cores by chip manufacturers mean that we're reaching the upper limit of individual core speeds?
Does the desktop market need 8 core machines? probably not for a while. But I would welcome 8 core chips for servers. just think of a rack of 14 blades, w/ 4 8-core blades? that's 448 in 9U (or 7U if you get the crappy chasis). that's insane density (and insane heat too). for hella density, 10 of the 7U bad boys and 4480 cores in a rack. friggin insane.
"Four cores should be enough for anyone" -Intel, 2006
Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose.
That's what Intel says. But their tribe falls in the same categories as, you don't need more than X amount of RAM, don't need hard drives bigger than 50G, don't need RAM running at 500MHz or faster, don't need "fill in the blank". But I guess we do need 3/4 G processors and dual cores to boot.
My karma is not a Chameleon.
Remember this article, with response's from people like this no wonder why intel needs to lay off people http://it.slashdot.org/article.pl?sid=06/07/13/204 0213&from=rss
Transputers used up to sixteen cores twenty years ago and had plenty of scientific applications. The physical arrangement of the inter-core buses was important depending on the application. Scientists of all types (except maybe Christian Scientist) use desktop machines for experimental work. Expect to see 'dynamic bus reconfiguration' in the next gen of multi-core processors and motherboards. One config for your word-pro, another for your server app, another for your First Person Shooter. Can I patent that idea??? Oh well too late. But it is interesting to see Intel and AMD reinventing the wheel. ;-)
"I want everybody to go from a frequency world to a number-of-cores-world."
That's the same thing they tried against AMD before. Higher frequency is a bigger number so it will sell better, right? Now, more cores is a bigger number so it will sell better, right?
If Intel wants to not repeat the same mistake and let AMD gain ground on them, they should go to a "performance world." Actual perfomance, in many different environments.
Thats right. A modest laptop, with 7 common applications running at one time has 162 threads. To me, 8 cores seems a little low with 20 threads/core, and I'm not even stressing my computer right now...
Nah, can't use 'em. It's like Gates saying you can't use more than 256K of DRAM for your little PC XT.
Bullhockey.
The world of virtualization for servers and for task elasticity is here and now, and AMD has figured out how to own it. Intel still can't shed heat and it's killing them.
So, they diss the need (so nice that their Itanium is doing well), and hump the competition. Sun has an 8-core that's reasonably fast for a low-speed RISC cpu. AMD is miles ahead, too. Why not make excuses to keep the stock price high?
CPU measurements in terms of vClock were completely mangled by Intel. Now they're dissing cores without understanding what's happening in server virtualization and internal clustering. Sigh.
---- Teach Peace. It's Cheaper Than War.
Let us examine the 8-core thing, though. Do you really need eight cores? In essence, 8 cores allows you to run 7 low-latency hard real-time threads, plus everything else you might want on the 8th core.
Is this a realistic scenario? Remember, not many people do much that is hard real-time. You want that when timing must be absolutely perfect. Well, an obvious case where you would want hard real-time is when doing high-quality multimedia. You want the audio and the video to be absolutely in sync, which means that you must have a totally predictable throughput for each. That's only two hard real-time threads, which would require a minimum of 3 cores.
So we're already above Intel's suggested needs for desktops. Can we manufacture - however unlikely - a scenario where we'd need far more?
Let's take that multimedia experience and wrap it around a MMORG. In order to keep the multimedia in phase with the game, the client engine must also be hard real-time. Low latency would make the experience surreal if what you saw had no audible results for several seconds or minutes. You need a guarantee that when action A happens on screen, action B happens over the speakers, within a highly deterministic timeframe. Having it variable and unpredictable would lose the feel. This brings us to 3 real-time threads and therefore 4 cores.
Virtual world servers tend to do a lot more computation than necessary and therefore transmit far more than required. By having a physics engine on the clients handle the microscale change of states, whilst the server calculates macroscale changes, you can reduce the I/O to simply re-synching when cumulative errors exceed some value. Again, to keep the visual and audible effects in time with the engine, you'd need a real-time physics engine on the client. This brings us to 4 real-time cores and 5 total.
MMORGs would be much more interesting if they used virtual reality gear or CAVE systems. The I/O from these, though, is intense. If you could get away with only having one core for input and another for output, you're doing well. This gives us 6 real-time cores and 7 total.
"Now, wait a moment! Why would you need an entire core to do hard real-time?"
Hard real-time is, well, hard. I'm stretching the definition of real-time here to not just mean that there is a guaranteed interval of time per larger block that the process has to run, but also that this interval is of completely fixed size. It can neither shrink nor expand. I'm also stretching it to mean that the interval occurs at a predetermined time, so it cannot occur early or late. In the case of video, events would be at fixed time intervals and would operate at a fixed frequency. In the case of sound, background would be at fixed time intervals and foreground would be controlled by a trigger/timer mechanism.
Obviously, on a single core, you can't provide these kinds of guarantees, even if there is enough CPU power to technically provide the processing time. There are far too many interrupts, locks and priority shuffles to do more than give the crudest of assurances. Games on such machines don't look smooth, because they cannot be smooth. The best they can ever get is fast enough to hide the crudity.
The simplest way to avoid the problems is to farm out the stuff that has very rigid time requirements and can't afford the unpredictability of being swapped out by equal-or-higher priority but ill-determined tasks. You also run into the problem that you do NOT want to swap between real-time tasks if you can help it. This isn't because they'll interfere (although, if the total time they'd need exceeds the total time available, they will), but because you need these threads to occur simultaneously to fool the brain correctly.
eg: Sword hits stone, at a distance of N meters, where N is very small.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
<your emacs joke here>
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
No, its not that they can't do it. It's just better for them for the world to all buy 2 cores, then upgrade to 4 cores, then upgrade to 8 cores. More money can be made that way.
While an 8 core desktop is gonna be overkill for a lot of people, it still leaves us with a nasty problem.
Peak CPU speed.
For now we have topped out on this, meaning our existing software is either gonna have to get more efficient, or it's going to have to change, unless we want to just deal with the level of performance and features we currently have.
(like that's gonna ever happen --how else would the closed corps sell upgrades then?)
Additionally, some application areas do not have enough CPU power to fully realize their potential. MCAD is one of these, by way of example. Take the fastest CPU's we have today and they are still not fast enough to fully render a solid model without wasting the operators time. Current software offerings are all working toward smarter data, creative ways to manage the number of in-memory and in-computation models, better kernel solves, etc...
But it's just not enough for the larger projects to work in the way they could be working.
Most of the MCAD stuff currently is built in a linear way. That's largely because of the parametric system used by almost all software producers today. With a few changes to how we do MCAD, I could see many cores becoming very important for larger datasets.
Peak CPU and RAM are the two primary bottlenecks that constrain how engineering CAD software develops and what features it can evolve for it's users. It's not the only example either.
The bitch is that most of the software we have is more than adequate for most of the people. For those that lie outside the norm, dependance on this software (both development and just use value need), constrains their ability to make use of multi-core CPU capabilities...
Messy.
Will be interesting to see how this all goes. Will the established players evolve multi-core transitional software that can bridge the gap, or will new players arise, doing things differently to take advantage of the next tech wave?
IMHO, there is a strong case for Intel doing the, "If we build it, they will come thing." For the higher demand computing needs, there really isn't any other way to improve, but through very aggressive code optimization.
Blogging because I can...
640 cores ought to be enough for anybody.
You see? You see? Your stupid minds! Stupid! Stupid!
OK, maybe its just me, or perhaps I am just being silly, but "Core" implies singularity. So having 4 cores, is kinda meaningless, let alone 8. Does the Earth have more than one core? an apple? anything? I can't wait til the techospeak gets to the point were people start talking about sub-cores or something like that. It will be called X3 Cored Squared or someting, where you have 4 cores, each of which is powered by 4 sub-cores, each of which has 4 micro-cores, giving you 64 processors! So what is a core? I think a core that contains the ability to process 4 processes independantly in parallel, is simple that, the core, not 4, not 8, etc... Sheesh make up a new name.... This is computer science people, at least come up with a stupid anacronym or something.
Does this mean that Vista will have to be delayed again?
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
I understand your comment. However, it is a near sighted point of view and will eventually be proven wrong.
True, we may not need it...but take a look around you and tell me how much of the stuff you actually need
Now onto why it is a near sighted viewpoint. Current software is written the way it is written due to the fact that 95%+ of current desktops have a single core. Once that is changed (will take time, but this is the tip of the iceberg), then software will adapt. Even simple programs can use multiple threads. Word processors: 1 thread basic I/O, 1 thread spell checking, 1 thread formatting, 1 thread backend synchronization (on-line storage sync), etc. Browsers: 1 thread basic I/O, 1 thread spell checking, 1 thread image processing, 1 thread pre-fetching, 1 thread something we haven't even thought of yet. Anit-virus software: 1 thread running continuously...
Each of the cores could be significanly less powerful than what they are right now but be used on demand. Each core uses say 10w. Nominal system level 10w, max 80...which would be MUCH better than today plus the various activities wouldn't interefere with each other. So, just because YOU can't think of a way to put N cores to use with the software that YOU use right now doesn't mean that someone else/everyone could using the software of tomorrow.
Pretty much anytime someone uses words like never or unneeded or excessive concerning this industry...they WILL be proven wrong as its only a matter of time.
When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
I doubt they're ever going to stop adding more cores. Intel vs AMD kind of reminds me of the razor wars. before you know it, intels going to add an 8th vibrating core with two lubricating strips.
Dang it.
With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
put another aloe strip on that fucker too. that's right, you heard me.
Sounds like a comment someone else made once.
And then some Intel manager will be known for the newest revision of Bill's famous "640K ought to be enough for anybody."
And 640k ought to be enough for anybody. Back in the day it was, but look at today. The graphics in my toolbar alone probably take up more than 640k. You build better hardware, the software engineers will find some way to make it run slower.
Check out the cave on the east side of lake Hylia. Strange and wonderful things live in it.
The obvious use for a large number of cores is graphics. After buying ATI, AMD will likely work at a new set of instructions: SSE4 or SSE5 which will bring pixel shader functionality back to the CPU where it belongs (one core can already handle vertex ops). You'll also have the extra cores in case someone actually has a nicely parallel application. System cost will go down, but a larger share of the PC price will go to AMD. With this purchase going on it should be absolutely obvious to everyone, but the stupid tech writers don't seem to get it yet. If this is AMDs plan, it's brilliant - if they just want to put a GPU on the same die it was a waste of money and will be the end of the company.
Mod you up. I actually didn't know it was a fake quote. Now I do.
Where were you when the voynix came?
Dir sir,
Firstly I must solicit your confidence in this matter. Let me introduce my self I am Tijani Yusufo credit officer for the Union Bank of Nigeria
CRANK CRANK CRANK CRANK
I need to transfer a large sum of money out of my country to a foreign account requiring maximum confidence
CRANK CRANK CRANK CRANK
Here is my proposition....
"Four cores should be enough for anyone!"
The multiprocessor technology does scale, the OS's do not.
Prior to Apple's MacOS X, Job's R&D crew found that the mach kernel natural bounds occur at 4 cores. 2X cores is greatest performance boost, diminishing thereafter to a kernel thrashfest trying to keep four cores working.
It doesn't matter much beyond 2X cores until kernels can handle the traffic management duties scaling up beyond 4X.
If you have a 1 core and a 4 core CPU, the manufactoring cost of the 4 core CPU is little greater than the 1 core CPU. Indeed, it soon makes more sense to make only 4 core CPUs and sell those with failed cores as 1, 2 or 3 core CPUs.
Within 12 months 4 core CPUs will be common for top of the range PCs; 12 months after that 4 cores will be the minimum acceptable CPU.
As the production of 8 core CPU ramps up the same thing will happen.
It may not be rational, but then this $1000 laptop is about 10 times faster than the first $5 million supercomputer I used.
Just wait for Vista to ship :) (Just had to say that...)
In fact, we do alot of high end drafting and mapping at work. 8 cores would rock. Any other intense application like that probably could benefit today from 8 cores.
It is wierd when you get people who do not seem to understand the needs of their customers running these comapnies. Gates said the same thing about 64k memory and 4GB memory!
Let's write this down and make the sucker eat his words in a year or two.
putting the 'B' in LGBTQ+
I wouldn't be surprised if David Perlmutter is just as wrong as Bill Gates was. Just because the need is inconceivable now doesn't mean a surprising twist in technological advancement (ie to make lots of cores on one processor cheap and easy, for example) plus new software (read: games) that would require that kind of power won't have us all running on 32-core PCs in the future.
On the other hand, it IS more likely that some other method of increasing performance will be discovered/used.
At least one core for voice recognition. Every user could benifit from voice recognition, which today is not really proctical due to processing limitations, even if the whole computer is dedicated to the task.
One core just for UI. Right now background programs can interfer with the UI. I run into UI slowdowns on a regular basis because of heavy tasks. At least one core for media. You may not allways be processing video, but when you do, even for playback, you do not want your UI to bog down, or your voice recognition to stop working. one for other tasks. You need at least one processor to run the various programs that are not consuming a whole core for themselves. There are 4 or 5 cores necessary, and we haven't even started on gaming or virtualization. There are lots of tasks in the home that would be great for a computer, but the level of processing is so far below what is needed that it simply isn't practical to even try.
"I believe '2' is a good number. '4' will be an interesting number for the high-end. Will we see eight cores in the client in the next two years? If someone chooses to do that, engineering-wise that is possible. But I doubt this is something the market needs."
I very strongly suspect that he's talking about 8-cores in the next two years.
Most app dev's don't know how to use 2 cores efficiently at the moment, much less 8. And for the next two years, app dev's probably don't know what to do with 8.
And look! Behold! Their 8-core plans are for post-2008!
Folks, this is nonsense. Intel has said, over and over and over again, that we're going to x100's of cores by 2015.
And they have very clear ideas for specific applications: Real-time super-resolution for cameras. Speech and Voice recognition. Recognizing who's sitting in front of the camera, quickly. Virtualization. All kinds of stuff.
There's no end to the amount of useful processing that can occur.
I would like to nominate this fellow, this weeks winner for sure.
Unless Balmer shows up, that is.
The Intel guy is right, at least for the relatively near future. 8 cores on a desktop aren't really going to benefit much of anything until code is written to be MUCH more effectively multithreaded. Most desktop applications now have a tough time making effective use of 2 cores, let alone 4.
On the other hand, the resources that would be spent on an 8-core chip could be much better spent elsewhere, improving the performance (or performance/watt) of each of the 2 or 4 cores in a chip instead. Doubling your transistor count for only a minimal improvement in performance for the software most people use isn't generally a good idea.
The custom rendering software I work on at Maas Digital (used for things like the IMAX Mars Rover film) is very cache sensitive. I've been mulling this over recently, because in computer graphics, memory is almost always the bottleneck, and it's lead me to conclude we really need some different languages, or at least language constructs.
Pixar's Photorealistic Renderman (perhaps one of the greatest pieces of software ever written, from an engineering point of view) is very odd in that its shading language, while interpreted, is actually much faster at accomplishing its goals than other compliant renderers which compile down to the machine level. I believe this is because of memory bottlenecks, and despite the fact that computer graphics is an "embarassingly parallel" problem, eight cores is likely to aggrevate this much more than it is to help.
What I think is needed is a more functional-programming approach to a lot of these problems, where the mathematics of an operation is more purely expressed, leaving things like ordering/scheduling up to the compiler/runtime environment. Runtime compiled languages, like Java, can sometimes outperform even the best hand-optimized C due to the fact that the runtime compiler can optimize to the cache size and specific chihp family.
Also, this type of language would benefit multi-core processing because it would help expose the most possible parallelization opportunities, and let the compiler (perhaps even through trial and error) determine exactly when and how much parallel code to create.
Currently all of my parallel supercomputing code uses Fortran and the Message Passing Interface, but it's clear that this approach leads to code that is often very hard to debug and is very programmer-intensive. Hopefully the future of programming languages will help ease us into general purpose computing on highly parallel architectures like Cell.
In the land of Redmond where the chairs fly.
---- "XML is like violence. If it doesn't fix the problem, you aren't using enough."
It's not about utilisation. It's about (drum roll) "a great quality interactive user experience".
I would gladly take a 8 core processor, as all interactive threads would run much smoother and would not get wobbly when doing massive amounts of IO work.
And I doubt that all your 162 threads run at the same time. That you would notice.
Meme of the day: I browse "Disable Sigs: Checked". So should you.
Fortunately, I don't rely on my brain. I have a program that figures out what all needs to be done, what order to do things in, and what can be run in parallel with what.
It's called "make."
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I'm working with a Lattice-Boltzmann model, which, being a cellular automata, would benefit greatly from as many cores as possible. I'm currently using a dual-core Opteron, but I've seen the large speedup that GPUs can bring to such tasks, and have been looking into rewriting the code as Cg. Unfortunately, using shaders is proving to be a huge, hacky pain in the ass. With 8 cores, I think that a multithreaded C++ implementation would be faster than a shader, along with keeping the code sensible.
Maybe eight, but we'll never need more than 640 Cores.
Not quite exactly. Things depends on the brand.
For Intel that's exactly the case :
With current intel architecture, memory is interfaced with the NorthBridge.
With multicore and multiproc systems, all chips communicate to the NorthBridge and get their memory access from there.
So more cores and processors means same pipe must be shared by more, and there for memory bandwith per core is lower.
Intel must modify their motherboard design. They must invent QUAD-channel memory bus, they must push newer and faster memory types (that's what hapenned with DDR-II ! They needed the faster datarates, even if those come at cost of latency), etc...
But the more their pursue in this direction, the more latency they add to the system. Which in the end will put them in a dead end. (Somewhat like the deeper pipe of their quest for Gigahertz put them in dead-end of burning-hot and power-hungry P4).
For AMD that's not quite the same :
With the architecture that AMD started with the AMD64 series, memory is directly interfaced with a memory controller that is on-die with the Chip.
The multiple procs and the rest of the mother board communicate using a standarized HyperTransport.
The rest of the mother board doesn't even know what's hapenning up there with the memory.
And with the advent of HyperTransport-plugs (HTX) the mother board doesn't even realy need to know it.
Riser cards with Memory-And-CPU-Both-of-Them (à la Slot 1) is possible (and highly anticipated, because it'll make possible a much wider possibility of specialized accelerators to be plugged than currently with AM2 socket)
The most widely publicised advantages of this structure are the lower latency.
But this also makes it easier to scale up memory bandwith : Just add another on-board memory controller and voilà you have dual-channel. That was the differences between first generations of entry-level AMD64 (Athlon 64 for 7## socket : one controller - single channel, Athlon FX for 9## socket : 2 controllers, dual channel).
by the time 8 cores processors come out and if CPU riser-board with standart HTX connector appears, nothing will prevent AMD to just build riser board designed for 8 cores chips with 4 memory controllers (and Quad-channel speed). Just change the riser board, memory speed will scale. Mother board doesn't need to be re-designed. In fact, same mother board could be kept.
And this won't come at the price of latency or whatever : the memory controller is ON the cpu die, and must not be shared with anything.
In fact, that's partially already happening :
In the case of multi procsystems, instead of all procs sharing the same pipe thru the NorthBridge, each chips has it's own controller going at full speed.
And this memory can be shared over the HT bus (albeit with some latency).
It's basically 4 memory controllers (2 per proc) working together. Acheiving quad-channel alike shouldn't be that difficult.
Specially when Intel is pushing the memory standart to chips with higher latency : asking for more bandwith in parallel over the HT-bus won't be that much penalizing.
So I think AMD will be faster at developping solutions to scale against higher number of cores than Intel, due to better architecture.
Maybe, it's not a coincidence that AMD is working on technology to "bind together" cores and present them as single proc to not-enough SMP-optimized software, and that at the same time Intel is telling who ever wants to listen to them that 4 cores is enough, 8 is too much. (Yeah, sure, just tell it to the database- and Sun Niagara people. Or even to older BeOS users. This just sounds like "640k is enough for everyone")
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
.... I am running a dell XPS 170m just now with no hyperthreading admittedly and the thing constantly locks up and when I look at task manager there is always some "important" little program from HP or Dell or Logitech eating up cpu cycles and thats in addition to my antivirus working away... I reckon I need at least two cores for me but we all need an extra core for all those annoyingly "helpful" little programs that come with the shit we buy and that appear to be compulsory (HP is the most anoying) if we wanna use our hardware. The attitude of software providers appears to be that your entire PC is there for the benefit of their program so as soon as we see multicore go mainstream then they will attempt to gobble up the extra cycles so lets give them an extra core. So far I'm up to 4 cores just so my PC wont hang when I wanna check mail as well as play music. Now lets bring Microsoft into the picture - the same people whose goal in life it appears to be to make each successive generation of computers seem slower than the last. They will clearly see multicore as an opportunity to move their bloatware into overdrive so I figure we probably need to double the number of cores again so my mp3 wont skip.... So there you are: I'm up to eight cores and I'm not even ripping a dvd yet... 16 cores anyone? :)
the market doesnt need 8 cores but it would be hella cool, plus i can only relate this to the IBM saying that we would only need 4kb and one pc for the world. Another personal favorite is NTFS or new technology file system, that sh*t hasnt been new in .... ever.
Once you have 8 cores, it becomes advantageous to have memory which is faster for each group of 4. At 8, you're on the edge where the advantage exists, but isn't sufficient to justify the additional architectural complexity. For 16 and up, it's much better to have 4-processor nodes each with its own memory (and slower access to memory on other nodes). It's unlikely that improvements in chip technology will change this. It's also not something about desktop computers; existing large machines use 4-processor nodes.
So he's right; before it makes sense to have more than 4 cores on a chip, you'll want multiple chips of 4 cores each with separate memory busses, and then system RAM on the processor chip (at which point the architecture is significantly different, because the system is asking the processor for memory values, rather than the opposite), and only then does it become efficient again to put more cores on the chip, as you can have a multiple-node chip.
"Noone will ever need more than 640KB"...
...I just wonder who forgot the "No man will ever need a hard drive"
"No individual will ever need a computer"...
Do not under-estimate Windows Vista.
JUST DON'T.
(...and the huge amount of ZombieNet-making viruses that will install themselves automatically just seconds after the user clicked on this nice, shiny. cute, DirectX-9 accelerated, "Connect to Internet" icon)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
And it's surely not a coincidence that AMD is speaking about building processor with a lot of cores and developping a technolog to bind cores together and present them as a single processor to the application that can't efficiently multi-thread.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
"I believe '2' is a good number. '4' will be an interesting number for the high-end. Will we see eight cores in the client in the next two years? If someone chooses to do that, engineering-wise that is possible. But I doubt this is something the market needs."
Note that this talks about only next two years. Not forever. I agree with this. We will see 2 and 4-core machines in the future (that means 4 and 8 thread with hyperthreading). OS/Software industry will catch up with innovative new ways to use so many threads for a typical "end user" (I know there are specific applications that can use as many threads/cores as it is given - I am talking about Average Joe here). After those 2 years, there is no prediction here.
Osho
I already have a machine with 8 cores sitting on my desktop... a Sun T2000... OK, it's not supposed to be desktop machine, but it's 8 cores, and 4 threads per core...
I'm not a scientist or engineer, but I know I could use as many cores as I can get. The sole prohibiting factor is cost.
Consider even amateur video editing, Illustrator work, Photoshop, encryption and compression. These are highly parallel processes, and they'll never, ever be "fast enough". I'm not even talking about videos I design for work (which I do); I'm talking about home movies and the like. Any reduction in encoding/compression time for home video will be appreciated; even if I'm only working on 30 minutes or 1 hour total of final footage.
If you think your system does it fast enough, your not working at a "good" codec or at a high resolution; I'm talking about MPEG-4 H.264 at 1080p. This will bring the fastest system on the market to a crawl, and force a grind on it for hours. A 16 core, or 64 core, or 128 core home "power-user" desktop will help for this.
The other bottlenecks are memory and disk bottlenecks. An AMD system gets around this, as each additional core has its own memory controller. And trust me, when you're working on H.264 video, you'll have to be seeing absolutely amazing compression throughput to even come close to disk maximum.
Also consider, there isn't any reason that a home user wouldn't want to do multiple types of these tasks at once. I to be able to use my system while encoding H.264 video, whether it be my home video, my podcast, or whatever. I want to be able to encode H.264 that I recorded on my media center, while simultaenously decoding HiDef video downloaded from iTunes, while occasionally recompressing stuff for my Video iPod, or running Illustrator, or Photoshop.
I highly, highly doubt that an 8 core intel system would enable me to run 1-2 of these encoding tasks without substantially reducing my systems responsiveness.
This is not pure Workstation stuff; this is the high-end of the home user market as well. And if the market players get their way, this is stuff that's supposed to become mainstream this year and next year.
And this isn't mentioning gaming, or running services on your home system (why should I _ever_ have to turn my Counterstrike server off? or my Skype super-node? or my personal, SSL encrypted WebDAV desktop?). Beyond that, this isn't mentioning the possibility of introducing additional layers of compression/encryption on _everything_. Encrypting everything introduces substantial overhead these days; and encryption is a highly parallel processor intensive operation. And anything I can do, I can (and should) encrypt.
Build a 16 core system, and 80% of people will use it. Build a 32 core system, and 80% of people will use it. They'll run Counterstrike, while playing World of Warcraft, with a queue of videos reencoding from TiVo's HD desktop video format to H.264 for the video iPod, with all data going in and out of the system using 2048-bit AES encryption.
And it still won't be perfectly responsive.
The only people who can't use virtually _unlimited_ parallel processing power are office/IE types; the ones who refuse to use their PCs for anything but word processing, email, and web browsing. And for those people, we crossed the boundry of "way too much processing power" around the Pentium II age.
For everyone else, we need more storage, more RAM, more FLOPS, IOPS, and we need it cooler, and more efficent.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
What ever happened to optical computing? Or is that only for top secret projects?
a ve_way_for_optical/
I thought the optical transistor had already been invented.
http://www.theregister.co.uk/2000/05/31/boffins_p
Shouldn't computers be run by lasers and optical transistors now?
I don't know much about computers for a nerd, but I think the bottleneck is maybe that we should be using light instead of metal wires? Are the costs too high for optical components? I think there was a silicon optical transistor in development. We should skip all of the xponential climbing and just shoot for the top, but hell I don't know much about economics of it. Who care's about moore's law? Does an newage idea have to dictate what will happen ? I don't know about you , but I'm sick of the dictator.
Zoidberg: Ooh Zoidberg at last you are becoming a crafty consumer. I'll take eight!
just because I don't care doesn't mean I don't understand!
The High Performance Computing market != the Desktop market. Those running huge simulations and using far more than 2GB of RAM are not doing so on a desktop.
-mrxak
Onions Will Kill You
... we might not need eight cores, but we're geeks: we'll buy them anyway.
Do you mean Super NES quality (feasible in script + HTML DOM) or do you mean GameCube quality (which currently requires either Java on an overly powerful PC or native code)?
At least a processor core dedicated to compacting garbage collection will make the "Java technology is still really fscking slow" trolls shut the fsck up.
Ok, now that's probably accurate. Will we ever need 8 cores? Sure. In the next two years? Probably not, and definately not mainstream.
Nope. The GPL lets me use as many CPUs as I need. Or did you mean proprietary software?
Microsoft software is licensed per socket.
That diminishing returns comes from poor interconnects. That's why intel's chips won't perform well at 8+. 32 CPU machines have been very ordinary and in use for many years. The gains are linear as long the work you are doing can make use of more CPUs.
Ever read Neuromancer? Why not a primative version of 'the matrix'?
Considering how fast the human brain works: 100 trillion instructions per second, a machine of insane and raw speed would be needed. I can't wait! :D
I use terminal servers a lot. They depend on the effect you describe: usage spikes. My first was an Athon 2500 that could keep 25 people running smoothly all their processes. That is 100 MHz/person. The system I have just designed will use eight cores to serve 200 people at once: 3800X4/200, about 76 MHz per person, but it is 64 bit with a gigabit/s interface.
A problem is an opportunity http://mrpogson.com
We don't need 8 cores for normal desktop stuff yet. (Servers of course might need 64 or 200 cores and such large scale machines are avalable today) But desktop software has not changed much in over a decade. The next Big Revolution will be natural language proceing. Not just brainless "voice typing" but you tell your omputr. "Hold all calls but if Jim or marry cals forward them to my cell phone and write a letter about getting that warenty repair done too" A machine that could understand andact on the above will be much differnt then the things we have now. I can see that they might have 64 or so cores and a terabyte of system RAM. Iwant a computer like the secritary just outside my office. All I ned to do is tel here I'm needing to by in "Washington" thurs and Fri. and she knows where in DC I need to be and where I live and so on and gets me a car, hotel and air tickets. Maybe in 50 years and then once I have this I'll want one that works 10 times faster then a real person. It will not end there either.
Please explain the Nintendo 64 game console.
From what i have read, programming software to activly take advantage and efficiently manage multiple cores has been exorbitantly difficult to write. Some cite that the coding process 'no longer comes naturally' when having to constantly imagine how to think and process things on multiple cores at once when our minds are typically just one core themselves. Others cite that debugging and troubleshooting is a real hairpuller telling which cores to do what and time themselves at pace with eachother.
There are many other hardships, i'm sure, but this is what i see other programmers experiencing.
I don't need 64-bit dual core workstation with 4 GB RAM... But I want one!
When Microsoft releases a new version of Windows.
"It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
>> I want everybody to go from a frequency world to a number-of-cores-world.
Obviously an Intel guy would say that. Its a great way of shifting bulk product. All of a sudden, your consumers want multiples of what they considered sufficient before.
Intel & AMD don't want Joe Public to know that just increasing the number of cores does not speed up a single-threaded app. or one that has an inherently sequential problem to solve. They are trying to gloss over that reality.
In fact, the majority of every-day computational problems are inherently sequential in nature and do not benefit much if at all from parallelism. In fact, introducing paralellism in these cases frequently causes a performance decrease due to the additional synchronisation overhead.
Raw CPU Mhz is still going to give performance increases, however the whole core-count thing is a new marketing concept, especially as joe public can be easily convinced to falsely believe that an 8 core machine must always be 8x faster than a single core machine.
Did we ever need two?
However, GC is already quite efficient and typically only takes a small fraction of execution time anyway, plus you lose some efficiency compared to the throughput collector, so hopefully you've got other useful work for that core.
At the turn of the decade processor clock speed was growing every year. Now it has topped off.
Stop. Really. Don't keep asking "Is he right? Will we need them? Will we never need them?", because he's wrong.
h e-same statements always work. Once we get 4 cores, we'll do things that are new and weird and 8 cores will do them better.
Not because they're technically necessary to do what we need now, but because the SECOND he says this, the Crow Dinner Machine engges and slowly starts to turn. He'll be wrong. Spectacularly wrong. And not in the far distant future.
"640K ought to be enough for anybody."
"I think there is a world market for maybe five computers."
etc.
He's toast. Look for machines with 37 and a hlaf cores in a few years. And they'll be AMD or Cell, with Intel playing catch-up. Not for reasonable technical reasons, but because that's just how such look-at-the-world-now-and-expect-things-to-stay-t
He. Is. Wrong.
By defnition.
8 cores I mean. And as usual, IBM lead the way, it's called the cell processor. It's useful, functional and there, and they will sell millions of them. And it *will* go beyond console game machines, just watch it happen. If intel thinks selling millions of processors is not important-short their stock, idiots have taken over. Every time you can pass of part of the load to a dedicated device, a seperate CPU, another core, back to RAM cache-whatever, the system will work better, as long as you can keep the I/O up to snuff. If you build it in quantity, enough devs will code to it, pretty soon, it becomes mainstream.
In theory, you want NUMA. In practice, having one memory bus means you have to have at least two DIMMs. Having two means four, four means eight. You could go with one DIMM per memory bus, but two one-DIMM busses have no more bandwidth than one two-DIMM bus, so why bother?
I can get two 1GB DDR DIMMs for $120. Getting 4 512MBs costs more, plus the cost of the sockets, and the space for the traces on the mobo.
I think all of this help underscore the original point, which is that perhaps the average user doesn't need gobs of cores. Adding that stuff increases the cost to them more than the value to them.
http://lkml.org/lkml/2005/8/20/95
Lessee what I might need 8 cores for:
1 Core for Vista Aero Glass,
1 Core for 12 tab FireFox, at last;
1 Core to export an Mp3 CD,
1 Core for TTS, to read stories to me;
1 Core for Accounting and Word,
1 Core for Excel Models Absurd;
1 Core to play Chess with Crafty,
1 Core to rule them all, in the darkness, Snappily.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Q: What does the "B." in Benoit B. Mandelbrot stand for? A: Benoit B. Mandelbrot
Define "mainstream operating system" in such a way that the standard library distributed to Nintendo 64 licensees doesn't count.
Of course the N64 supported threads. Any console with a raster interrupt supports threads.
Both the PlayStation and the Nintendo 64 used a MIPS CPU. MIPS was part of SGI between 1992 and 1998.
will invoke the wrath of Bel-Shamharoth.
You are being very "smarty" with your reply, but it is very likely the parent poster did mean main memory. The bottleneck for most software is main memory. These days your level 1 and level 2 cache is barely enough to hold even the simplest code without overflowing. With the addition of each new core, you divide those internal caches by approximately 2. Consider the Java runtime engine. Try to put that inside the CPU caches. But the problem is even larger. Most all pure data passes through the cache as well and modern data requirments are going into the Gigabyte range. The main memory bandwidth is a problem, and needs to be addressed for multiple cores, otherwise you've just replaced one poor performance marketing scheme, processor frequency, with another, multiple cores.
+2
In the short term, it seems that programmers are going to have to create the parallelism in their code explicitly. Humans have never been very good at this and bugs will be abound. Even porting old multi-thread applications can cause problems because conditions that were improbable when multiplexing several threads into a single core might arise with true parallelism. Maybe langauges will evolve to handle this better than pthreads and the Windows API do right now. But then you have to convince people to use new langauges (always difficult).
The better solution is that compilers improve to the point that they can automatically extract thread level parallelism from a program. 8+ cores is then suddenly very useful even for normal tasks. There are plenty of active research projects in this area.
Run time systems could also be modified to take advantage of the extra true parallelism. For example, the JVM or CLI could have runtime services such as streaming encryption, multimedia extensions, or network stacks running in separate threads on other cores.
Another thing to consider is that with extra true parallel computational units, more possibilities open up for the programmer. If there is a particular feature that would make their software system better but has a large computational overhead, then offloading it onto another core opens up a world of possibilities. Think about the Physx co-processor. It could be integrated into the chip as a specialized core or simply as software running on a general purpose core.
Fewer cores seems to fit well into Intel's historic plans. My plans are different. With cheaper commoditized CPUs (possible years ago) we buy CPUs like RAM chips. And, probably we buy cheap RAM chips with a "core" thrown in for nothing. The cel phone/MP3/game console market is edging out Intel-based PC's in favour of commodity CPUs anyways. So, my plan is well under way. Goodbye Intel.
I love comments like "eight cores are too many" Reminds me of one particular industry shaker who said that he couldn't imagine anyone needing more than 640k...
I think many users wouldn't be against the capability of streaming real-time high-quality compressed video streams directly to friends and family. The streams would probably come from home security cameras or home family video cameras or tv channels :) All the users need is enough CPU power to encode it all the while letting most of the users do their other stuff at the same time with a virus checker and intrusion detection system running in the background. 1-2 cores doesn't seem enough IMHO and especially with HDTV signals.
Sigh...but I need a job to save the money to buy this 8+ core super-multimedia-desktop.
All this discussion over some BS from a marketingdroid? Are you really all such suckers?
Let me translate from marketing-speak to plain English for y'all:
droid: two are enough for now, four will be mainstream in three years and eight is something the desktop market does not need.
translation: We have a two core product available now, we will have a 4 core product available in three years but we don't yet have a plan for an eight core product.
As for 8 cores - it all depends on how well your code is written and how many things you'd like to do in CPU simultaneously
So far, the biggest excuse for not writing paralellizable code has been "Well, only 1% of the population has a dual-CPU workstation, anyway."
That justification is rapidly becoming obsolete. Add in the lure of faster multitasking, and you've got your answer. Maybe not for eight cores just yet, but certainly for two to four.
The US free market: two halves of a government-granted duopoly are free to set the market price.
This is the same company that said the normal user doesn't need a 64-bit CPU either. Even if they don't, people are always looking for something with more [insert feature here]. If you can't make any improvements in another way, just put more of what you already have in the same box and increase the initial price and people will buy it whether they need it or not.
Can we really trust someone who says: "Well, I am a technologist"? Engineer, maybe. But, technologist? From his bio, it is clear that this guy was once a hands-on engineer, but he seems more like a pointer-haired manager to me now.
Because of that statement, I predict within 10 years, we will have computers
with at least 64 (4 x 4 x 4) if not more cores. We wont call them cores, we'll call them
nodes or something like that.
I remember when the 16 mHz 80386 came out. One pundit stated that it had too much power for desktop users and that it would only be used for "file servers".
Never underestimate the needs of a user. While many people get along just fine with a 2-3 gHz single CPU for their computer needs (web surfing, email and some photo manipulation), there are also a lot of people who could use a lot more juice in their computers. I am not the typical user (I am a software developer), but I could use 4 to 8 CPUs with 1-2 GB of RAM each. I develop against 2 to 3 different app servers (often 2 to 3 versions each), 2 to 3 different server OSes, and at least three different DB server products. When I test/debug my code it is very useful to be able to run the unit and other automated tests against the whole quite suite of platforms. I need to do this without interefering with other developers and testers who have the same needs.
An 8 CPU machine and VMWare would be just fine for those purposes.
Buying dual core/64 bit processors is a bit like buying an SUV to drive on paved roads.
It's funny that for years SMP was marketed exclusively for servers. When enthusiasts would investigate, they were always advised to steer clear of multiple processors because of incompatibility, and because they just didn't provide any clear advantage for day-to-day use. But now that we seem to have hit the MHz brick wall (for now), it's all about SMP, which is somehow more practical now that it's two processors on one core.. nevermind the fact that there's hardly any software that can take advantage of it, and worse yet -- no clear concept of how multithreading could help something like games. Indeed, most processor-intensive applications intrinsically rely on one set of results before calculating the next set.
So I'm still sticking with my old 32-bit, single core, high clockspeed processors. Until there's software which takes serious advantage of a larger bus and SMP, there's absolutely no reason for me to buy anything else (aside from the biased pricing models as of late). And by "take advantage of," I don't mean "runs without frequent crashes."
https://www.eff.org/https-everywhere
eight is something the desktop market does not need
Just thinking about that give me a sense of dejavu. How many years ago was it that Bill said 640k ought to be enough for anybody?
Same song, different verse, and more likely than not, that phrase will be humorously memorialized in the same manner as Bills offhand remark.
--
Cheers, Gene
Fact is that these types of users aren't really as performance sensitive as you say as witnessed by the fact that many use the mac platform.
Ooh, burrrrrrnnnnn!!!!
n/t
Utter bullshit.
1) The EM64T extensions take exactly zero extra chip real estate on the first compatible Intel CPUs. They implemented it on Northwood (?) with just a microcode flash (the ALUs and many data paths were already 64-bit).
2) The chip real estate difference between K8 and K7 is negligible. The ALUs get widened, the register file is a bit wider, the TLBs are extended. This is nothing. The big chip estate changes were the on-die memory controller and additional execution and FPU cores.
At most you are wasting cache space on larger pointers. That being said, you can run a cache-concious thread in 32-bit mode if it matters to you.
But uh, actually using the extra registers to avoid trampling your cache in loops, totally not useful at all for encryption or media encoding/decoding.
And that pesky wide-open address space in kernel mode makes DMA thunking a thing of the past, and allows for more zero-copy-from-userspace situations, but that's not useful at all either.
Being able to statically map any and every file into memory, why would anyone want to do that?
Statically arranged dynamic library loading? Totally not useful for reducing application startup time.
You just keep your 2GB/2GB memory split. But don't come crying to me because you can't seek effectively through a 2GB+ file.
The only problem with the cores from Intel's perspective is they try to do 4+ cores on a single bus which is utterly retarded (and that's SHARED with I/O... idiocy).
I have 8 core systems from AMD. They scale like nobody's business. I have 12-way SPARCs too but they're only useful for running Oracle expensively.
I don't recommend them for desktop usage unless you have mad money.
(unless you're virtualizing an entire private office network at once, then it makes sense for a terminal server)
Yeah, Intel better ditch that bus design before they go with 8 cores. If they don't you have every right to be mad. AT THEM.
AMD does it right, at least.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Actualy what you described is a very specific instance of dataflow programs, where the flow can best be described by a directed "dataflow" graph. Technicaly macrodataflow since you pass data between processes; true dataflow reduces the granularity all the way down to individual instructions passing each other operands.
The reason "applications naturally parallelize" is because the language is forcing the programer to be explicit about the parallelism, something that doesn't come naturaly to your Freshman CS101 coder. Imperative languages like C, Fortran, Java, etc. that students are taught first are geared towards von Neumann machines and are incredebly hard for the compiler to parallelize.
Interestingly, functional languages like you mentioned (also try 'Id') map quite well to dataflow. This is directly due to their lack of side effects (i.e. manipulating structures in memory, which must be inherently sequential in order for the programer to reason well about program correctness.)
Dataflow had a lot more following in the 80s and early 90s. One problem was actualy an explosion of too much parallelism exposed in the application, more than the functional units could handle. The overflow then had to be shuttled back and forth to memory, making the aps bandwidth limited. Look at the MIT TTDA, Monsoon, *T, TERA, TAM, WaveScalar, and other projects. The ability to put many functional units (cores) and sufficient memory to keep them fed on a single die recently (last 5 years) reduces this limit and may allow the field to have a bit of resurgance.
"You saved 1968." - Ms. Valerie Pringle to the crew of Apollo 8
Clearly, as this is only a partial list of my absolute necessities, we need more than eight cores. That doesn't leave any for looking at pr0n, bittorrent pr0n downloads, Norton internet seurity, itunes, or all the spyware and adware i like to run. I'm holding out for 32 cores.
This is a hacked account, for which the owner can not be held responsible.
And what apps are typical?
Just curious.
(facing a similar-yet-different project soon)
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Strange typo in the parent, "Normal users and many parallel users" should be "Normal users and many power users".
Yea, this guy is in the same class as those at IBM that said the whole world only needed 8 mainframes, or at HP that told steve jobs buddy that the world doesn't need a PC or Lord Kelvin who said going to the moon was impossible. Morons like this are born every second. Also, it is just a good excuse for Intel to get out of performing for the market or thier lack of ability to keep up with AMD. I seems to me that Intel has become or becoming a "yesterday" company. They don't seem to have any new or original ideas. That is why they hired that new waco CEO and changed thier business model. Like Sony they have the name but nothing worth buying. I was an Intel fan, but changed to AMD because they have the power to concieve new ideas fast. Intel's so called new CPU is too late and not enough. It is like they just go far enough to keep peoples interest. So to me, Intel is ran like a Chinese company - Everything is completly FAKE, even the people.
So the question is when... I give it 48 months from today.
BTW, a mix of specialty cores could be better... RNG, RISC, CISC, low power supervisor to control the rest, media processor, physics engine, three or four GPUs...
Help stamp out iliturcy.
It's all pretty irrelevant to Joe Public anyway - there was sufficient power for writing letters and browsing the web a decade ago. More memory and faster disks generally benefit Joe Public more.
Oolite: Elite-like game. For Mac, Linux and Windows
64-bit gaming would be very important. Right now 32-bit games like GTA SA or HL2 have small maps; in SA, for example, you can fly from one edge of the map to the other in a minute.
64-bit gaming (i.e. using 64-bit memory) will open up the possibilities of a truly big worlds; imagine solar systems with different planets to land on, with planets having cities and each city being like San Andreas in detail.
Procedural game development will also become reality with 64-bit memory systems: each game object would not need be the same as the next one; it can be different, developed individually through procedural techniques.
You really need many gigabytes of memory to achieve the above; 32-bit memory suddently is not enough.
What I would really like to see is an easy method of running multiple terminals off of a home desktop machine... With the new virtualization technology built into modern processors, this shouldn't be a very difficult technical achievement. Vista will presumably allow much better graphics processor multitasking, and they already have terminal server technology. So why not load up a machine with 8 cores and let us run multiple terminals off of it?
What about the data center and server market ? There has been quite a bit of discussion recently about virtualization technologies. Does anyone know how well VMWare or Xen will map onto a multi core system ? If a data center can run n virtual machines on a single core system, will they be able to run n*8 virtual machines on an 8 core system ?
The ability to pack more into less rack space would probably be a major selling point for data centers.
"640 k ought to be enough for anyone" --Bill Gates, 1981
We don't 'need' 8 cores. We don't need champagne, strippers, caffine, monster trucks or paracetamol either. Life is just better with them. Give us the 8 cores and quit whining.
But the server market would love it. Jack up the RAM and a server can not handle more requests at a time with the same space. Anything non-disk intensive will benefit from 8-cores * 2 processors = 16-way.
And on to 8 cores on the desktop- There is all this talk about not needing the power, but the power is the first step to making the computers better. Think about something as simple as spell check. There once was a time when a Spell check took a minute or so of it scanning the document and hashing at databases. Naturally, you had to manually invoke this, as it pretty much froze up your computer for a while. Now today- it has the power. It just runs the spell check in the background. In theory, you're not supposed to notice (though you can see the speed problems when you type quickly).
So why the spell check example? More power means less waiting. Why should it wait for me to click to open the program? It should have it open for me! Why should I tell it to load a Web page- As I approach the link, it should assume I might do that and get me my Web page [look at FireFox's pre-fetching]. When I click Start|Programs|Adobe and there is Photoshop and Illustrator, take that 1 second between choosing Adobe and before I choose the program and get both ready to go. Render my graphic in 20 of the most common ways so I don't have to wait for it to render. Load the next song for me in the background. Keep a database of my music and figure out what I'm going to do next.
This may all sound crazy, but put some thought into how much time you spend waiting on things to happen- common tasks that if a computer monitored the way you use your computer, would be able to do the right thing most of the time- either for you or have it ready for you in the background in case you do click the option it has learnt that you will have. We have memory, we have disk space, we have processing power- The slowest part is the end user- so lets reduce the wait time and use that power for good.
-M
when you see the word 'Linux', drink!
64-bit is about *virtual* memory *addressing* (not "memory", and not "virtual memory", but "virtual memory addressing"), and it is extremely easy to use tens of gigabytes today of virtual memory addresses. Consider a video editing program that maps a 25GB video file (e.g. for a blueray disk) into memory. None of it is loaded into memory, but every byte on disk has an address in virtual memory, so you're already needing 35 bits (8 * 4GB), or 36 bits (16 * 2GB), and that's just for one piece of data for one program. Since computers are addicted to powers-of-two, the natural extension is 64 bits.
Peace,
Cameron.
No one will ever need more than 64kb of RAM either... or something like that, I don't remember the quote exactly. But the point is still there, don't fight progress. Maybe we don't need 8 cores now, but we don't have 8 cores now any way. If four cores is coming in the next 3 years, and six cores in the 3 years after that, eight cores won't be here until 2015. By then, we might be able to use them. After all, a true multitasking computer is never a bad thing - even a dual core computer is limited to running two processes concurrently. (one for each core - all other forms of multitasking is software/hardware-simulated) Yea, technically, that is multitasking, but it's not the kind of multitasking that most power users do. Who here honestly doesn't try to run at least a half dozen of applications that would benefit from true concurrency to all of them? I know I do. (ie, AIM, P2P, MediaPlayer, FTP Server, Internet Explorer, etc, etc etc.) Alex~
'Only Six computers will ever be sold in the commercial market' Howard Aiken (The designer of the first IBM computer)
... or more than 640K of memory.
GDHardware also has an interview with Intel - this is one that goes into more detail about their new Core 2 Duo CPUs.
your coruscating prescience and pedantry has me seeing images... want a wizard star?
$5 for 2, or $6 for a dozen
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
But selling product is all about perception, not reality.
The perception of the majority is determined by advertising + some intuitive belief. Its credible and maybe intuitive that 8 cores must be 8x faster than one core. The fact that its actually wrong is known by anyone who has studied Computer Science, but that relatively small minority promoting the facts is not enough to disrupt the mighty advertising machine.
I agree with the potential for the server market, think about the exponential increase in computing power someone like google will achieve. Considering they have PCs numbering in the hundreds of thousands. Thats a massive boost.
As for ease of programing another poster mentioned. I think viewing a parallel application as data passed/flowing from node to node in a graph is easy to conceptualize, especialy for multimedia or server applications. However most programers are taught C first and then taugh some bastardization that lets them explicitly spawn threads in the same memory space, with things like semaphores, etc. for safety and synchonization. It is extremely difficult to rationalize about correctness when programing that way since you have to either conservatively synch every step (not verry parallel) or convince yourself the app is safe under every possible read/write ordering of ALL the threads. They need to be taught languages that are safe from the get-go.
"You saved 1968." - Ms. Valerie Pringle to the crew of Apollo 8