Slashdot Mirror


AMD Quad Cores, Oh My

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?"

80 of 423 comments (clear)

  1. Do we really need the extra cores? by Anonymous Coward · · Score: 5, Funny

    You must be new here.

    1. Re:Do we really need the extra cores? by BlogPope · · Score: 5, Funny

      Yes. One core for my program, 31 for the Spyware/Adware/Open Proxy.

      --
      My other car is a Popemobile
    2. Re:Do we really need the extra cores? by MillionthMonkey · · Score: 4, Insightful

      I once fixed some lady's machine where about 20 spyware processes were running. Now imagine she has 32 cores. I guess 640 spyware processes will be running on that thing by the time she calls anyone to fix it.

    3. Re:Do we really need the extra cores? by BlogPope · · Score: 5, Funny

      640 processes ought to be enough for Anybody!

      --
      My other car is a Popemobile
    4. Re:Do we really need the extra cores? by AndroidCat · · Score: 5, Funny

      I'm sure we need at least 20 cores. Let's see... 9 cores for the mortal men, 7 for the dwarves, 3 for elven lords, and one core to rule them all and in the DRM bind them.

      --
      One line blog. I hear that they're called Twitters now.
    5. Re:Do we really need the extra cores? by MyLongNickName · · Score: 2, Funny

      He must cry himself to sleep every night.... on a pillow stuff with Franklins.

      I'd hate to be him.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    6. Re:Do we really need the extra cores? by advocate_one · · Score: 2, Informative
      top - 07:25:32 up 30 days, 17:19, 1 user, load average: 0.10, 0.08, 0.04
      Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie
      Cpu(s): 7.3% us, 1.7% sy, 0.0% ni, 91.0% id, 0.0% wa, 0.0% hi, 0.0% si

      sheesh... even KDE doesn't get anywhere near 640 processes...

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  2. Hyperthreading by Anonymous Coward · · Score: 2, Interesting

    What does a developer have to do to take advantage of this? When will compilers, or are there, compilers written that will automatically take full advantage of multi-core proccessors?

    1. Re:Hyperthreading by Mad+Merlin · · Score: 3, Informative

      It's more an issue of programs taking advantage of multiple cores or multiple processors than the compiler. Using multiple cores means that a single program must either have multiple concurrent processes or multiple threads, you can't just magically compile that sort of thing in, IPC can be a complex beast. That, or you need to run multiple programs at the same time to take advantage of more than one core at a time.

    2. Re:Hyperthreading by bersl2 · · Score: 2, Informative

      There appears to have been an attempt at adding it (see GOMP), starting about 2 years ago, but it appears dead.

      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, and
      2) is open.

    3. Re:Hyperthreading by grumpygrodyguy · · Score: 5, Insightful

      " What does a developer have to do to take advantage of this?"
      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.

      --
      The government has a defect: it's potentially democratic. Corporations have no defect: they're pure tyrannies. -Chomsky
    4. Re:Hyperthreading by OrangeSpyderMan · · Score: 3, Insightful

      There are very few cases where integrating a multi-threaded handler into a progrom doesn't introduce a formidable degree of complexity.

      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.

      --
      Try NetBSD... safe,straightforward,useful.
    5. Re:Hyperthreading by pla · · Score: 3, Insightful

      That, or you need to run multiple programs at the same time to take advantage of more than one core at a time.

      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?

    6. Re:Hyperthreading by Anonymous Coward · · Score: 2, Insightful

      Check out functional programming. Languages like Haskell and Sisal are eminently suitable for the kind of automatic, pervasive threading you want.

    7. Re:Hyperthreading by willy_me · · Score: 3, Insightful
      I agree 100%... In fact, I would go even further. There are times that multi threaded algorithms greatly simplify their equivalent single threaded algorithms. But in the past, the performance hit of running multiple threads on a single CPU often made it better to use the quicker single threaded algorithm. But with newer hardware, this isn't the case.

      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

  3. Do we need the extra cores? by DarkSkiez · · Score: 5, Funny

    Of cores we do!

  4. I guess Intel is DOOMED by Anonymous Coward · · Score: 2, Funny

    Now that Intel is running with Apple, Intel must be Doomed (tm).

  5. more cores, more heat by howman · · Score: 5, Funny

    4 cores on one chip... I guess they will have to call it the earth simulator as the temprature of the chip will be reaching that of the earths core.
    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.

    --
    flinging poop since 1969
    1. Re:more cores, more heat by rpozz · · Score: 3, Interesting

      There's another 'minor' issue that nobody else has mentioned yet. Regular Windows XP only supports up to 2 processors. This could cause some nasty issues between Microsoft and AMD.

    2. Re:more cores, more heat by Jeff+DeMaagd · · Score: 4, Informative

      Microsoft has said several times that one CPU package == one CPU for the purposes of licencing. They said this for hyperthreading and dual core, both still count as only one CPU. Windows XP will show four CPUs on a dual Xeon system if hyperthreading is on, and it will run.

    3. Re:more cores, more heat by Bill+Wong · · Score: 4, Informative
      I quote,
      Microsoft Windows XP Professional and Microsoft Windows XP Home are not affected by this policy as they are licensed per installation and not per processor. Windows XP Professional can support up to two processors regardless of the number of cores on the processor. Microsoft Windows XP Home supports one processor.
    4. Re:more cores, more heat by styxlord · · Score: 2, Informative

      One of the reasons that everyone is jumping on the multicore bandwagon is actually to lower power consumption. One dual core processor uses substantially less power than two single core processors and should also use less power than a single core processor running at twice the clock speed of the dual core (so same instructions/sec).

  6. Hyperthread? by Anonymous Coward · · Score: 2, Informative

    Hyperthread(ing) is a term for a CPU that has two sets of states but one execution unit.. shouldn't the article use the phrase multithread?

    1. Re:Hyperthread? by Pandaemonium · · Score: 3, Informative

      Yes, the poster should have used 'multithread' instead of the Intel branded and copyrighted term, 'HyperThread' which is in regards to their proprietary virtual processor technology on Pentium 4's and Xeons.

      Let's not let Intel get the next 'Kleenex'ing of the English language, shall we?

  7. Quad cores == quad compile speed by strredwolf · · Score: 5, Funny

    Anything to go faster for Gentoo's sake, the better! Anything to make compiles go fast!

    --

    --
    # Canmephians for a better Linux Kernel
    $Stalag99{"URL"}="http://stalag99.net";
  8. Ah... history fails to be remembered again... by fitten · · Score: 5, Insightful

    but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?

    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...

    1. Re:Ah... history fails to be remembered again... by Tim+C · · Score: 4, Insightful

      My first computer (a Sinclair ZX Spectrum) had 8KB of RAM. My first PC had 32MB.

      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.

    2. Re:Ah... history fails to be remembered again... by Angst+Badger · · Score: 3, Insightful

      It's worse than that. Run ps under Linux or the task manager under Windows, and tell me how many processes you see running. Sure, most of them are single-threaded applications, but they're all competing for the same CPU (or two). A 32-way chip would make things much speedier even if there were no multithreaded applications running. (And yes, I'm aware that other issues, like memory contention, come into play.)

      You don't want that 32-way CPU? Well, give it to me and I'll let you have this old Pentium.

      --
      Proud member of the Weirdo-American community.
    3. Re:Ah... history fails to be remembered again... by GlowStars · · Score: 2, Insightful
      My first computer (a Sinclair ZX Spectrum) had 8KB of RAM. My first PC had 32MB.

      Spectrums came in 16KB and 48KB variants only.
  9. Yes, we need quad cores by Anonymous Coward · · Score: 2, Informative

    Only a few programs can use multiple processors/cores (CAD, Animation, Scientific). But just unloading some of the OS processes onto other cores leaves more power for each standard programs. (Limewire + Firefox + Xvid compression)

    1. Re:Yes, we need quad cores by BlogPope · · Score: 3, Funny

      Don't forget Gator, HotBar, and iFrame!

      --
      My other car is a Popemobile
    2. Re:Yes, we need quad cores by A+beautiful+mind · · Score: 2, Insightful

      It's a bit like the chicken-egg problem.

      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.

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
  10. Intel working on silicon laser to link cores by tbuckner · · Score: 5, Interesting

    See MIT Technology review article: http://www.technologyreview.com/articles/05/07/iss ue/feature_intel.asp The silicon laser, being made from the same material as the rest of the chip, would replace the copper wires that need to connect cores, thus letting Intel 'keep Moore's Law alive for decades', the article says. It would do this by permitting many, many cores in fast communication with less heat and less energy required than current copper-wired chips. Question: will Intel's possession of si-lasers shut AMD out?

    1. Re:Intel working on silicon laser to link cores by wfberg · · Score: 4, Insightful
      Question: will Intel's possession of si-lasers shut AMD out?


      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.

      --
      SCO employee? Check out the bounty
    2. Re:Intel working on silicon laser to link cores by fdicostanzo · · Score: 3, Informative

      I thought SOI was IBM's patent which it shared with AMD-- if so, its not AMD's to license.

      --
      Synergies are basically awesome, and they're even better when you leverage them. -PA
    3. Re:Intel working on silicon laser to link cores by buddha42 · · Score: 3, Insightful
      No, because AMD and Intel crosslicense their patents.

      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.

  11. We need more power! by Lokni · · Score: 4, Funny

    1.21 Jigawatts!

  12. Doesn't have to be threads by m50d · · Score: 4, Insightful

    Who still uses one application at a time, really? I know there's less benefit when it's different applications because of register sharing, but if it's cheaper to get 4 cores than 2 cpus it's probably worth it.

    --
    I am trolling
    1. Re:Doesn't have to be threads by wfberg · · Score: 3, Insightful
      I recently ditched a dual pentium-II for a AMD64 3000+.. and I miss the SMP machine. Why? Because if some stupid app was taking 100% CPU power, on the old machine that meant it was using 50% of my CPUs, and I had a whole nother CPU available for killing errant apps with.


      Even gamers now do stuff like run skype side-by-side with their resource-hogging game.


      Yes, you need multi-core, multi-processor, whatever.

      --
      SCO employee? Check out the bounty
    2. Re:Doesn't have to be threads by imsabbel · · Score: 5, Informative

      You dont understand:
      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.

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    3. Re:Doesn't have to be threads by ArbitraryConstant · · Score: 2, Interesting

      Linux does a pretty reasonable job. I use XP at work and when it's doing something CPU-bound (generating a key pair with putty sticks out in my mind) the machine becomes unresponsive, but doing the same thing on my Linux machine doesn't have any perceptible effect. 2.4 kernels kinda sucked at that, but 2.6 classifies threads based on whether they use up all their CPU time. If they sleep voluntarily or wait for I/O, they are given higher priority.

      Even if the CPU usage is at 100%, benchmarks have shown that interactive processess generally respond in under a millisecond. It's really impressive how a system can be under heavy load but you wouldn't even be able to tell if you couldn't see the network lights blinking like mad, hear the hard drive, and see the CPU temperature going up.

      --
      I rarely criticize things I don't care about.
  13. Language Barrier by Lemurmania · · Score: 5, Funny
    Need? What is this "need" you speak of? I'm having a very hard time understanding the post's question. If only the poster would use words I can comprehend, such as "want," "desire," "lust" and "pointless splurge."

    What we have here is a failure to communicate.

  14. Too Many Cores = Unbalanced Design by Anonymous Coward · · Score: 2, Insightful

    It is relatively easy to add multiple cores (copy and paste in your IC layout program) but I wonder if this is just another manifestation of that "megahertz myth" (multicore myth?). Adding bunches of cores is fune and dandy but you have to keep those cores fed with a wide and fast bus.

    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. Perhaps it is time to revisit optical interconnect or chip scale packaging?

    1. Re:Too Many Cores = Unbalanced Design by PitaBred · · Score: 2, Insightful

      Why do you think AMD has it's memory controllers and the hypertransport stuff on-die? That keeps them from having to do as much work "feeding" the cores and so on. Remember kids, work smarter, not harder ;)

  15. To take advantage of this in the PC: by a_greer2005 · · Score: 2, Insightful

    one would need either a ton more ram or faster I/O for the HDD than is standard tosday or even in the near future. the bottleneck is non volatile storage throughput, fix that and even todays systems could be much faster than they are with SATA/scsi/ata100/133

  16. What's on your CPUs? by Animats · · Score: 5, Funny
    • CPU 0: Windows Update
    • CPU 1: Virus scanner
    • CPU 2: Client for P2P network decompressing "Star Wars 7 - The Revenge of Jar-Jar"
    • CPU 3: Useful work.
  17. In other news by eclectro · · Score: 2, Funny

    AMD semiconductor manufacturer petitioneed the NRC for a rule change to allow small home use nuclear reactors, saying in the application "consumers will need it".

    Also, they announced the acquisition of the frigidaire refrigeration company for an undisclosed amount, saying that "our product lines have a mutual synergy".

    --
    Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
  18. Re:No more Mhz! by Kufat · · Score: 2, Insightful

    Cache may well be reaching the point of diminishing returns. I seem to recall reviewers' benchmarks of 1MB vs. 2MB showing almost no gain, although I'm sure Intel has a set of benchmarks showing massive improvements.

  19. Re:Good... by Wicked187 · · Score: 2, Informative

    Alienware had one. Let me see if I can find it... I guess they do not have it anymore... but they do have P4 with Hyperthreading, and RAID 0 or 1... all in a laptop:

    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

    --
    Politics, Life, and More on my Aspiring for the Future
  20. MULTIthreading != Hyperthreading by Dun+Malg · · Score: 4, Informative

    The word "Hyperthreading" describes a specific hardware kludge by Intel to make a single-core CPU pretend it's dual-cored. Apps that utilize multiple CPUUs are called multithreaded. All you dorks parroting the article submitter and calling it "hyperthreading" are idiots.

    --
    If a job's not worth doing, it's not worth doing right.
    1. Re:MULTIthreading != Hyperthreading by Jeff+DeMaagd · · Score: 3, Interesting

      Hyperthreading isn't necessarily a kludge. It works very well and is often well worth the sliver of a die to implement, so long as the operating system knows the difference. It was never intended to be a replacement for a full dual processor system, I don't think it was ever sold as such.

      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.

    2. Re:MULTIthreading != Hyperthreading by Trojan · · Score: 2, Informative

      Are you sure Intergraph invented it? As far as I know hyperthreading, otherwise known as simultaneous multithreading, was invented by DEC and a research group at the University of Washington.

      The EV8 was indeed to have 4 such 'logical' processors, but was cancelled. The EV7 did not have SMT.

  21. Re:Must be a parallel universe you live in by Forbman · · Score: 2, Interesting

    Perhaps a nice job scheduler would be nice. Perhaps, if one of the cores ran at 4x or in a very low latency mode and the other ones ran at 0.5x, the critical very interrupt-driven tasks could live on the fast core, and other tasks (like Word, Excel, etc.) could be scheduled on the other core(s). That way, even if a user app locked up on one of the non-critical cores, the rest of the system stays up and accessible.

    I'd even take a multi-core 1GHz chip (with only a passive heatsink on it...) vs a 3.x GHz with its gas-powered 150K RPM turbine blower on it to keep enough air blowing over it.

    Oh, wait. I already have a dual-processor (2x833 MHz P3) server, and it's quite a bit more responsive than my single-CPU workstation. SCSI of course has something to do with that as well.

  22. To see where AMD is going... by Eukariote · · 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

    Impressive. If they execute on all that, Intel will have to keep on playing catch up for the forseeable future.

  23. Multicore is great, but not for the obvious reason by trims · · Score: 4, 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

    --
    There are always four sides to every story: your side, their side, the truth, and what really happened.
  24. BEOS!!! by dextr0us · · Score: 2, Interesting

    Thats why I still run BeOS with a complete lack of application support! Every app is fully threaded... so might as well run fewer of them!

    --
    "Martha Stewart can lick my Scrotum......do i have a scrotum?" -- Sharon Osbourne
  25. Re:wicked by OoSync · · Score: 2, Interesting
    A computer that will burst into flame without being /.ed first... I want one.

    Then you'll want to look into YAWS.

    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 from the primary designer of Erlang, Joe Armstrong.

    The key points are that Erlang process creation and message passing are orders of magnitude faster than Java/C# threads. Also, YAWS could handle dedicated traffic from a 16 machines. It handled over 80,000 connections, maintaining 800 kB/s traffic. Apache died around 4,000 connections. The key graphic is on page 4 of the paper. The red lines denote YAWS; notice haw it maintains that bandwidth (even though particular connections may drop, the web server keeps chugging along). Threaded Apache is in green; process-forking Apache is in blue.

    --

    I always get the shakes before a drop.
  26. Intel 2005 Keynote: x10-x100 cores by 2015 by LionKimbro · · Score: 4, Informative
    In Intel Developer Forum 2005 keynote speech, Justin Rattner said Intel is working towards having x100's, (at least x10's,) of cores in there.

    He shows demos and explains several driving forces:
    • voice interaction
    • visual interaction (face recognition, identifying shape, video analysis)
    • 3D graphics
    • machine learning


    An example of video analysis 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. 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.
  27. What we need by fm6 · · Score: 2, Insightful
    ...but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?"
    You think new systems are designed to run existing software? That's backwards. New software is designed to fully exploit existing systems. When more people have hyperthreading hardware there will be lots of software that uses it. Same for multi-core systems.

    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.

  28. "Hyperthread" by Beatlebum · · Score: 2, Informative

    but most programs haven't even got the ability to hyperthread

    How does a program "hyperthread"? Did you mean "thread"? but decide to use the former because it sounds cooler? Hyperthreading doesn't result any concurrent processing, it's a hardware scheme in with the processor's archictectural state is replicated in order to speed up context switching between threads. That's very different from replicating the whole CPU core.

  29. Re:Are more cores like hyperthreading? by Mad+Merlin · · Score: 4, Informative
    Hyperthreading is, esentially, a hack to make one processor look like two. In an ideal situation, this will yield better performance when running more than one application at the same time, the situation is rarely ideal however. In practice, most single threaded applications will end up running at roughly the same speed. The downside is that some applications will not function correctly, or will run slower with Hyperthreading enabled.

    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).

  30. What does hyperthreading have to do with it? by david.given · · Score: 4, Insightful
    most programs haven't even got the ability to hyperthread, so do we really need the extra cores?

    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!

  31. Re:Short Answer by bob+whoops · · Score: 2, Funny

    You're clearly 15 bits too long.

  32. Re:Yeah?!? Yeah?!? Well.... by Eukariote · · Score: 2, Interesting
    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 per operation when compared to a Northwood or Prescott P4?

    Until recently it was thought the long pipelines were at fault. But the boys at X-bit labs took a closer look at Intel patents and did some detailed performance measurements.

    Turns out that it goes further. The long P4 pipes require "replay buffers" to reissue instructions with unresolved dependencies. These buffers more often than not end up causing further performance losses and power dissipation in case of common patterns of instruction dependency.

    See http://www.xbitlabs.com/articles/cpu/display/repla y.html, and two earlier articles.
  33. Re:Evolution by dougmc · · Score: 2, Informative
    But for right now, they have no reason to pour work into something that isn't going to function or benefit the software. A waste of time, perhaps?
    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.

    As for desktop boxes, two or more cpus means you can do two or more things at full speed. One application may not run faster with two cpus unless it's written to support it, but two seperate applications certainly will.

    As for games, games could certainly benefit from multiple cpus. Now, most may not seperate different things into different threads that can run in different cpus, but this will change rather quickly if desktop boxes start regularly having more than one cpu ...

    Part of what was neat about the BeBox was that they offered two cpus. They couldn't make the cpus faster, so they just gave you two of them ...

    But don't try to tell us it's a waste of time. It most certainly isn't. And we don't need any need to materialize, or special software to be written -- we can use multi-cpu machines NOW.

  34. Why wait.. its already here? by Flaming+Death · · Score: 2, Interesting

    Try 9 cores. Yes, its a Cell. And yes the SPE's _are_ general purpose cores - read some more if youd like: http://www.research.scea.com/research/html/CellGDC 05/index.html

    The last part about programming architecture.. is interesting reading. From job queuing.. to micro kernels to streaming.. multi-cores are are a very good way to do things. And on Cell.. they are all seperate cores.. And for a server with 14 of these in one box.. coming soon..
    http://techon.nikkeibp.co.jp/english/NEWS_EN/20050 525/105050/

    Its pretty obvious why Intel and AMD are going multicore.. because it works.. and they have to catch up before they are lost in the dust.

    1. Re:Why wait.. its already here? by be-fan · · Score: 3, Informative

      The Cell's SPEs aren't really general purpose. They're limited to a 256KB local storage. In order to utilize main memory, they have to use explicit DMA operations. That drastically limits their usefulness for code that isn't explicitly written for Cell.

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:Why wait.. its already here? by KillShill · · Score: 2, Informative

      general purpose and vector processors are mutually exclusive.

      they aren't going to be running anything non-multimendia.

      they are just 8(7 in reality) vector processing elements bolted onto a in-order ppc cpu. i don't know why it took billions of dollars to hack on a vector processor array onto a ppc cpu... well except to add the fine and dandy DRM...

      try running your general purpose OS and applications solely on those vector processors. notice i don't use the bullshit nomenclature of SPE's and CELL.

      amd and the other guy don't make cpus solely for multimedia ... cause that's a small fraction of the jobs that people want to do with them. they are hardly in the dust , and for ages to come.

      go back to your windproducing young male adolecsant "enthusiast" web site and leave us adults in peace.

      --
      Science : Proprietary , Knowledge : Open Source
  35. Failure to communicate? by jd · · Score: 3, Insightful

    Well, the answer to that is obvious. We need terabit optic fibre to all houses in the US, immediately. This will cure all communications problems - or, at least, all communications problems involving Quake VI.

    --
    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)
  36. Think Fast by Doc+Ruby · · Score: 2, Funny

    The logic that says the scarcity of hyperthreading programs means that multicore dies don't benefit from lots of cores is wrong. Once in the hyperthreading game, more cores is better. So few hyperthreading programs might mean less reason for multicores, but once there is a reason, the more cores the better. It's like saying that most people don't drive, so there's no need for really fast cars. That kind of fuzzy illogic is completely common in the media. On Slashdot, where we'd like to think we can think, it's really irritating.

    --

    --
    make install -not war

  37. Re:Don't count the processes by Pharmboy · · Score: 4, Funny

    So spywear authors should write better code so their programs don't tie up the processor? :)

    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.

    --
    Tequila: It's not just for breakfast anymore!
  38. Re:"No one will ever need more than 512 cores." by KillShill · · Score: 2, Funny

    i think you mean to say "no one will ever need more than 640 thousand cores"

    --
    Science : Proprietary , Knowledge : Open Source
  39. Re:Must be a parallel universe you live in by SilentOne · · Score: 4, Funny

    Dual mice buttons?

  40. Re:Don't count the processes by fm6 · · Score: 5, Insightful
    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.
    First off, "good" spyware doesn't have to be multithreaded. It just has to be smart about yielding control, so it doesn't disable the process that it's infiltrated.

    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.

  41. Re:Must be a parallel universe you live in by fr0dicus · · Score: 3, Funny

    When he said nice he didn't mean nice(1).

  42. Do we really need the extra cores? Well...um... by hashbangfoo · · Score: 2, Insightful

    Taken from elsewhere: "If we build it, they will come..."

  43. The Hypervisor will use 'em, I tell ya! by ScrappyLaptop · · Score: 2, Interesting
    Okay, once you have a hypervisor managing all of your virtual PC's, one running Windows 2007, one running OS XI and one running a 3.0 kernel Linux, you will need all of those cores.

    Consider this:

    Imagine a PC where there is only the hypervisor directly accessing the hardware (and please, NOT one that also loads Outlook Express, IE7, WSH and Media Player). Now imagine all of your operating systems running on top of the hypervisor. All hardware is virtualized for these operating systems, right? So, your physical video card no longer needs a 3-d engine; in fact it doesn't need much more than a 2-d chip and enough memory to show all the pretty colors at whatever resolution is popular. Why, you ask? Because the 3-d rendering will be done by the *virtualized* 3-d card(s) in each virtual machine, and THAT, my friend, will take as many CPU cores on the host machine as you are able to give it. And, since virtual GPU's don't require foundries, it just might mean an Open Source video card. The key is to ensure that the vitualized "hardware" is modular enough to be replaceable.

    It's the next step in the ongoing cycle between having the CPU do everything and offloading to specialized chips or subsystems. By virtualizing all of the "offloading" chips such as the GPU, 3-d wavetable synth, some networking functions, etc., the pendulum swings back toward centralizing all of the processing.

    1. Re:The Hypervisor will use 'em, I tell ya! by blahplusplus · · Score: 2, Informative

      There is only one problem with your virtualized GPU, memory bandwidth.

      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 cores themselves. CPU memory bandwidth has always lagged behind more modern GPU's with ~33 GB/s versus today's Intel and AMD systems with between 2.3GB/sec and ~5.2GB/sec

  44. Uh, you do know what scheduling is, right? by Inoshiro · · Score: 2, Insightful

    When I run PS, I see 1 program running: PS. bash, my shell, is blocked because ps has control of the terminal.

    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 X to run and let it update the screen to display the characters I just typed (which Mozilla also copies to its own local buffer) happens so fast as to not even register as 1 10th of 1 percent on my AMD64 3000+.

    Seriously, no one needs a fucking 32-way CPU, not unless they are doing some massively parallel scientific work, or they are emulating many virtual computers at once. To deal with blocking IO that can't be slept, then multiple cores look sexy, but not really past 4 cores -- most applications are single threaded. Perhaps this would be different if we were running BeOS.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  45. Re:Don't count the processes by Zeinfeld · · Score: 2, Interesting
    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.

    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 programmer is difficult enough for honest companies.

    Most of the spyware I have looked at has serious security issues, some of these may even be deliberate, a way of creating a deniable backdoor.

    The spyware attempts to make itself uninstallable. Often the programers use O/S facilities that they do not understand properly to do so.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/