Intel's Dual-core strategy, 75% by end 2006 306
DigitumDei writes "Intel is moving ahead rapidly with their dual core chips, anticipating 75% of their chip sales to be dual core chips by the end of 2006. With AMD also starting to push their dual core solutions, how long until applications make full use of this. Some applications already make good use of multiple cpu's and of course multiple applications running at the same time instantly benifit. Yet the most cpu intensive applications for the average home machine, games, still mostly do not take advantage of this. When game manufacturers start to release games designed to take advantage of this, are we going to see a huge increase in game complexity/detail or is this benifit going to be less than Intel and AMD would have you believe?"
Solitaire??? (Score:5, Funny)
Me too (Score:5, Funny)
Re:Solitaire??? (Score:2)
Re:Solitaire??? (Score:2)
FWIW I wrote a version of Tetris that was multi-threaded, but it was in Occam which makes that sort of thing trivial. (Of course, the fact that Occam doesn't have any data structures other than the array makes it a PITA to do anything more complex
Dual Core Gaming (Score:2, Interesting)
Re:Dual Core Gaming (Score:2)
All the consoles will use IBM (Score:2, Insightful)
Re:All the consoles will use IBM (Score:3, Insightful)
I can see that Intel and AMD might want to break into that market, but they would have to create a custom chip (as a general purposed will either use too m
Re:Dual Core Gaming (Score:4, Informative)
dual cores (Score:3, Insightful)
Re:dual cores (Score:3, Informative)
all else equal.. two cores, two times the power, two times the heat..
Re:dual cores (Score:5, Informative)
all else equal.. two cores, two times the power, two times the heat..
You haven't been paying attention! Go back and read this article [informationweek.com] again (about AMD's demo of their dual core processor). While you're at it, read the related /. article [slashdot.org].
The dual core processors use nowhere near double the power and produce nowhere near double the heat.
-- Steve
Re:dual cores (Score:3, Insightful)
Games do take advantage of having a second cpu (Score:5, Funny)
It would be interesting if games were rewritten to run with the game logic on one core, the graphics on another core and the networking code on a third core of a multicore chip...
Hey. You could even have a mega-multicore chip and do first person shooters with realtime raytracing... each core is responsible for raytracing a small area of the screen. I'm sure that there's a company working on this. I saw a demo video in a computer graphics lecture. I'll have to check my notes.
Re:Games do take advantage of having a second cpu (Score:2)
Re:Games do take advantage of having a second cpu (Score:3, Funny)
At present, the SWORD robot is operated with a thirty-pound control unit with two joysticks, buttons and a video screen. I wonder how much the current control module looks like a playstation portable?
Re:Games do take advantage of having a second cpu (Score:2)
You will see this when the processing power of a current A64 or P4 goes for around $2! There is a reason that current GPUs look the way that they do -- it is a LOT more efficient than ray-tracing.
What you spe
Re:Games do take advantage of having a second cpu (Score:3, Interesting)
People are lazy, and when things will work today as it is, most companies will rather focus on releasing the game asap than spending alot of time recoding what they've already got...
It comes down to how much money they can make in as little time as possible.
But, of course, once a company starts pushi
Re:Games do take advantage of having a second cpu (Score:2, Interesting)
If that was significant.. (Score:2)
Kjella
Re:Games do take advantage of having a second cpu (Score:4, Interesting)
I have no idea where you got that from. x86 is a relatively fast architecture when it comes to context switches. SPARC has the huge register file to save and reload.
I can't find recent results though. If anyone has recent comparative lmbench numbers I'd like to see them.
Re:Games do take advantage of having a second cpu (Score:2)
Re:Games do take advantage of having a second cpu (Score:5, Funny)
Probably from a recent Mac users meeting! I've gone to those things, and you see these people who do nothing but run Photoshop all day long skip around and say "Intel is bad because its thegmented!" and other nonsense.
Re:Games do take advantage of having a second cpu (Score:2)
Carmack will do it, if a directX game doesn't hit first MS might be in trouble.
Here's hoping.
Re:Games do take advantage of having a second cpu (Score:3, Interesting)
In principle this should have detrimental effects on single processor machines but my relatively meager 1.3 ghz powerbook plays beautifully at 30 fps and 60 physics frames per se
Re:Games do take advantage of having a second cpu (Score:2, Insightful)
One possible multi-threaded benefit (Score:5, Interesting)
One thing that has bugged me a long time about a lot of games (this has particular relevence to multi-player games, but also single player games to some extent) is the 'game loading' screen. Or rather, the fact that during the 'loading' screen I lose all control of, and ability to interact, with the program.
It has always seemed to me, that it should be possible, with a sufficiently clever multi-threaded approach, to create a game engine where I could, for example, keep chatting with other players while the level/zone/map that I'm transitioning to is being loaded.
Or maybe I really want to just abort the level load and quit the game, because something important in Real Life has just started occuring and I want to just kill the game and move on. With most games, you have to wait until it is done loading before you can then quit out of the game.
In other words, even ignoring performance benefits for a moment, if a game engine is correctly multi-threaded, I could continue to have 'command and control', and chat, functionality while the game engine, in another thread, is loading models and textures.
Re:One possible multi-threaded benefit (Score:4, Interesting)
That would put the pressure back where it should be - on the level designers - to make sure that each segment was challenging enough so that a player couldn't pass through two loadzones simply by running so fast that the first zone hasn't fully loaded yet and wind up in a scary blank world full of placeholder objects.
Re:One possible multi-threaded benefit (Score:2)
Re:One possible multi-threaded benefit (Score:3, Insightful)
Re:Games do take advantage of having a second cpu (Score:2)
(I don't know if it's exactly like that, it's one of the reasons why SMP is bad if you want to route traffic, unless you"attach" the IRQ the network card is using to a single CPU)
Re:Games do take advantage of having a second cpu (Score:4, Interesting)
Our local (to UIUC) parallel software master, working on the turing xserve cluster is pulling about 95% (I think, don't quote me) of theoretical peak performance in linpack running on 1 cpu on 1 xserve. Bring that up to both cpus in one and he said it dropped to around 50%.
Why? The OS has to run somewhere. When it's running, that processor is stuck with it. The other processor is stuck waiting for the OS, and then things can pick up again.
Now, we haven't yet finished tuning the systems to make the OS do as little as possible. (they're still running GUIs, so we can remote desktop into them amoung other things.) But still that's quite a performance hit!
He said two machines running 1 CPU each over myrinet were still in the 90%ish of theoretical peak.
So can we quite rehashing this stupid topic every time dual core CPUs comes up? Yes it'll help. No it won't double your game performance (unless it's written for a dual-core cpu), and probably it won't even double it then, because there's still teamspeak/windows/aim/virus scan/etc running that need cpu time.
Re:Games do take advantage of having a second cpu (Score:2)
Isn't that what IBM/Sony are propsing with the Cell architecture? Lots of seperate cores running dedicated chunks of code?
Re:Games do take advantage of having a second cpu (Score:5, Insightful)
The CPU waiting on networking, even 1Gbits/sec, is like waiting for a raise without asking. It's so little overhead to a modern CPU that using an entire core to do it is an exercise is silliness. If you are worried about any overhead associated with network encryption, etc, you can just spend $45 on an upgraded NIC with that capability built in to its own logic. The CPU never need be bothered.
cue the spell-checker jokes (Score:3, Funny)
or is this benifit going to be less
how long will it be before dual core CPUs boost slashdot editor's ability to spell-check?
Quake 3? (Score:2)
Re:Quake 3? (Score:2, Informative)
It did. It was dropped in Doom 3, as it really wasn't that much of a win for the effort.
Modern games are really limited by bandwidth or by GPU power. CPU power is only really used for game logic, which isn't terribly complex compared to the other parts of a game.
Re:Quake 3? (Score:2)
It makes sence to me.
If they can't release a GPU that's fast enough, use more GPUs.
Re:Quake 3? (Score:2)
Re:Quake 3? (Score:2)
Game logic (I'm talking about actual KI and physics and economical systems and RPG-Code, not "aim -> shoot") is complex, compared to all graphics operations. It's just that high end graphics needs so much more brute force to get through all this data. The hard part is getting the most out of your hardware. The actual complexity is laughable in most cases.
Well... (Score:3, Insightful)
Re:Well... (Score:2)
Re:Well... (Score:3, Informative)
I think the initial pricing for a dual core 2.8 GHz chip is about $250. 3.0 & 3.2GHz will be available at higher prices, I think an extra $100 per step.
Memory latency is the limiting factor (Score:3, Informative)
Re:Memory latency is the limiting factor (Score:4, Interesting)
Re:Memory latency is the limiting factor (Score:2)
Re:Memory latency is the limiting factor (Score:3, Informative)
A more useful practice is the use of speculative prefetching on SMT (i.e. Hyper-Threading) cpus, where one thread runs the code, and the other thread speculates ahead issuing prefetch instructions. Of course to really support this well you need to have a compiler optimized for generating a speculative thread to run ahead of the primary thread.
All this makes programming
Re:Memory latency is the limiting factor (Score:3, Insightful)
Come on in the HyperTransport is fine. Care for a pinya-Onchipmemorycontroller?
Re:Memory latency is the limiting factor (Score:4, Informative)
Compare an Athlon64/Socket939 to an Athlon64/Socket754 with the same clock speed. The Socket939 version has twice the memory bandwidth, but on average only 10% better performance according to AMD's P-Rating.
Now consider a dual core Athlon64/Socket939 with the same clock speed, where the two cores share the higher memory bandwidth. I would expect this chip to be as fast as two Athlon64/Socket754, or 80% faster than a single core Socket939 model.
Actually, clock speed will be a greater limitation:
AMD has announced that the dual core versions will run at 400-600MHz less to reduce the heat output.
Huge increase in game complexity? In short: No (Score:5, Insightful)
That Is The Change In Software (Score:5, Insightful)
Re:That Is The Change In Software (Score:2)
Re:That Is The Change In Software (Score:2)
On the other hand, why does everyone see an "increase in game complexity/detail" as purely a Graphics issue?
A second CPU could be devoted to handling Physics, or AI as you point out, which could also improve the games complexity and detail. While its ramifications might not be directly visual "eye c
Re:Huge increase in game complexity? In short: No (Score:3, Informative)
This is partly because it's much easier to tune to a GPU budget. On the PC you can recommend different resolutions and/or anti-aliasing modes and instantly have a dramatic impact on fill-rate requi
Re:Huge increase in game complexity? In short: No (Score:3, Interesting)
Funny that you call that a "basic task."
Game AI can easily use all the computing power you can throw at it. Look at how much CPU it takes to beat the best players at chess... And that has signifigantly less potential computational strategy involved than, say, a realistic tactical war sim...
The problem is that most current games these days are tests of reflexes and memory. Few games employ adaptive strategy. Of the games that do, I can't think of any that us
Re:Huge increase in game complexity? Maybe. (Score:3, Interesting)
Honestly, working on a dual-core CPU, you could create 2 threads-- 1 that just does character animation and silhouet
relevant article (Score:5, Informative)
Re:relevant article (Score:3, Informative)
I don't think the parent did enough to sell this article to the masses reading through, although it is an excellent reference.
The article linked to by the parent ("The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software") should be read, and is of particular interest to developers.
The article draws a very good picture of how the trend towards mutli-core systems will require developers to rethink the way they design their applications if they want to continue taking advantage of future
So Intel's going to be a year late ?. (Score:4, Interesting)
All in all I see that Intel is going down unless they do something quick. And remember Competition is good for the Customer.
Re:So Intel's going to be a year late ?. (Score:5, Insightful)
Re:So Intel's going to be a year late ?. (Score:2)
When I was specing out a PC for my mother in law, she pointed at the case and said "I don't think I'll need that part". She wanted just the monitor, keyboard and mouse.
Re:So Intel's going to be a year late ?. (Score:2)
Re:So Intel's going to be a year late ?. (Score:3, Interesting)
http://arstechnica.com/news.ars/post/20040813-4
Re:So Intel's going to be a year late ?. (Score:2)
Re:So Intel's going to be a year late ?. (Score:3, Interesting)
I had a vendor's SE tell me that AMD's dual core chips are "practically sitting in boxes at a warehouse" so that the day Intel starts shipping developer samples they can start shipping actual products to end users immediately, giving them a huge head start in terms of marketing and, if you believe they've already been manufacturing them, the ability to discount them faster than Intel can.
I think that's a strange strategy, but I was also
Pretty soon (Score:2, Insightful)
So I guess the answer to the question is, "pretty soon."
Meanwhile back in PPC land (Score:5, Interesting)
Re:Meanwhile back in PPC land (Score:2)
Re:Meanwhile back in PPC land (Score:2, Insightful)
Re:Meanwhile back in PPC land (Score:2)
However you are right , OS X really does love Multiple CPUs
plus IIRC IBM is working on a duel core Power/pc chip right now , which i expect Apple will be more than happy to take advantage
It'll be less than you think in gamin... (Score:2, Insightful)
What I hope to see, but don't expect, is better prioritization of CPU requests. If you have something high-priority going on, like a full screen video game, recording a movie or ripping a CD, I'd like to see the antivirus and other maintenance tasks handled by the other core, or even put on hold. My person
Hmm? (Score:5, Insightful)
Full use? Probably never. There's always improvements to be made, and multi-threaded programs are a bitch and a half to debug, at least in Linux. Making "full use" of SMP would _generally_ decrease program reliability due to complexity, I would imagine.
But, with an SMP-aware OS (Win2k, WinXP Pro, Linux, etc.), you'll definitely see some multi-tasking benefits immediately. I think the real question is, how will Microsoft adjust their licensing with this new paradigm? Will it be per-core, or per socket/slot?
I'm going to go out on a limb and predict that Longhorn will support 2-way SMP even for the "Home" version.
-Erwos
Re:Hmm? (Score:2)
It's called Multi-threading (Score:2, Interesting)
Often, it's almost trivial to write an app as a multi-threaded app. The only difficult part is when a the problem your application is solving does not lend itself well to paralellization. So sequential problems don't really benefit from it.
However,
It's just _Dual_ (Score:2, Insightful)
Complexity/detail (Score:4, Insightful)
If you consider a factor of about 1.8 (tops) "huge".
Make sure you first don't pay double (Score:5, Interesting)
Oracle and others [com.com] have announced plans to increase their revenue by charging people for multiple cores in their single processor.
Re:Make sure you first don't pay double (Score:2)
Oracle will change in due time... (Score:2, Informative)
OpenGL Performer (Score:2, Interesting)
Applications, even 'games', written using Performer, will immediately benefit from multiple CPUs.
Fairly simple... (Score:4, Insightful)
It's like what Subaru did when they decided to make all their vehicles All Wheel Drive. It was a great technology, but most people at the time just didn't care to pay extra for it. By making it a standard feature, the cost increase is significantly reduced, and provided that the technology is actually something functional, the market should grow to accept it.
Games and multi core (Score:5, Interesting)
To say that most PC games are GPU bound however is a mistake - most games I've come across (and worked on as a games core technology/graphics programmer) are CPU bound - often in the rendering pipeline trying to feed that GPU.
Anyhow games are already becoming dual-core aware. Most if not all multiplayer games make use of threads for there network code - go dual core (or hyperthreading) and you get a performance win. Again most sound systems are multi threaded often with a streaming/decompression thread, again a win on multi core. These days streaming of all manner of data is becoming more important (our game worlds are getting huge) and so again we will be (are) making use of dual core there too.
I personally have spent a fair amount of time performance enhancing our last couple of games (mostly for HT but the same applies to true dual core) to make sure we get the best win we can. For example on dual core machines our games do procedural texture effects on the second core that you just don't get on a single core machine and still get a 20% odd win over single core. I'm sure most software houses take this as seriously as us and do the same. It's very prudent for us to do so - the writings been on the wall about multi processors being the future of top end performance for a while now.
At the end of the day though us games developers have little choice but to embrace multi core architectures and get the best performance we can. We always build software that pushes the hardware to the full extent of it's known limits because that's the nature of the competition.
Just think what the next generation of consoles is going to do for the games programmers general knowledge of concurrent programming techniques. If we're not using all of the cores on our next gen XBox or PS3 then our competition will be and our games will suck in comparison.
Do they share the cache? (Score:3, Interesting)
Re:Do they share the cache? (Score:2)
How are you going to process these function results? Do you think they can all write to the video ram at the same time? And how will you address thread exceptions?
Sure, firing a thousand threads is easy..
handling the thread results and errors, and communication between threads are the hard part.
For instance, launch a thousand threads simultaneously to add a new item to a listbox, and make it prone to errors, for instance by making each thread iterate over all items in the listbox while the oth
Re:Do they share the cache? (Score:2)
Tried to find the Reg link I read a while back, and then found this one: http://news.zdnet.co.uk/hardware/chips/0,39020354
Not convinced (Score:2)
Using dual-core for games for example will certainly allow developers to make some enhancement to their games by parallelising non-dependant parts of their engine e.g. split A.I. and physics up, but at the end of the day once you've broken the game down to these parts you're going to be limited by processor speed again. Things can only be sub-divided into smaller tasks so much, once
Dual core is soooo last-year (Score:2, Insightful)
Boon for Game AI (Score:3, Insightful)
Re:Boon for Game AI (Score:2)
I think that would definitely make a great improvement to most games. One thing that I wonder about, though, is would it be possible (and worthwhile) to have the game (or other application) running on one core whilst the rest of the OS (or environment) is running on the other?
Having a game (or music/media player, or security application, etc) running on a seperate core (if available) sounds like it would bring some sort of improvement. Would it?
Re:Boon for Game AI (Score:3, Interesting)
Any aspect of a game may be programmed to scale with the hardware upon which the game is run (eg. graphics get more detailed, framerates improve, physics is more realistic, AI gets smarter)
However, the problem here is that if these improvements to the game are in any way substantial rather than superficial - if they actually affect the
Already can take advantage it (Score:3, Insightful)
While one might ask whether it makes much useful difference to the 'average' home user, one might ask the same about say 4ghz vs 2ghz - for most Microsoft Word users this makes little difference in any case. However, for most users who really make use of CPU-power in whatever form, the dual-core will indeed make a difference even without multi-threaded applications, and it won't take long for most applications where it matters to become multi-threaded, as its really not that hard to make most cpu-intensive tasks multi-threaded and thus further improve things.
I for one am looking forward to buying my first dual-CPU, dual-core system (i.e. 4x the power) once the chips have arrived and reached reasonable price levels, and I'm sure that power won't be going to waste.
Performance plateau and functional programming (Score:5, Interesting)
The only way CPU manufacturers are going to get more *OPS in the future is with many cores, and that's going to require either slower or the same kind of speeds (GHz-wise) as things are today. To get programs to run faster under these circumstances you need some kind of explicitly parallel programming.
We haven't seen the right level of parallelism yet, IMHO. Unix started out with process-level parallelism, but it looks like thread-level paralellism has beaten it, even though it is much more prone to programmer errors.
On the other end of the scale, EPIC architectures like Itanium haven't been able to outcompete older architectures like x86 because the explicitly parallel can be made implicit with clever run-time analysis of code. Intel (and, of course, AMD) are their own worst enemy on the Itanium front. All the CPU h/w prediction etc. removes the benefit of the clever compiler needed for EPIC.
Maybe some kind of middle ground can be reached between the two. Itanium instructions work in triples, and you can effectively view the instruction set as programming three processors working in parallel but with the same register set. This is close (but not quite the same) to what's going to be required to efficiently program multi-core CPUs, beyond simple SMP-style thread-level parallelism. Maybe we need some kind of language which has its concurrency built in (something sort of akin to Concurrent Pascal, but much more up to date), or has no data to share and can be decomposed and analyzed with complete information via lambda calculus. I'm thinking of the functional languages, like ML (consider F# than MS Research is working on), or Haskell.
With a functional language, different cores can work on different branches of the overall graph, and resolve them independentantly, before they're tied together later on.
It's hard to see the kind of mindset changes required for this kind of thinking in software development happening very quickly, though.
We'll see. Interesting times.
Re:Performance plateau and functional programming (Score:2, Insightful)
Haskell, declarative parallelism (Score:5, Interesting)
This is the same trade-off as manual memory allocation versus garbage collection. Garbage collection is easier and more automatic than manual memory control in C, but if you put enough effort in a C program will be more efficient than a GC-using program.
So the essence of the answer is that declaractive parallelism gives you development speed, but manual parallelism gives you execution speed. You choose what you want.
I have a two CPU machine right now, and I'm very much looking forward to the rumored SMP version of Haskell that uses Software Transactional Memory [microsoft.com]. That's gonna rock!
in other news... (Score:2, Funny)
global warming expected to increase by 75% by the end of 2006
Good Thing For Number Crunching (Score:2, Funny)
As anyone who works with number crunching apps will tell you, having two cores seriously improves your work quality.
Not because number crunchings apps are taking advantage of dual cores.
It's becasue now I can set one core to work on those wicked hard numerical calculations while I kick back and watch movies and play music for a few hours. Bliss!
Nevertheless it would be nice if there was an easier way to make apps use multiple cores. I'd love to be able speed up my crunching by getti
Always some benefit (Score:2)
2Times the Spam, Trojans and Viruses (Score:5, Funny)
I think all that power will used in the same way it always is. Malcontents will write more sophisticated malware. MS will release more shiny glittery gewgaws that do nothing except open up more security holes and antimalware vendors will write more complex and unwieldy antimalware applications. In the meantime all the corporate suits will demand more cumbersome elaborate corporate apps that are specifically written for dual core systems thereby requiring parallel track applications to be maintained while the old machines the suits abandoned still get cycled through the organization for 3 years. And for the first 12-16 months hardware vendors will experience hardware QA and BIOS screw-up hell as they try to appease the 15 year olds in the focus groups who demand 1337 dual core hawtness!!! It will suck and Intel will make make billions.
Re:fp (Score:4, Funny)
Already done, apparently. (Score:3, Informative)
Deep Junior 9 and Deep Shredder 9 [chessbase.com] support multiple processors, and should have no trouble on a multicore system.
Each core doubles