AMD Quad Cores, Oh My 423
Lullabye_Muse writes "From engadget we learn that AMD has plans for putting 4 cores on one die by the time Apple has fully gone to Intel processors. Full story here. They say they could eventually have up to 32 cores with scalable technology, but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?"
Do we really need the extra cores? (Score:5, Funny)
Re:Do we really need the extra cores? (Score:5, Funny)
Re:Do we really need the extra cores? (Score:5, Insightful)
Re:Do we really need the extra cores? (Score:2)
Re:Do we really need the extra cores? (Score:5, Funny)
Re:Do we really need the extra cores? (Score:3, Informative)
sheesh... even KDE doesn't get anywhere near 640 processes...
Re:Don't count the processes (Score:5, Funny)
My guess is that most current spywear is not multithreaded due to universiality and size contraints, but as you state, we can soon look forward to better quality, bug free, multithreaded spyware soon.
Perhaps Microsoft should hire some of these guys. Anyone who can write code that allows hundreds of instances of a program run without swamping the processor is a better programmer than the current crop that is designing Office, for example.
Re:Don't count the processes (Score:5, Insightful)
Second, most spyware is well written. Badly written spyware is ineffective -- by screwing up your system, it calls attention to itself, and encourages you to run a scan. Spyware and adware wouldn't have spread so thoroughly if it were all written by hacks.
Re:Don't count the processes (Score:3, Interesting)
Tell that to the folk whose machines have been made completely unstable by filthware.
The type of programers you can get to write code that is utterly unwanted and corrupt tend to apply the same work ethic towards their employers. Getting a good progr
Re:Do we really need the extra cores? (Score:5, Funny)
Re:Do we really need the extra cores? (Score:2, Troll)
Bill - we know it's really you - will you ever learn? Programs used not to need more than 640Kb of ram, either.
Can't really blame the guy for posting under an alias. It's not like he and his company's all that popular around here.
Re:Do we really need the extra cores? (Score:3, Funny)
I'd hate to be him.
Re:The Hypervisor will use 'em, I tell ya! (Score:3, Informative)
Current CPU memory bandwidth is 3-6x orders of magnitude less then current GPU bandwidth. As long as main memory bandwidth stays well behind local onboard memory bandwidth on the videocard you simply cannot keep framerates high enough with FSAA and what have you which require enormous amounts of bandwidth. It doesn't matter how many cores you have if the pipes feeding the CPU data dont get bigger or you get more pipes to feed the core
Hyperthreading (Score:2, Interesting)
Re:Hyperthreading (Score:4, Informative)
Re:Must be a parallel universe you live in (Score:3, Interesting)
I'd even take a multi-core 1GHz chip (with only a passive heatsink on it...) vs a 3.x GHz with
Re:Must be a parallel universe you live in (Score:4, Funny)
Re:Must be a parallel universe you live in (Score:4, Funny)
Re:Hyperthreading (Score:4, Insightful)
On my home XP Pro box, freshly after a reboot, I currently have 15 distinct processes running, with FireFox as the only obviously user-interactive one.
And that on a box with all the useless default XP crap turned off - I frequently see machines at work where, with nothing user-interactive running, the task list doesn't fit on one screen.
The whole red herring about not having enough multithreaded apps yet (BTW, please write "Hyperthreading does not equal multithreading, nor does it equal multicore" a hundred times on the black board, please) has not mattered since the first version of Windows 95. I can find ways to use a few more CPUs, multithreaded apps or not. Just having a second core, so you can keep your "boring" processes like the OS and antivirus separate from your interactive programs, makes a system immensely more responsive.
If you want a single-threaded program to run faster, more cores won't help. If you want your entire system to run faster, throw CPUs at it. However, looking at both Intel and AMD's roadmaps, I'd say the days of a MHz race have (finally!) neared their conclusion. They'll keep pushing their clocks, sure, but major leaps will move increasingly toward number of cores and how those cores interconnect (those two will basically need to alternate: A few doublings of core counts leading to memory bottlenecks, then a new way to keep the cores fed, then a few more doublings, rinse wash repeat).
I wonder, though... Will Microsoft, Apple, or Linux (or some entirely new player) take the first leap to requiring one (or even a few) cores dedicated solely to the OS?
Re:Hyperthreading (Score:2)
Re:Hyperthreading (Score:2)
Easy use threads.
"When will compilers, or are there, compilers written that will automatically take full advantage of multi-core processors?"
That may take a new language or maybe c+++. Multi threading is not all that hard. And yes I have written code that uses threads.
However what most people seem to forget that you will take advantage of a multi core cpu right now. Bring up your task manager and look at how many tasks are running.
Re:Hyperthreading (Score:5, Insightful)
Easy use threads.
Multi-threaded code is very difficult to write correctly and debug. It's hardly 'easy'.
Multi threading is not all that hard. And yes I have written code that uses threads.
When, for a school project? There are very few cases where integrating a multi-threaded handler into a progrom doesn't introduce a formidable degree of complexity. What really needs to take root is a new programming paradigm. One that assumes all procedures, functions and system calls are designated as concurrent from the get-go. People smarter than most of us need to design a language/compiler that doesn't burden the programmer with the responsibility of 'keeping track' of when to use threads and when not to.
Re:Hyperthreading (Score:4, Insightful)
I would not be so categoric. It's a design issue - making a program that was designed from the ground up with single thread of "logic" play nicely with many different threads is stupidly complex and usually winds up being very kludgy - much of the threaded advantage is eaten away by the hacks that are needed to make it work. Design it from scratch to work this way, however, and the multi threading may not be simple, but it is at least "obvious", and that makes for good efficient threaded code. Lot's of tasks can be broken up quite easily and once the designer has understood inter-process communication and its constraints and overhead, the decision to create a new thread for a particular task or keep it in the exisiting one, is often far more straightforward than you make out, and yields good results.
Re:Hyperthreading (Score:4, Insightful)
Once one knows about the issues in multithreaded programming it is actually quite simple. However, as the original poster pointed out, it is also very hard to debug and easy to make mistakes. This is where design comes in. Those mistakes shouldn't be made in the first place. Today, programmers have a nasty tendency to jump into code too quickly and rely on tools to debug and evolve the code into the final product. This approach works surprisingly well for simple programs, but you'll crash and burn if you try to use this approach with a multithreaded application.
For my undergraduate I concentrated on learning to program using threads. I took courses like Distributed Systems, Concurrent Systems, Parallel Computing... I observed first hand many of the problems associated with using threads - and I also learned by making most of the common mistakes. Looking back, I see that I learned a great deal. I see how multithreaded applications will play a bigger and bigger part of programming in the future. I also see how all those programming habits picked up in previous years will have to be thrown out and how proper software engineering practices must be adopted...
William
Re:Hyperthreading (Score:3, Informative)
Given the multi-core trend at hand, it could really be useful to continue.
And if not OpenMP, then what? A high-level threading language or language extension is going to be necessary, and OpenMP
1) makes a good case for being the best solution to date [openmp.org], and
2) is open.
Re:Hyperthreading (Score:2)
Writing decent multithreaded programs is as much a discipline as writing decent object-oriented code (although the two go together well). Basically you break a program into a set of independently-operating 'threads'. Thread safety becomes a concern -- if multiple threads access the same global variable you need a way to loc
How about multiple OS's under XEN? (Score:2)
It might be nice if these could use separate CPUs, since I never know when one of them might be busy (say, getting slashdotted).
Short Answer (Score:2, Redundant)
Re:Short Answer (Score:2)
Another yes (Score:2)
I just helping create multiple threads that say 'yes'.
Do we need the extra cores? (Score:5, Funny)
I guess Intel is DOOMED (Score:2, Funny)
more cores, more heat (Score:5, Funny)
At least it will open up innovative new designs like built in coffee pot as well as new uses for old technology, like making pizza pops in your old cd burner.
Re:more cores, more heat (Score:4, Interesting)
Re:more cores, more heat (Score:5, Informative)
Re:more cores, more heat (Score:2)
Re:more cores, more heat (Score:4, Informative)
Re:more cores, more heat (Score:2)
Re:more cores, more heat (Score:3, Informative)
Hyperthread? (Score:2, Informative)
Re:Hyperthread? (Score:3, Informative)
Let's not let Intel get the next 'Kleenex'ing of the English language, shall we?
Quad cores == quad compile speed (Score:5, Funny)
Ah... history fails to be remembered again... (Score:5, Insightful)
Once upon a time, most programs didn't have the ability to do IEEE754 floating point either so did we really need the FPUs?
Once upon a time, most programs didn't have the ability to do 3D graphics at 30fps. Do we really need dedicated high performance graphics cards?
The list goes on... but no one learns...
Re:Ah... history fails to be remembered again... (Score:2)
Me, my laptop has 1.25GB, my desktop has 1GB, my backup PC has 512MB and anything below 512MB is marginally usable as far as I am concerned.
Re:Ah... history fails to be remembered again... (Score:5, Insightful)
My current graphics card has 256MB of RAM.
Even if none of my apps can take advantage of 4 cores, my PC can - I could be running a lengthy compile and transcoding some video while playing a game and still be contributing to SETI@home or something.
More to the point, you could have a long-running process (like video transcoding/encoding) running on one or two cores, with the remaining core(s) doing something else for you while you wait.
Re:Ah... history fails to be remembered again... (Score:4, Insightful)
You don't want that 32-way CPU? Well, give it to me and I'll let you have this old Pentium.
Uh, you do know what scheduling is, right? (Score:3, Insightful)
If I turn around and run top, I see that, indeed, the main program running is top. All the rest are usually sleeping on some event. Unless that event occurs, they won't be woken up. The speed with which Linux can react to my keypresses, read the key presses, send those keypresses into a user-land safe buffer, wake up the userland program waiting on it (in this case, Mozilla), and then schedule
Yes, we need quad cores (Score:2, Informative)
Re:Yes, we need quad cores (Score:3, Funny)
Re:Yes, we need quad cores (Score:3, Insightful)
There could be no better incentive for software writers to support multicore than to start actually producing them for the masses! It should be normally like this, that someone comes up with hardware and people write software for it, not the other way around.
Re:Yes, we need quad cores (Score:2)
No more Mhz! (Score:2)
Re:No more Mhz! (Score:2)
Re:No more Mhz! (Score:2, Insightful)
Intel working on silicon laser to link cores (Score:5, Interesting)
Re:Intel working on silicon laser to link cores (Score:5, Insightful)
No, because AMD and Intel crosslicense their patents. Under the same agreement Intel gets to use AMD's AMD64 instruction set and call it EM64T.
Re:Intel working on silicon laser to link cores (Score:4, Insightful)
What? Not all of them silly. Improvements in chip making process and related technology are the heart and core of how these companies compete. Negitiating a truce on the instruction set architecture with another company, partly to avoid antitrust concerns and partly to just keep it a larger market, is a completely different matter than giving away your entire market advantage from sucessful r&d.
Re:Intel working on silicon laser to link cores (Score:3, Informative)
We need more power! (Score:5, Funny)
Hyperthreading is not easier than multicore. (Score:2)
Writing code for hyperthreading is not easier than writing code for multi-code/SMP. Both are just writing code targetted for SMP. NUMA-like concerns, for systems with multiple chips make more of a difference. If anything, hyperthreading is harder to optimize for, since you have to figure out when to issue PAUSE instructions.
Doesn't have to be threads (Score:5, Insightful)
Re:Doesn't have to be threads (Score:4, Insightful)
Even gamers now do stuff like run skype side-by-side with their resource-hogging game.
Yes, you need multi-core, multi-processor, whatever.
Re:Doesn't have to be threads (Score:3, Interesting)
Even if the CPU usage is at 100%, benchmarks have shown that
Re:Doesn't have to be threads (Score:5, Informative)
HYPERTHREADING =! MULTICORE.
These are 2 complete cpus+a crossbar switch on one die. No shareing of execution units/registers,no sharing of anything but the ram bandwith.
Amd dual core cpus are FASTER than 2 single core cpus in dual socket boards (with the exception of extremely bandwith demanding streaming applications) simply because of much faster on-die cache coherence communication.
A quad core cpu will most likely see more bandwith problems, but could (with ddr-2, ect) still be very well in the same class as a 4 single-core machine.
wicked (Score:2)
Re:wicked (Score:3, Interesting)
Then you'll want to look into YAWS [hyber.org].
Basically, a web server written in Erlang, which supports lightweight processes and high concurrency. In other words, each connection is a completely separate process and shares no information with other processes except by message passing.
Also, a recent paper [www.guug.de] from the primary designer of Erlang, Joe Armstrong.
The key points are that Erlang process creation and message passing ar
Language Barrier (Score:5, Funny)
What we have here is a failure to communicate.
Failure to communicate? (Score:4, Insightful)
Too Many Cores = Unbalanced Design (Score:2, Insightful)
The largest chip packages currently available have fewer than 2000 pins (and I don't expect that to scale as quickly as the number of cores grow) and you can only cram so many DDR/Rambus channels before you run out of I/Os. P
To take advantage of this in the PC: (Score:2, Insightful)
More Cores == SW vs Hardware accounting war (Score:2)
Multiple cores on a single chip is extremely important if you buy such sillily licensed software.
What's on your CPUs? (Score:5, Funny)
Re:What's on your CPUs? (Score:2)
Must all write-ups include a BS controversy? (Score:2)
Now.
Wonderful! (Score:2)
(/sarcasm)
Actually, if I can ask a serious question, does multi-core work the same way as multi-processor? (ie. Two procs isn't twice is fast, but closer to 1.5x...) And if it is essentially the same, will this not inevitably lead to far denser blade servers? (Ie. Two 8-core chips on blade as opposed to two one
In other news (Score:2, Funny)
Also, they announced the acquisition of the frigidaire refrigeration company for an undisclosed amount, saying that "our product lines have a mutual synergy".
a subtle yet fundamental change (Score:2)
Clock speeds have, for the foreseeable future, hit the wall but transistor counts are still going up.
Clock speeds have been the way forward to date because they require no change in the way programs are written, yet provide performance improvements.
Now that the only way to improve performance is to harness increased transistor counts, multi-cores are in, but this means a programming paradgym shift is needed, because current programming languages are insuffici
Yeah?!? Yeah?!? Well.... (Score:2)
[/absurdity]
Let the macho dick-waving contests begin.
Re:Yeah?!? Yeah?!? Well.... (Score:2)
hehehe
Ok, fanboy I may be but at least AMD is taking actual strides in MEANINGFUL improvements [e.g. low-power equal-performance AMD64 venice core] whereas Intel [outside of the PentiumM] is relying solely on a massively high clock rate [with an massively inefficient ALU] to get attention.
I mean why is it at something like bignum math or compiling a half clockrate AMD or PentiumM can get equal or better wall-time
MULTIthreading != Hyperthreading (Score:4, Informative)
Re:MULTIthreading != Hyperthreading (Score:4, Interesting)
It isn't Intel's technology either, Intergraph invented it, although Hyperthreading (TM) is Intel's branding of the idea. Alphas were supposed to get it, maybe EV7 has it, I'm not sure, it might have been something suposed to go into EV8.
To see where AMD is going... (Score:2, Informative)
...have a look at these slides of a technology presentation given last friday http://epscontest.com/presentations/05q2_analyst-d ay.htm?slide=1&a [epscontest.com]
Impressive. If they execute on all that, Intel will have to keep on playing catch up for the forseeable future.
A new demand for skilled developers (Score:2)
This is pushing software developers to make their applications multi-threaded in order to exploit the performance gains of parallel processors.
The interesting thing about this is that writing concurrent multi-threaded applications is extremely diffucult. I expect there to be an increase in demand on skilled programmers in the near future to overcome this diffuculty.
Look at it this way: the increase in C
Multicore is great, but not for the obvious reason (Score:5, Informative)
Yes, Virginia, we can use mutli-core. I mean, we're all into SMP heavily in the non-desktop role (does anyone actually make a "server" that doesn't have SMP?)
There are two big things I love about the multi-core Opterons: They draw less power than equivalent SMP machines (acutally, quite a bit less), and they allow multiple "CPUs" to use the same memory controller. Nominally, the second isn't a big win, but it can be for practical purposes.
Opterons have dedicated memory channels on them, so a current dual-socket Opteron has two DISTINCT DIMM banks - that is, on a motherboard with 8 DIMM sockets, 4 are allocated to each CPU socket. So if you have only one CPU, you can only use 4 DIMM sockets. Since those 4 sockets are often configured as a single bank (i.e. they all have to be filled to work), you can't add another CPU to the system without buying more RAM. This is wasteful. But with a multi-core opteron, all on-chip cores share the same memory bank.
The jist of this is that it'll be easier to have High-Compute, lower RAM configurations than it currently is reasonable to do. There are a lot of tasks out there which it is really nice to have a modest amount of RAM (say 4GB), but with huge crunch. Currently, it's hard to buy a config to do that, since you generally either end up way over-paying for CPUs, a huge number of tiny DIMM chips (which sucks for future expansion), or a larger number of motherboards, which draws more power.
And, hey, they're not tooo bad in price. Sun's dual-core v40z is less than twice as expensive as their single-core v40z, and you save lots on power/cooling/space.
Overall, a nice win.
-Erik
"DO WE?".. Fuck yeah we do. (Score:2)
You bet your ass we need it.
BEOS!!! (Score:3, Interesting)
Intel 2005 Keynote: x10-x100 cores by 2015 (Score:5, Informative)
He shows demos and explains several driving forces:
An example of video analysis [taoriver.net] is demonstrated. You can get a stable image out of a cell phone, and get a much higher resolution to boot, simply by analyzing lots of images in sequence. Right now, it takes a lot of time to crank out the analysis. But the problem is parallelizable, and Intel thinks we'll have this sort of things in cell phones by 2015.
This is also the technology behind automatic construction of 3D from images. [taoriver.net] This is where you pull your cell phone out, walk around, waving it around the room, and get back a 3D model of the room.
People ask: "Do we really need all this computing power?" Yes, yes we do. There's plenty of stuff to do with it.
Scott talks about sitting in front of the computer, and not needing to log in, because the computer knows who you are by your face.
There's all kinds of stuff to do with it.
What we need (Score:3, Insightful)
That said, most users run word processors, web browers, and other simple productivity software that doesn't even fully exploit the old P2s we were running a few years ago. But if you want to run the latest graphic-intensive games, you better have the lastest hardware.
What does hyperthreading have to do with it? (Score:5, Insightful)
This statement makes no sense. And, besides:
zcat foo.gz | bzip2 -c > foo.bz2
Look, ma! Code that will run twice as fast on a multiprocessor system!
Think Fast (Score:3, Funny)
Re:Socket 6000, anyone? (Score:2)
Re:Hyperthreading (Score:2)
Several years ago, this would not have been the case. Many languages did not have multi-threading implementations that were intuitive. Now the story is a bit different. C and C++ have the POSIX threads library. Java is built to be mutli-threaded, as are many of the newer languages.
I see little difficulty in most systems making use of m
Re:Evolution (Score:3, Informative)
What are you talking about? Waste of time?
Multiple CPU x86 boxes have been available for a long time -- I recall seeing Sequent boxes with lots of 386 cpus, for example. I'm typing this on a dual p3 700 right now ...
The vast majority of server applications will benefit from multiple cpus right now, as long as the box isn't already disk bound.
Re:Evolution (Score:2)
Making CPUs that run at a higher clock is proving to be prohibitive, so other means must be used to take advantage of extra transistors. I personally would prefer a slightly wider issue single CPU core, but the benefits go down, adds a lot of complexity, and that doesn't use many more transistors.
Re:Evolution (Score:2)
The calculation engine in Excel 2000/XP/2003 runs in a separate thread. I think the spell checker in Word 2000+ might even run in a separate thread.
Various subsystems of Windows are indeed multithreaded. Some OLE-DB drivers are multi-threaded (yay, because ODBC isn't).
Even if user apps are not multithreaded, most of the OSs that users use will benefit from multiple co
Re:Good... (Score:2, Informative)
http://www.alienware.com/product_detail_pages/Area -51m_7700/area-51m_7700_features_tec.aspx?SysCode= PC-LT-AREA51-M-7700&SubCode=SKU-DEFAULT#sub [alienware.com]
Re:Cores (Score:2)
Re:Do we really need the extra cores? (Score:2)
Re:Are more cores like hyperthreading? (Score:5, Informative)
SMP or multiple cores is (obviously) more than one real processor and one will see huge benefits with any application that is multithreaded as well as when running multiple processes. Single threaded processes should never have issues running on an SMP system, though there will be a small loss of speed due to the overhead of SMP (Dual 2 Ghz processors will probably run a single threaded process ~1% slower than a single 2 Ghz processor).
Re:Why wait.. its already here? (Score:4, Informative)