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

423 comments

  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 Anonymous Coward · · Score: 0

      It needed to be said sometime: "One core should be enough for everyone"

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

    4. Re:Do we really need the extra cores? by sweetooth · · Score: 1

      Nah, those four apps will just come in versions that launch about 10,000 threads or child processes.

    5. 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
    6. 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.
    7. Re:Do we really need the extra cores? by nick_davison · · Score: 1, Troll

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

      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.

    8. Re:Do we really need the extra cores? by ledow · · Score: 1

      But why would you buy a DVD player if you didn't know whether the DVD's would be easily available?

    9. Re:Do we really need the extra cores? by new_here_arent_you · · Score: 1

      Yo.

    10. 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
    11. Re:Do we really need the extra cores? by Spy+der+Mann · · Score: 1

      To the submitter (or editor?) :

      Imagine compiling the Linux kernel 32 times faster. w00t.

    12. Re:Do we really need the extra cores? by AndroidCat · · Score: 0, Offtopic

      S'truth! It'd be awfully lumpy!

      --
      One line blog. I hear that they're called Twitters now.
    13. 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.
    14. Re:Do we really need the extra cores? by cuerty · · Score: 0, Redundant

      We need it and in a beowulf cluster.

      --
      >Linux is not user-friendly.
      It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
    15. Re:Do we really need the extra cores? by ultramkancool · · Score: 1, Interesting

      Yeah 32 cores would be great for gentoo users. Then i can change my O setting a bit higher and all my crap will actually compile without having to wait overnight.

    16. Re:Do we really need the extra cores? by Anonymous Coward · · Score: 0

      "one core to rule them all". Hmm. Cell anyone?

    17. Re:Do we really need the extra cores? by Anonymous Coward · · Score: 0
      IBM picked 640k when desigining the IBM PC, reserving the remaining 384k, of the 1MB the 8088 could access in total, for the system, e.g. BIOS, video, etc.

      Bill Gates never said anything about it being enough either, and actually sided with IBM's engineers who wanted to use the Motorola 68000 (which didn't have the same 1MB limit) instead of the 8088. IBM management picked the 8088 for business reasons, namely IBM had a licence to produce the 8088 itself, and already used it in a number of other products.

    18. Re:Do we really need the extra cores? by vettemph · · Score: 1

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

      All jokes aside for about on second, I'm sure us linux will be all over this long before MS can handle it.

      --
      The government which is strong enough to protect you from everything is strong enough to take everything from you.
  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 Nasarius · · Score: 1

      Use Fortran, or another language/extension that automatically parallelizes on appropriate code.

      --
      LOAD "SIG",8,1
    3. Re:Hyperthreading by LWATCDR · · Score: 1

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

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    4. Re:Hyperthreading by Sheetrock · · Score: 1
      There's a certain amount an optimizing compiler could do to take advantage of multithreading technology without requiring anything from the developer (although I don't know which do).

      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 lock and unlock access to that variable before changing it. If one thread is beginning to change a string as the other decides to read the string, the second might see the string in a half-written state.

      There is also the matter of figuring out how to distribute the load across threads in an efficient manner -- optimally each of two threads would have 50% load, each of three would have 33% load, etc. It's never optimal, of course, and you want to make sure display routines take priority over background routines so the display remains crisp.

      I don't think there will be a way to transfer single-threaded programs to hyperthreaded technology and gain full advantage from the latter. As has been said even if you run only single-threaded programs nobody's system runs only one process anymore, but to fully unlock the potential of this technology will require developers to become more familiar and comfortable with multithreaded programming techniques.

      --

      Try not. Do or do not, there is no try.
      -- Dr. Spock, stardate 2822-3.




    5. Re:Hyperthreading by NitsujTPU · · Score: 1

      Intel's site on the topic appears to confirm my initial assertion. To that end, I would assert that threading is rather simple to implement under most modern models.

      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 multithreading, and therefore, capitalizing on hyperthreading technology. Therefore, if it is the case that most applications do not make good use of threading, I would assert that it is improbable that this will remain the case in the future, and if it does, that programmers become educated on the topic of multithreading.

    6. Re:Hyperthreading by bersl2 · · Score: 1

      That may take a new language or maybe c+++.

      What about something like OpenMP? It seems to me that it could be used to make certain simple tasks highly parallelized, freeing the programmers' time to work on threading dissimilar jobs.

    7. Re:Hyperthreading by jbplou · · Score: 1

      Make a web app. Both Apache and IIS are threaded. Web servers would see an advantage right away. So would most RBMS's

    8. Re:Hyperthreading by Too+Much+Noise · · Score: 1

      No OpenMP support in gcc though - you'll have to go the route of expensive compilers to get that (or Intel's one, assuming they don't keep on 'tweaking' it against AMD) This might change by the time AMD actually ships cpus with 4 cores.

      It will be fun to see whether multicore Itanium will get out of the door in any quantities worth talking of in time before quad-core Opterons start making inroads.

    9. Re:Hyperthreading by pchan- · · Score: 1

      Well, the answer you seem to be getting is "multithreading". That's one aspect. Another is multiple processes. My desktop system (with only me logged in and browsing the web) has 66 processes running. Think of all those producer-consumer processes you create when you invoke a command line that has 'find' pipe to 'grep' pipe to 'awk' pipe to 'sort'... each can be on a separate processor, running in parallel as real pipeline. Some programs have been written to take advantage of process parallelization. make(1) is a good example of this. Given a list of dependencies, it will figure out those that can be run independently and execute those on as many processors as are available. Another is Apache (1.0 series), that forks off server processes. It can scale nearly linearly with added cores/processors (assuming the bottleneck is not disk or network IO).

      There are languages and libraries that also include support for explicit paralellism. These are typically found in specialty software written for supercomputers. That's one extreme. The other extreme is compiler-optimized parallelism that the programmer does not have to explicitly code. Today, compilers can optimize your program so that it makes efficient use of execution units in parallel (on a single core). It's logical that this will be extended to the multi-core world, although it will be quite a step up in compiler technology from what we have today. And of course, multithreaded programming (which too is explicit parallelism) is here and will only get more popular with anyone who demands speed.

    10. Re:Hyperthreading by Anonymous Coward · · Score: 0

      Shouldn't it be HARDWARE (or firmware) that divies up the tasks? Multiple cores? One handles the OS, one handles background tasks, user tasks are split among the rest, etc.

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

    12. 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
    13. 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.
    14. 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?

    15. Re:Hyperthreading by Egregius · · Score: 0

      I smell a comeback for the BeOS ;)

    16. Re:Hyperthreading by Anonymous Coward · · Score: 0

      On a Linux based system, a processor with more than one core looks like more than one processor. Dual cores are actually like two processors, and you get the full functionality of two (but in the land of SMP, shareing memory paths gives about 85% of each, so two cores behave like 170% of 1 core. This is better than hyperthreading, which give a 7% speedup over no hyperthreading (so with hyperthreading 107%). The SMP overhead is a single shot deal, so 4 cores at 85% each run at 340% of a single core. Since AMD Opterons scale to 8 without extra 'glue' chips, you can get 32 cores running together. I have applications that let you select the number of processors. Since they are very CPU intensive, 32 processors aren't really enough (to get half decent results in less than 4-6 hours) but at least it's a start.

    17. Re:Hyperthreading by Anonymous Coward · · Score: 0

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

      So people dumber than most of us can abuse it madly and wonder why the heck things go wrong and they can't reproduce them.. Explicit control is what makes coding great. There are plenty of those language/compilers out there that take the 'automagic' approach. vb6 is a classic example of a language that handles threading behind the scenes.. by creating an environment where everything is inherently single threaded :).

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

    19. Re:Hyperthreading by Skjellifetti · · Score: 1
      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.

      Cool. Yet another stat where Linux beats MS. Gosh, I've got 40+ processes running just to surf the web:
      > ps
      PID TTY TIME CMD
      1 ? 00:00:02 init
      2 ? 00:00:00 migration/0
      3 ? 00:00:00 ksoftirqd/0
      4 ? 00:00:00 migration/1
      5 ? 00:00:00 ksoftirqd/1
      6 ? 00:00:00 events/0
      7 ? 00:00:00 events/1
      8 ? 00:00:00 khelper
      9 ? 00:00:00 kblockd/0
      10 ? 00:00:00 kblockd/1
      11 ? 00:00:00 khubd
      33 ? 00:00:00 kirqd
      34 ? 00:00:00 pdflush
      35 ? 00:00:00 pdflush
      36 ? 00:00:00 kswapd0
      37 ? 00:00:00 aio/0
      38 ? 00:00:00 aio/1
      181 ? 00:00:00 kseriod
      204 ? 00:00:00 kjournald
      256 ? 00:00:00 kjournald
      257 ? 00:00:00 kjournald
      258 ? 00:00:00 kjournald
      259 ? 00:00:00 kjournald
      260 ? 00:00:00 kjournald
      319 ? 00:00:00 syslogd
      322 ? 00:00:00 klogd
      358 ? 00:00:00 fcron
      365 ? 00:00:00 lpd
      384 tty2 00:00:00 agetty
      385 tty3 00:00:00 agetty
      386 tty4 00:00:00 agetty
      387 tty5 00:00:00 agetty
      388 tty6 00:00:00 agetty
      2539 tty1 00:00:00 agetty
      2589 ? 00:00:00 ptal-mlcd
      2591 ? 00:00:00 ptal-printd
      2596 ? 00:19:17 X
      2990 ? 00:00:00 xdm
      3003 ? 00:00:00 xconsole
      3030 ? 00:00:00 xfwm
      3039 ? 00:00:00 xfce
      3049 ? 00:00:00 xfgnome
      3052 ? 00:00:00 run-mozilla.sh
      3062 ? 00:01:43 mozilla-bin
      Looks awful. All that just to surf the web. Except that the load avg is 0.12 on a 2x1Ghz PIII box. The number of background processes running tells you very little about whether you need more cores or not.

      I'm more interested in hearing how they plan to increase the bandwidth between cpu, memory, and I/O devices to keep up with 32 processors.
    20. 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

    21. Re:Hyperthreading by SirTalon42 · · Score: 1

      Linux has more processes because of the philosophy of the programs doing 1 thing, and doing it well. So most of those programs (all the ones w/ a PID of lower than 1000) are going to take next to no resources (ram and processor speed).

      On my windows box I have about 24 processes at boot (4 of which are little things things like Winamp/OO.org Quickstarter, program so my DVD drive can actually play videos due to a bug in the drive's firmware, and Kerio Personal Firewall), and on my Linux (FC3) box I have 62 processes (I'm running KDE and not XFCE and other apps, so thats probably part of the reason I have more than you)

    22. Re:Hyperthreading by pla · · Score: 1

      I'm more interested in hearing how they plan to increase the bandwidth between cpu, memory, and I/O devices to keep up with 32 processors.

      Well, the approach that Opterons currently take would work just fine, though not necessarily a cheap solution - Namely, have a bank of RAM dedicated to each processor.

      Ironically enough, however, that approach suits desktop use far better than server use - you don't incur any penalties as long as no one process needs more memory than belongs to a single CPU. That rarely happens on desktop systems (with "enough" memory), but the sort of tasks that might require an 8-way Opteron also tend to suck as much memory as you can afford to stick in the box.

    23. Re:Hyperthreading by xanadu-xtroot.com · · Score: 1

      I have applications that let you select the number of processors. Since they are very CPU intensive

      Out of curiosity, what are these apps? (if you don't mind saying, ofcourse). I'm just wondering.

      --
      I'm not a prophet or a stone-age man,
      I'm just a mortal with potential of a super man.
    24. Re:Hyperthreading by Anonymous Coward · · Score: 0

      Aw come on - Semaphores, Mutexes, Critical Sections, CreateProccess/CreateThread (winapi), it's not that hard, honest. No need to complain that those of us who use multi-threading all the time, are on school projects. The tools have been there for years.

    25. Re:Hyperthreading by gl4ss · · Score: 1

      well.. there are cases when doing multiple threads isn't particularly hard, or risky.

      on j2me for example(necessity sometimes for some even simple stuff there, too).

      --
      world was created 5 seconds before this post as it is.
    26. Re:Hyperthreading by Vanders · · Score: 1

      Multi-threaded code is very difficult to write correctly and debug. It's hardly 'easy'.

      I beg to difer. Multi-threaded code is dead easy to write once you understand some basic concepts and provided you don't write code like a demented COBOL hacker.

      In Syllable the GUI, the kernel and even some device drivers run multiple threads. It's not complicated.

    27. Re:Hyperthreading by Dolda2000 · · Score: 1
      I beg to difer. Multi-threaded code is dead easy to write once you understand some basic concepts and provided you don't write code like a demented COBOL hacker.
      The thing with using multiple threads is that all of a sudden, your program is non-deterministic, and that is what makes it hard to debug. It's all about experience, of course, but even experienced programmers can, every once in a while, forget to lock some shared resource, and then you may have a problem which crashes your program every time it runs, but never ever shows up while debugging it, since threads are (of course) scheduled differently while debugging.

      If you only use one thread, then at least your program will always be fully deterministic.

      That said, you can hardly deny that it is more work to write multithreaded programs, right? I mean, I fully agree that it's often well worth the extra trouble, but there is still extra trouble in doing all the synchronization.

    28. Re:Hyperthreading by Anonymous Coward · · Score: 0

      You are an idiot.

    29. Re:Hyperthreading by Anonymous Coward · · Score: 0

      Threading bugs of the type you describe are generally pretty easy to recognise exactly because of the symptoms you describe. It's very similiar to debugging a stack-smashing type of bug. Have you ever tried to debug a program that is segfaulting only to find that when you run it under the debugger, or add a printf(), it stops segfaulting? Every type of bug leaves a footprint, even non-deterministic ones (The general randomness of the bug is evidence itself).

      Now you're right, it is slightly more work to write threaded code (At least, threaded C). You do have to remember to syncronise, but in all honesty it becomes second nature. Accessing a global or shared resource? Lock. It takes one line of code (& one to unlock). It becomes second nature.

      Now, thread-safe code with proper frameworks is even easier. The libsyllable API in Syllable (The GUI framework) takes care of almost all the locking for you. Almost everything is asyncronous and threaded, yet it's very easy to write applications with because the threads are pretty much transparent.

    30. Re:Hyperthreading by giliposha · · Score: 1

      having local memory to each processor/core, the way monster-computers like Crays do, is the only way when you go for a *lot* of processors (say 64, 128, ...).

      the thing is that not all the programs can be paralelized over that architecture without modifying the source: shared memory vs distributed process comunication techniques

    31. Re:Hyperthreading by master_p · · Score: 1

      It's very easy to write multi-threaded apps. I've done so many times for my company (a defense subcontractor). All you have to do is not call procedures of one thread from the other. Let threads communicate via message queues and everything is fine.

    32. Re:Hyperthreading by BasharTeg · · Score: 1

      I have to agree, I think the great-great grandparent (whichever) post is ridiculous. On one hand he's accusing anyone who claims to do multi-threaded programming of only doing it for their CompSci project, and then he goes on to explain how writing multi-threaded code is too hard.

      Look, I write multi-threaded code every single work day, and when I work on weekends. Not for some "simple" project, and certainly not for CompSci classes. It's really not that hard. Using the basic primitives of Win32 or POSIX threading is not that hard. Dealing with functions which are "aware" of shared resources is not that hard. And you're not going to get out of this.

      I've talked to several C/C++ developers who want a new language that handles everything like magic, but in the end you're either going to have data objects which protect themselves against shared access in inefficient ways (by locking a mutex during each access) and even that doesn't protect you against logical dependancies, things which normally require critical sections. Not every part of synchronization is protecting a single data object.

      Magic solutions aren't the answer. Learning how to write multi-threaded code and polishing and standardizing the APIs is the answer.

    33. Re:Hyperthreading by LWATCDR · · Score: 1

      I have been out of school for a long time. Threads? We did not have any stinking threads when I was in school. Frankly the idea of writing threaded code in Fortran, Cobol, or Pascal gives me the creeps.
      I have done one product that is used to do a form of captioning for the hearing impaired on the Internet. And the other program is an internal program used to manage incoming calls in our tech support center. I also helped debug an different app with some thread issues.
      Frankly I was very nervous about the threading but frankly was easier than I thought. Maybe I just got lucky twice.

      I agree with your statement about a new programming paradigm being needed.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    34. Re:Hyperthreading by kjs3 · · Score: 1
      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.

      You mean languages where threads are a first-order language construct? Modula-3 certainly expresses the concept of light weight threads as a language construct. By inference, you might look at Mesa, Cedar & Modula-2+ as well. Ada and Modula-2 (among many others) have a more heavyweight concept of a task as well.

      Or do you mean languages for which threading can be implicitly derrived from the program code? Look at the many members of the Functional Language group (FP, Hope, Haskell, Caml/OCaml, etc).

    35. Re:Hyperthreading by robbarrett · · Score: 1

      Instead of counting processes, you need to count processes that use significant amounts of CPU. My XP box with about 10 long-term apps running is showing 78 processes right now. But only 11 (not counting idle) have used more than 1 min of CPU time over the 2 days of uptime (congratulations, windows...).

      Whatever the btwdins.exe process is (yes, I know, it's bluetooth, which is turned off) with its 0:00:00 CPU usage and 5 I/O reads, it won't help my system perform better if it has its own core to run in!

      It would take more study to figure out how perceived system performance might go up with better concurrency, but a first glance says that at least real-time virus scan could use it.

    36. Re:Hyperthreading by maraist · · Score: 1

      . Accessing a global or shared resource? Lock. It takes one line of code (& one to unlock). It becomes second nature.

      While I generally agree with you.. It isn't as simple as just locking every time you access a global resource.. You have deadlock issues. So you either need a monitor thread or a global lock which is required to acquire a subset of locks. Or if you feel particularly daring, you can have a convention to always lock in a particular order. The problem comes when you have different modules which acquire different locks, and you can't control the order in which the modules are invoked for a particular event/task. This becomes increasingly difficult as your application grows appendages..

      Your best bet is to minimize the need to access such global resources, and to have locks encapsulated and atomic, and more importantly, not farming out to acquire other locks. But this isn't always easy to do. Minimizing global resource access implies making more use of local variables.. Passing instances up the call stack instead of having modules search for global resources.

      In servlet land, you have a synchronized application context Map and a per-user synchronized Session Map. Then you have a non-synchronized request Map passed up the call tree. Here you are explicitly defining the global-ness of operations. Moreoever servlet designers recognize this explicit scope separation and place shared resources at the appropriate level.. Anything being placed into the Request scope need no synchronization since it's single-threaded access.. When you place something in the other scopes, you are making a conscious statement that you must be mindful of MT-safety.

      --
      -Michael
    37. Re:Hyperthreading by ArbitraryConstant · · Score: 1

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

      Just because processes are present doesn't mean they're running. They're almost certainly not running. Most processes sit idle, taking up memory and waiting for something to happen. When it does, they take care of it in 5 milliseconds, and then they sit there again. Your CPU is idle for the vast majority of the time, and when you're using it these other processes don't get in your way very much.

      Dual-cores are great, but not for this base case.

      --
      I rarely criticize things I don't care about.
    38. Re:Hyperthreading by ArbitraryConstant · · Score: 1

      "Multi-threaded code is very difficult to write correctly and debug. It's hardly 'easy'."

      Let's not get carried away. :)

      When all you want is a sane alternative to non-blocking I/O, or an application that remains responsive when it's busy, no problem. Multi-threaded code is easy to write. Multi-threading CPU-bound code such that it's actually faster is sometimes impossible and usually hard.

      --
      I rarely criticize things I don't care about.
    39. Re:Hyperthreading by MyLongNickName · · Score: 1

      Excuse my ignorance. I am not really familiar with the techical aspects of the multi-core CPUs out there. But, then again, most others aren't either -- I see so much conflicted information that I feel like researching it myself :)

      Wouldn't CPU hyperthreading mostly allow MULTIPLE applications to run side-by-side better, rather than a single application? An application understands how the threads interact with each other... whether data must go back and forth... whether they must be synchronized, or can act independently... the CPU can't know this intrinsically. It CAN however allow two independent processes to run in parallel. So, my freecell won't be slowed down by my development engine.

      I write business apps for my department. I have only a few cases where threading is appropriate. In general, this is when the system needs to work with a slow-opening report. Open report while user is doing his work, then at approporiate time marry the report to the work the user was doing. There is very little else I can see myself needing threading models for.

      Now, a mutli-thread capable CPU would be nice. No matter how good the OS, there is overhead associated with thread swapping.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
  3. Short Answer by sp0rk173 · · Score: 1, Redundant

    Yes, Yes we do.

    1. Re:Short Answer by Ninwa · · Score: 1

      You're clearly three words too long. Even shorter answer: Yes.

    2. Re:Short Answer by Anonymous Coward · · Score: 1, Funny

      You're clearly two characters too long. Even shorter answer: 1.

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

      You're clearly 15 bits too long.

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

    Of cores we do!

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

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

    1. Re:I guess Intel is DOOMED by Kent+Recal · · Score: 1

      Did NetCraft confirm, yet?

    2. Re:I guess Intel is DOOMED by KillShill · · Score: 1

      one can only hope. at least apple would have contributed something hugely meaningful to the computing industry: the death of intel.

      --
      Science : Proprietary , Knowledge : Open Source
  6. 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 beavis88 · · Score: 1

      Microsoft has stated that they'll stick to counting a processor as a processor, no matter how many cores. Oracle (and others) appear to be headed the opposite direction...

    4. 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.
    5. Re:more cores, more heat by Barlo_Mung_42 · · Score: 1

      What really kicks ass about AMD's architecture is that the extra core needs very little more power. So adding more cores is much better than adding CPUs.

    6. Re:more cores, more heat by VoidWraith · · Score: 1

      Are you talking about liscencing as the replies you've already garnered have assumed, or with regards to whether it will actually run? I'm running Windows XP Pro, and it thinks this computer has 4 processors, with no problem. By "Regular" do you mean Home? By the time Quad chips will be out, Longhorn ought to be anway, meaning it would be a good thing for Microsoft, AMD's new chips would drive sales for its new OS (as opposed to just getting a nice old XP Home, which may or may not support that many threads).

    7. Re:more cores, more heat by MyLongNickName · · Score: 1

      This is why Oracle sucks. They are always trying to yank you around with licensing. They are the only company that makes Microsoft look like a saint.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    8. Re:more cores, more heat by Lehk228 · · Score: 1

      no, oracle tries to base their licencing on how much work the database will be doing, number and speed of the CPU's is a good indicator of that.

      --
      Snowden and Manning are heroes.
    9. 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).

    10. Re:more cores, more heat by Buzzard2501 · · Score: 1

      What really kicks ass about AMD's architecture is that the extra core needs very little more power. So adding more cores is much better than adding CPUs.

      I'm not sure I follow, as fair as I can tell, the only piece of the core not working would be the memory controller, as it would just request (over hypertransport) the data from the core connected to the ram.

      --
      Real programmers don't comment their code. It was hard to write, it should be hard to understand.
    11. Re:more cores, more heat by Spoing · · Score: 1
      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.

      How do they enforce this and deal with processor upgrades with HT and multiple cores? Will the support be considered a defect fix or would it require an upgrade.

      In either case, it's an antiquated idea now. Good thing I don't normally have to deal with it.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    12. Re:more cores, more heat by Anonymous Coward · · Score: 0

      It doesn't actually work that way for HT. One of the big server versions of Windows supports 8 cpus. Well, if you put 8 physical cpus in there and enable hyperthreading, it will still only use 8 logical cpus. I've seen it do this.

      Fortunately, it's smart enough to use one logical per physical, and thus populate the 8 physical processors.

      Note that as long as Windows returns the number of cores when you call the "how many cpus do I have" query, that value will be what 3rd-party software is generally licensed against.

    13. Re:more cores, more heat by Anonymous Coward · · Score: 0
      You're mistaken. See: http://www.intel.com/cd/channel/reseller/asmo-na/e ng/products/box_processors/desktop/proc_dsk_p4/tec hnical_reference/36016.htm

      From the above:

      Figure 5. Verifying Hyper-Threading Technology in Windows* XP Task Manager
      Hyper-Threading Technology is enabled if there are two processor listed in Windows XP Device Manager. Only one processor driver will be installed if Hyper-Threading Technology is disabled in the BIOS settings. Note: It is important to have the latest INF utility in order to optimize platform performance with Intel Pentium 4 processor-based systems using Microsoft Windows XP.

    14. Re:more cores, more heat by Pharmboy · · Score: 1

      Oracle has said that 2 cores == 2 cpus, however. I believe you are correct with Microsoft, but the 2nd largest software company in the world has different ideas.

      I would image that RedHat's cpu restrictions for different versions of their software would follow the MS lead, rather than the Oracle lead, but haven't looked at their policies lately. (since they changed their support contracts two years ago and screwed me over, hense, losing my business for 6 servers...)

      This raises issues, as you may be running different software that has different ideas about whether cores != cpus or not. So the OS and half your apps are licensed for 2 cpus, but some of your software has to be licensed for 8 cpus. Even running on Linux, this can be an issue with RH and Oracle on a mid line server.

      --
      Tequila: It's not just for breakfast anymore!
  7. Do we need more cores? by someone300 · · Score: 1

    Well if there is more than one thread running on the OS, it should be able to distribute execution between processors...

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

    2. Re:Hyperthread? by Anonymous Coward · · Score: 0

      Why not? If we make the term generic enough, anyone can use it, and Intel's money marketing the name is wasted.

  9. 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";
    1. Re:Quad cores == quad compile speed by phobos13013 · · Score: 1

      Actually Gentoo dev is already set to work on AMDx4 processors in anticipation of this news!

      --
      ...and it should be known by now
    2. Re:Quad cores == quad compile speed by Anonymous Coward · · Score: 0

      Uh huh.

      Since you seem to enjoy the trolling thing, how about this one:

      Your masturbatory furry comic sucks, and so do you.

    3. Re:Quad cores == quad compile speed by bcmm · · Score: 1

      I wonder if you can run distcc on a single machine...

      --
      # cat /dev/mem | strings | grep -i llama
      Damn, my RAM is full of llamas.
    4. Re:Quad cores == quad compile speed by statusbar · · Score: 1

      It is called: make -j 4

      jeff

      --
      ipv6 is my vpn
    5. Re:Quad cores == quad compile speed by KillShill · · Score: 1

      imagine, waiting only 1 week for a full system compile.

      my mouth is salivating at the prospect.

      --
      Science : Proprietary , Knowledge : Open Source
    6. Re:Quad cores == quad compile speed by Samari711 · · Score: 1

      well it should probably be -j5 if you follow the documentation

      --

      I never said I was smart, I just said I was smarter than you

    7. Re:Quad cores == quad compile speed by SirTalon42 · · Score: 1

      Actually it should be only a couple hours (like 3-5, if even that much since most likely the lowest end quad-core's individual cores should be faster than the current highest end single core following AMD's currently trend)... Though on my 1.9ghz Athlon XP I've spend about 6 hours a day for a week compiling KDE and still aren't done... Gentoo is better in the winter than summer, keeps my room nice and toasty!

  10. 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 InvalidError · · Score: 1

      Once upon a time, 640_KB_ ought to be enough for everybody... today, >640_MB_ is common.

      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.

    2. Re:Ah... history fails to be remembered again... by Anonymous Coward · · Score: 0

      No, no, just YOU know this......

    3. Re:Ah... history fails to be remembered again... by toasted_ry · · Score: 1

      a parallel can be drawn to the FCC and digital television. just because there is nothing that takes advantage of the technology now is no reason not to create it, else nothing will take advantage of it.

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

    5. Re:Ah... history fails to be remembered again... by InvalidError · · Score: 1

      I am not questioning the usefulness of being able to run multiple threads concurrently on multiple physical or logical execution units... the software I personally write has a tendency to become heavily multithreaded.

      In my limited multi-threaded software writing experience, the easiest way to deal with deadlocks in critical paths is to spin off the locking parts into their own threads. With thread pools, this can be done almost completely transparently and with nearly no performance penalty.

    6. Re:Ah... history fails to be remembered again... by Anonymous Coward · · Score: 0

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

      That seems a bit odd. The Sinclair was released circa 81 and PCs with 32MB of RAM weren't affordable till 1996. Thus I must conclude you were either: a Mac user or an Amiga user during that timespan between your first computer and first PC.

    7. 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.
    8. Re:Ah... history fails to be remembered again... by DrSkwid · · Score: 1

      8Kb, luxury !!

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    9. 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.
    10. Re:Ah... history fails to be remembered again... by dumbfounder · · Score: 1

      Thank the lord, someone with reason.

      Hasn't anybody checked their process list? I currently have 60 processes running, and god knows how many threads. Right now, each of these is playing nice, but they could be doing so much more. Anti-virus/spyware could be ever vigilant, even running multiple threads each, scanning the hard drive, memory, registry etc all the time. I could have programs indexing my hard drive. I could have something encrypting my sensitive data. I could be grabbing RSS data through various feeds and organizing it, extracting knowledge from it, etc.

      And those are just things I thought of in 30 seconds for my desktop. For scientific computing, very often you want as much brute force power as you can get, and it doesn't matter how many logical cpu's it is divided into. I have been taking advantage of dual cpu machines for 6+ years because it makes a lot of my apps twice as fast.

      And dual core is better than dual cpu because it can be a lot cheaper, and you can always run dual cpu's with dual cores. It's all about packing more power into less space using less electricity for less money.

      I'm all for it.

    11. Re:Ah... history fails to be remembered again... by Anonymous Coward · · Score: 0

      Yeah! In Windows you could totally have one core dedicated to running that CPU hog "System Idle Process" that's totally sucking up like, 95 percent of my available CPU time right now!

  11. 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
    3. Re:Yes, we need quad cores by Decimal · · Score: 1

      But I don't want individual applications full of code to take care of tasks using multiple processors. I want a few rather powerful processors running single-CPU applications, and the operating system doling out the work.

      --

      Remember "Bring 'em on"? *sigh
    4. Re:Yes, we need quad cores by Anonymous Coward · · Score: 0

      CAD, Animation, Scientific? Yes, but 1% use.

      The real reasons we're gonna need these cores are: GAMES, GAMES, GAMES!
      Pretty much all other home use is not CPU bound anymore
      (except for the odd movie re-encode).

    5. Re:Yes, we need quad cores by Bill+Wong · · Score: 1

      That is what CPU affinity is for...
      Just set which CPUs you want each process to use...

    6. Re:Yes, we need quad cores by InvalidError · · Score: 1

      Going for wider multithreading cores would have a similar effect.

      After multi-threading becomes commonplace, CPU manufacturers could drop branch prediction and related fancy logic: simply defer issuing instructions from the reorder buffer until all dependencies are resolved or guaranteed to be by the time they are used. With 4-8 threads, the execution pipeline would be operating at maximum throughput under most circumstances. Such a CPU would have abysmal performance on conditional branches but would also approach 100% processing efficiency (no wasted work or idle cycles) in extensively multithreaded environments. Getting rid of all the speculative stuff would probably extensively simplify much (and completely eliminate some) of the management logic.

    7. Re:Yes, we need quad cores by EvanED · · Score: 1

      What if you're doing one lengthy task though?

      Like for instance, currently my CPU is running at about 90% idle. Let's say I add another CPU or another core. I want to encode a video. If the codec can't take advantage of the fact that I have two CPUs/cores at all, it's gonna sit there using 100% of one processor (assuming the OS is even smart enough to never context switch it out) and the second CPU/core is gonna sit there at 90% idle.

      If the codec could take full advantage of my two processors, the time to encode would take a little over half as long.

      The same can be said for a lot of other applications too.

    8. Re:Yes, we need quad cores by EvanED · · Score: 1

      What about applications where substantial parts are inherently sequential?

      Also, I'm not sure that even ignoring that if you'd get the performance benefits you claim. You're ignoring the overhead of switching threads for instance. Just in that process, you've got a nice collection of branches. Even if you were talking about lightweight application threads (instead of OS threads), the overhead of changing threads at each branch would more than negate the reduction of complexity brought about by the omission of branch prediction. (Remember that conditional branches are extremely common. The number that comes to mind is, on average, every 6-8 instructions there's a conditional branch, though I don't know if this is on RISC, CISC, something like the P4, even expressed in a high-level language, etc., or even if it's right.)

    9. Re:Yes, we need quad cores by EvanED · · Score: 1

      Rereading this, I'm not sure if you meant that instead of waiting for a branch to resolve it could start working on another thread; if you didn't, please ignore my other reply.

      On the other hand, I don't see any other way to achieve what you suggest.

    10. Re:Yes, we need quad cores by InvalidError · · Score: 1

      What about applications where substantial parts are inherently sequential?
      If you need to run this sequential task multiple times, an SMT CPU can run multiples of it simultaneously. Alternatively, the sequential task could be split into sub-parts with some threads handling each stage to optimize overall RAM/IO access patterns and limit cache trashing.

      Also, I'm not sure that even ignoring that if you'd get the performance benefits you claim. You're ignoring the overhead of switching threads for instance.
      I was proposing trading single-threaded performance for multi-threaded throughput and efficiency by widening hardware simultaneous multi-threading (SMT) to something like eight-ways. (Intel's HyperThreading is two-ways SMT)

      On an eight-way SMT CPU, up to eight threads can be running concurrently within one physical CPU, with the OS/apps seeing eight logical CPUs. Because threads have no (or very few) interdependencies, it should be very easy to keep the CPU's execution pipelines filled and producing only useful results.

      With current x86 CPUs, cache misses and branch mispredicts cause lots of work to be wasted and duplicated. On a CPU that sacrices single-thread performance, it would be possible to practically guarantee that every cycle would produce the maximum amount of useful work, no duplicate, no waste, very few idle or sub-optimal cycles.

      Since this threading stuff is occuring within the CPU, the OS's thread-switching does not apply - the part discussed here is HARDWARE threads. If anything, this could REDUCE the actual number of context switches since the OS would have many virtual CPUs to dispatch threads to, meaning it would have to boot threads off a virtual CPU less often.

      Again, such a CPU would be so-so for single-threaded stuff and really if that stuff happened to be branch-heavy... but it would be a marvel for massively multi-threaded environments.

      on average, every 6-8 instructions there's a conditional branch
      So, 6 instructions * 8 threads = 48 instructions to toss around while waiting for some dependencies to be resolved. The likelyhood that all eight threads would simultaneously stall on a branch or RAM/IO is very low. Even if half the threads stall on something, the remaining half should still be able to provide enough OPs to keep the execution pipelines loaded.

      I'm not sure if you meant that instead of waiting for a branch to resolve it could start working on another thread; if you didn't, please ignore my other reply.
      What SMT means is that the CPU is working on multiple threads simultaneously. The more hardware threads there are, the more likely the CPU would be to find something else to do while it waits for dependencies to be resolved, reducing wasted cycles and reliance on killer branch predictors, memory prefetching and other fancy tricks necessary to maximize single-thread performance. My bet is that with enough thread-level parallelism, most of these tricks could be dumped... only instruction reordering buffers and the renamed register file would still be absolutely necessary.

      On the other hand, I don't see any other way to achieve what you suggest.
      You obviously misunderstood the nature of my proposal - you have mistaken OS threads and hardware (SMT) threads... though related, they are two very different matters.

    11. Re:Yes, we need quad cores by Fallen_Knight · · Score: 1

      can you even do that in windows?

    12. Re:Yes, we need quad cores by Bill+Wong · · Score: 1

      Of course you can. It's an option in the task manager. See here for an example.

    13. Re:Yes, we need quad cores by Burz · · Score: 1

      I think naysayers are overstating the issue.

      When you write power-hungry code, you and all of your users feel the pain so the motivation to support multithreading is high.

      Look at a free decoder/encoder suite like FFmpeg: it supports multithreading for the most popular formats.

      Look at the background project I use to keep my CPUs busy: ClimatePrediction.net . It supports multithreading through the BOINC infrastructure.

      If I throww more CPUs at these intense tasks, they will be used. If I throw more CPUs at office software and small utilities, well I see no substantial diffrence in performance because these tasks are boring for even one CPU.

    14. Re:Yes, we need quad cores by EvanED · · Score: 1

      Okay, I see what you're saying.

      The only time I really encountered SMT (apart from "Pentium 4: now with hyperthreading!" ads) was during a 15 minute discussion of a research problem I could have worked on, so it hadn't crossed my mind. I appreciate your discussion of it.

    15. Re:Yes, we need quad cores by InvalidError · · Score: 1

      Glad to have cleared that up.

      BTW, about doing context switches on conditional branches, a context switch costs ~1k cycles, a cache miss costs ~100 cycles and a mispredict costs 10-20 cycles. Adding a mechanism to signal the OS to swap threads on misses and mispredicts would, as you said (but in other words), be insane :)

    16. Re:Yes, we need quad cores by cduffy · · Score: 1

      That's not such a bad thing. It's quite nice still having your system be actually usable while you have a big, CPU-intensive task running in the background. Likewise, [real-world example] when Oracle screws up on one of the servers at work and starts using 100% CPU, it's rather nice that it doesn't bring the whole system to its knees (and incite the customer to call support rather than support noticing it first in their server-monitoring tool).

    17. Re:Yes, we need quad cores by Fulcrum+of+Evil · · Score: 1

      If the codec could take full advantage of my two processors, the time to encode would take a little over half as long.

      The codec should have no concept of threads - the correct place for thread management is at the top of the encoding process, where video is chunked out. For instance, you could set up your codec to mpeg-encode a 1-hour video i n5 minute segments, then ensure that there are n threads each encoding a segment, one per processor. You could also note that the data or cache requirements for that sort of thing exceed your hardware specs and scale back the thread count, thus achieving similar performance without tying up as many resources.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    18. Re:Yes, we need quad cores by EvanED · · Score: 1

      I agree that there are plenty of situations where you would favor response time over throughput, but surely you can concede that there are times at which it would be nice to have your computer working at its full potential and not restricted somewhat arbitrarily.

      If I were a video production house and have a rendering farm set up, I wouldn't gonna care if the machines are usable; I'd want them to be working at full load. And if the time comes when the only chips that are offered are dual or more core, I'd be pretty pissed if the software was only able to operate half as fast as it could.

    19. Re:Yes, we need quad cores by cduffy · · Score: 1

      [S]urely you can concede that there are times at which it would be nice to have your computer working at its full potential and not restricted somewhat arbitrarily.

      Of course.

      If I were a video production house and have a rendering farm set up, I wouldn't gonna care if the machines are usable; I'd want them to be working at full load.

      No doubt. But even then, you wouldn't need your software to be able to split the load of rendering a single pixel, or even a single row of pixels, over the four CPUs -- rather, you could run four separate instances, each working on a different frame or set of rows, with another process to recombine the results; this provides the desired benefit, without the need for multithreading.

      I vaguely recall POV having such functionality years ago.

  12. No more Mhz! by MrPerfekt · · Score: 1

    Since we seem to have hit a wall as far as ramping up the actual clock speeds of processors, adding more cores so the processor can do more work will be where Intel and AMD will be focusing their development the next few years. So yes, we do need more cores otherwise Intel and AMD will have a hard time selling you a chip that's only 3-5% faster.

    --
    I just wasted your mod points! HA!
    1. Re:No more Mhz! by kwerle · · Score: 1

      Speed isn't all about speed. Though I'm a hardware simpleton, I do wonder if we'd be better off (after 2 cores) with simply adding a ton more cache.

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

    3. Re:No more Mhz! by timeOday · · Score: 1
      I do wonder if we'd be better off (after 2 cores) with simply adding a ton more cache.
      They already did - the P4 "Extreme Edition". Turns out it's a waste of silicon.
    4. Re:No more Mhz! by Anonymous Coward · · Score: 0

      Pehaps most Slashdot readers are desktop oriented, but sometimes much more cache really help. We recently upgraded to PA-RISC 8900 CPUs which have 64MB L2 cache and it helped more than I had expected in our large SMP database servers.

    5. Re:No more Mhz! by True+Grit · · Score: 1
      I do wonder if we'd be better off (after 2 cores) with simply adding a ton more cache.

      I'd say we won't be better off until we get some breakthroughs in memory and disk storage technology. They are the bottleneck that cache is meant to ameliorate but as long as the CPU keeps getting faster relative to the RAM, the problem only gets worse. Why does AMD's chips perform better than Intel's? One of the reasons is they moved the memory controller onto the CPU for speed, that's just one sign of where the real problem is: our RAM needs to get off its butt and get a move on!

  13. multicore core vs cells by Anonymous Coward · · Score: 0

    Ho ho, a battle of multicore processors versus cell processors we will have.

  14. Evolution by Garrett+Combs · · Score: 1
    "...so do we really need the extra cores?"
    Once chips start being produced with multiple cores, I think software developers will utilize the technology and run with it. 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?
    --
    Insert witty Slashdot sig here.
    1. Re:Evolution by rsynnott · · Score: 1

      But it WILL benefit the software. One of these will make a server go four times as fast as it would with a single core chip. It's of little use to gamers (nor are dual-cores) but of lots of use to others.

      --
      Me (Blog)
    2. Re:Evolution by Jeff+DeMaagd · · Score: 1

      Game software will eventually take advantage of multiple cores. I doubt Microsoft would be paying for a three core PPC for XBox2 if it didn't make a worthwhile difference.

      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.

    3. Re:Evolution by rsynnott · · Score: 1

      Of course it will (game software). But at the moment it doesn't. I was just commenting on the constant complaints from people that multi-core systems are useless because they don't run those people's chosen applications.

      --
      Me (Blog)
    4. Re:Evolution by Forbman · · Score: 1

      But it's been there for at least... oh, 10 years (on WinTel). My 2-CPU Gateway 650 server benefits from even the multi-threading in NT 4.0.

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

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

    6. Re:Evolution by jericho4.0 · · Score: 1

      It's a huge benefit to gamers, if the games take advantage of them.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  15. Good... by jawtheshark · · Score: 1

    I think I'll start saving for a quad system, featuring quad core-cpu's.... ;-) Hey, I don't know what all this thing is about "modern applications not supporting Hyperthreading". First Hyperthreading is a ugly hack not comparable to real SMP, and second: running more than one application will have an advantage when having multiple CPU's. I was astonished with the difference when I first had a (non-dual core) SMP machine. I wouldn't want to go back. Now, if I could get SMP laptops ;-))

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:Good... by jbridge21 · · Score: 1

      They're not exactly "laptops", but people do make SMP "portables"...

      intel
      ultrasparc

    2. 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
  16. Fcuk Yeah by Anonymous Coward · · Score: 0

    You can never have too much interCORES.

  17. Socket 6000, anyone? by kc32 · · Score: 1

    Isn't there some limit to how much you can increase performance by just putting in more cores? And besides, if they get up to 32 cores, that thing's going to be huge, not to mention needing a huge heatsink and fan.

    1. Re:Socket 6000, anyone? by rpozz · · Score: 1

      Yes, there is. Unless you use NUMA (where there are seperate banks of RAM), memory bandwidth is going to be more of a problem as you increase the number of cores. And yes, as you said, there's going to be more transistors, which will lead to more power consumption and heat dissipation.

    2. Re:Socket 6000, anyone? by platypus · · Score: 1

      Multi Proc Opterons are NUMA. And it don't need to be "seperate" banks of RAM in the way that Proc1 cannot talk to MemoryBank2, it's just that it has a bigger latency (or maybe even throughput, though I think this is very rare).

    3. Re:Socket 6000, anyone? by Anonymous Coward · · Score: 0

      What are you getting at exactly? The parent post only mentioned that NUMA uses separate banks of RAM, not that they couldn't be read by either CPU.

  18. 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 Anonymous Coward · · Score: 0

      That agreement only applies to x86 technology. For example, AMD couldn't follow Intel's lead when it designed a new slot system for the Pentium II, so AMD licensed the EV6 (Alpha) bus from DEC, using a physically identical slot, more or less (as it turns out), but with a completely different electrical and logical specification.

    3. Re:Intel working on silicon laser to link cores by PitaBred · · Score: 1

      Except not really. Intel doesn't have the SOI tech that AMD has been using lately to keep power usage down. They only cross-license when they absolutely have to... it is competition, after all.

    4. 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
    5. Re:Intel working on silicon laser to link cores by AaronMB · · Score: 1

      don't the SOI tech patents belong to IBM?

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

    7. Re:Intel working on silicon laser to link cores by be-fan · · Score: 1

      Intel does have rights to that SOI tech, they've just got their own process. AMD and Intel have a complete patent cross-license. So if Intel patents this technology, AMD can use it.

      --
      A deep unwavering belief is a sure sign you're missing something...
    8. Re:Intel working on silicon laser to link cores by Anonymous Coward · · Score: 0

      >> Under the same agreement Intel gets to use AMD's AMD64 instruction set and call it EM64T.

      Not true.
      Another slashdotter making up stuff and getting +5 :( sigh....

    9. Re:Intel working on silicon laser to link cores by Anonymous Coward · · Score: 0

      Last I've heard, Intel's Si-laser was laser-pumped, not electricaly pumped.

      So if I already need to have a laser (on the optical axis) of my Si-chip in order for the Si-laser to work ... what do I need the Si-laser for?

      GaAs and InP based lasers all work just by dumping current into them. Doing this with Si would be a breakthrough.

    10. Re:Intel working on silicon laser to link cores by Bedouin+X · · Score: 1

      The EV6 whipped ass too, so it's possible that there was another reason.

      --
      Dissolve... Resolve... Evolve...
    11. Re:Intel working on silicon laser to link cores by Anonymous Coward · · Score: 0

      More cores is great, but they all have to go to the same memory for instructions and data. There's a limit to how fast this can make the machine. Intel could use lasers to link together separate CPUs, each with its own memory, but that's no breakthrough, PCI and Ethernet let you do that now. Not all apps parallelize well, and parallelizing apps is difficult in any case, so Si Lasers are not likely to yield a big breakthrough in performance.

    12. Re:Intel working on silicon laser to link cores by Anonymous Coward · · Score: 0

      AMD and Intel have agreements with x86, not about how they can physically create chips!

    13. Re:Intel working on silicon laser to link cores by wfberg · · Score: 1
      No, because AMD and Intel crosslicense their patents.


      What? Not all of them silly.


      Apparently, all except direct copies of intel chips and the cpu-bus, at least until 2011. They first cross-licensed across the board (except for the pentium design) in 1995 over anti-trust concerns.

      --
      SCO employee? Check out the bounty
    14. Re:Intel working on silicon laser to link cores by maraist · · Score: 1

      Not all apps parallelize well, and parallelizing apps is difficult in any case, so Si Lasers are not likely to yield a big breakthrough in performance.

      Ok, imagine this. You put on one machine, a database, a java server on another machine running with 500 threads, and an apache server on still a 3'rd machine with mixed mode multi-threaded, multi-processed operation (to facilitate a hetero-genous php, perl, static-file, java proxied, https'd environment). This is a simple e-commerse web site.

      What is the advantage of putting this on one machine? Reduced latency. Tremendously reduced administration. Now what about fail-over? Ok, you build two identical machines and clustering techniques. Now you have two mirror machines (now tremendously easy to administer).. You give up some performance in clustering, but you have no single point of failure. Compare that to the usual standard of having a single database machine with a clustered web environment.

      Having one (two) machines means reduces UPS, heat, administrative, power, etc requirements. This is what blade servers are all about, but even better.

      Now it is entirely likely that multi CPU machine will be slower in through-put than two independent but chained computers (web + application + DB machines). But the latency is certainly traded in this situation. To compensate, it it likely that having a few unique instruction sets (httpd, JVM, DB-code) will live in common sufficiently larege cache enviornments, thus the competition for resources may be minimal enough to not be negative.. Moreoever, UNIX sockes are significantly faster than TCP sockets even on a local machine, to say nothing of the latency rich network connection.

      Ok, so what about non mainframe style "small work, LOTS of jobs" operation? Take a work-station, where you have 20 major applications sitting mostly idle, but taking up enormous resources. The work-station process involves one or two major applications being active at a time, but constantly switching between them. If there is a single CPU, then there is a high probability that one will be performing background activity.. Especially for things like compilation, where you'll switch to another task while waiting. Even if a particular task has a max number of practical CPU's that it can fully utilize, having a "spare" idle CPU is GREAT for task switching.. There is no delay in contexting IN one application while either contexting out the old app, or simply keeping it active until it's finished it's current task. Granted some switching occurs 60 times a second on single CPUs, how much of that work can be avoided by not having to even switch out a task for a 32CPU environment. Taking two apps running concurrently on a single CPU always runs slower than running them sequentially. So such environments, even if only giving a small percentage gain on average can still provide a happier user experience.

      Finally, take the end-user desktop environment. As other's have pointed out, innovation has typically lagged proliferation. 3D games didn't take off until we have 5 different standards in hardware video-acceleration. Eventually voodoo stood out from the pack and dramatically increased the bravery of game makers, since there was a legitimate market to show-case incredible features , while backing down to the lesser capable graphics standards.. Eventually nVidia gave validation to the DirectX standard, and after quality issues were practical to overcome, that market exploded; building upon itself; faster features, more supported software..

      Today multi-threading on the desktop exists PURELY for user-responsiveness, not for performance, since 99% of all desktops are single-threaded. We now expect that the menu for an application should continue operating even when it's doing some intensive task. In fact, we feel upset with software that does not adaquately thread their UI. This is because that's all that's really possible with single-CPU hardware.

      But if you take mainframe/server

      --
      -Michael
  19. We need more power! by Lokni · · Score: 4, Funny

    1.21 Jigawatts!

    1. Re:We need more power! by Wicked187 · · Score: 1

      1.2 Jigahertz!

      --
      Politics, Life, and More on my Aspiring for the Future
    2. Re:We need more power! by Gaewyn+L+Knight · · Score: 1

      Where on earth are they going to get a 'Mr Fusion' at this time of the century?

      Or is that why those cold fusions stories are popping up these days?

      --
      Telcos have alot of dark fibre in the States. Most people assume that's optical fibre...but it's actually moral fibre.
    3. Re:We need more power! by conchobar0928 · · Score: 1

      I was actually once caught speeding at 88 MPH, believe it or not. The officer didn't believe me when I said I forgot something at home and was trying to travel back in time to get it. Asshole.

  20. Hyperthreading is not easier than multicore. by Ninja+Programmer · · Score: 1
    [...] but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?
    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.
    1. Re:Hyperthreading is not easier than multicore. by mrm677 · · Score: 1

      Wrong. The communication latency with SMT and CMPs is much much lower than that of SMPs. This means that programs with fine-grained granularity will actually exhibit a speedup rather than a slowdown.

      If you've ever written parallel codes for an SMP, this happened quite frequently. In fact, I'm familiar with programs where the programmers couldn't crack the problem and ended up running their multithreaded parallel code on a single processor to get the best performance.

    2. Re:Hyperthreading is not easier than multicore. by Nevyn · · Score: 1
      Wrong. The communication latency with SMT and CMPs is much much lower than that of SMPs

      Yes, you are. If you care that much about communicating between threads you've already lost. Many good multi-tasked applications run communicating as little as possible (all communication is a serialization point), here multiple cores means you can run two real tasks, while "hyperthreading" means you can run two tasks at a little over 50%.

      Consider Apache-httpd, it gets basically nothing from "hyperthreading" but goes almost twice as fast (mostly limited by OS level scheduling) with multiple cores.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    3. Re:Hyperthreading is not easier than multicore. by mrm677 · · Score: 1

      Yes, you are. If you care that much about communicating between threads you've already lost. Many good multi-tasked applications run communicating as little as possible (all communication is a serialization point), here multiple cores means you can run two real tasks, while "hyperthreading" means you can run two tasks at a little over 50%.

      Dude, go take an architectural class. The idea behind Symmetric Multithreading (SMT) is that the majority of real programs do not achieve the IPC (instructions per cycle) that the processor is capable of giving. Things like cache misses, branch mispredictions and other long latency events cause the processor's functional execution resources to go unused. However while one thread is block, other threads can be scheduled. The only time that SMT (or "hyperthreading") will hurt you is if both threads are running near-optimal and could fully utilize the function units by themselves. In practical terms, there are other effects from SMT such as cache pollution, but these are often second-order.

      Regarding communication, well yes, if you take some parallel programming or architecture classes you will learn about the communication to computation ratio. Simply put, if a parallel code spends more time communicating than computing, then you will not see a speedup. However a SMT or CMP lowers the communication portion of that ratio by at least an order of magnitude.

      You do know that Apache is not compute-bound. Therefore SMT works quite well with Apache because threads typically spend most of their time waiting for cache misses and I/O.

  21. Intel will have to get their act together by rsynnott · · Score: 1

    And use something other than the FRONT SIDE BUS, for goodness sakes, to join their cores...

    --
    Me (Blog)
  22. 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 NitsujTPU · · Score: 1

      Righteo! Multiple cores are a good thing! I entirely missed that angle when posting my initial reply to this poster, but you hit the nail on the head here.

      I also feel that I made a strong argument, that threads are simple to implement, and therefore are possibly much more prevalent than the poster feels. If they aren't they may become so soon.

    3. 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?
    4. Re:Doesn't have to be threads by Anonymous Coward · · Score: 0

      Threads aren't simple to implement by a long shot, and due to a little thing called Amdahl's law, you're limited in the performance you can extract on any given workload.

      That said, there's a lot of simple uses for threads which can often get you a lot of bang for your buck, even if it's not fully concurrent programming with mutexes out the wazoo (which most programmers aren't trained for, and it's not all that easy to pick up, so we'll probably see a lengthy transition period as programmers retool their skill sets--those of us with the foresight to see the writing on the wall, or have been involved in scientific applications, have already made the jump, though).

      Also, the thing about Amdahl's law is that it describes the speed-up for a particular workload. A lot of the things that take lots of CPU power today are things that are easily parallelizable, and where we can scale the workload to the processors.

      For example, video encoding is essentially just applying the compression algorithm to lots of pixels in parallel, something which can easily double in speed with a good implementation on a dual core CPU. Games will also benefit a lot, because you can now throw even more processing power at AI, physics, etc. which benefit from parallelism.

      About the only applications which don't benefit from CPU parallelism are those which are strictly I/O bound, which by definition are restrained by the I/O devices anyway, so there's no way to speed those up by even throwing in a billion gigahertz processor. Things like word processing, where the limit is how fast the human user can type in words--we've long gone past the point where computers are more than fast enough.

      To see where we're going, just look at the high performance computing sphere, and imagine having a thousand node supercomputer on a chip. Just think of the kind of games you can program with that much computing resource, or any other application.

    5. Re:Doesn't have to be threads by Anonymous Coward · · Score: 1, Informative

      If only that were true for Intel's first gen dual-core. Intel "cheated" with their first gen and they truely are independent cores that do NOT share the L2 cache. I.e., they connect together via fsb just like two sepeerate cores would. The BIG advantage is that it's cheaper to buy the dual core chip rather than two seperate cores.

      Intel does have plans to do the shared cache stuff like AMD, but they aren't there yet.

    6. Re:Doesn't have to be threads by Isauq · · Score: 1

      On a related note, the Pentium D's are limited to 800MHz FSB right now because 1066 wasn't stable. I think line noise was the culprit, though I could be wrong.

      --
      RTFM
    7. Re:Doesn't have to be threads by Nasarius · · Score: 1
      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.

      To be fair, decent OSes (Linux, the BSDs, etc) can handle this situation on a single processor without freezing. It's just a matter of doing scheduling and preemption properly.

      --
      LOAD "SIG",8,1
    8. Re:Doesn't have to be threads by timeOday · · Score: 1
      That's purely an OS problem.

      Heck if static partitioning of processing resources were a good idea, they'd build it into the OS - "allocate this process at most 50% cpu time." But there's no advantage to that approach over process prioritization.

    9. 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.
    10. Re:Doesn't have to be threads by evilviper · · Score: 1
      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.

      And if that "stupid app" was fully threaded (as many apps will eventually become), it would have been using up 100% CPU power on BOTH CPUs, thus removing the benefit of SMP.

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

      Yes, but do you think they want to be maxing-out 50% of their processor with the game, and having the other 50% mostly idle? No, they want to have all the performance they can get for that game.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    11. Re:Doesn't have to be threads by repvik · · Score: 1

      Haha. That reminds me of the time someone managed to fool me into running a process that consumed 100% cpu. On my single cpu desktop, it'd kill it. But I was sitting on my dual cpu workstation, so I had more than enough cpu power to see which task went haywire and kill it. Malicious app with lousy design.. Didn't account for multiple cpus ;-)

    12. Re:Doesn't have to be threads by Anonymous Coward · · Score: 0

      Me too, traded in an P4/HT 2.8ghz for an overclocked a64 250x10 ddr500 cl2, and even though the a64 is 'teh b0mb' in games and throughput, I miss the responsiveness of my old P4 rig.

  23. Are more cores like hyperthreading? by yderf · · Score: 1

    Could someone explain to me what the benifit of more cores is vs. hyperthreading?

    I was under the impression that it much more like a multi-CPU machine. So wouldn't the use of the cores primarily be an OS thing anyhow? So as long as the OS is taking advantage of it, why not just keep adding them?

    Again, I'm not sure of the differences.

    1. Re:Are more cores like hyperthreading? by BlogPope · · Score: 1
      Could someone explain to me what the benifit of more cores is vs. hyperthreading?

      Simple. Hyperthreading is a trick to keep very deep CPU pipelines full, but at the end of the day, its executes 1 instruction per clock tick. With SMP/MultiCore, the system can do n instructions per clock tick. On a simle level, there are n little gnomes with calculators on an n-way SMP/Multicore chip, instead of 1 gnome with two INBOXes on a hyperthreading chip.

      Of course, technically its more complicated, and I'm completely wrong. but why bring reality into my gnome fanatsy...

      --
      My other car is a Popemobile
    2. 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).

    3. Re:Are more cores like hyperthreading? by VTS · · Score: 1

      "The downside is that some applications will not function correctly"

      You mean like when we got new computers at work and found that VC++6(bleh) sometimes freezes when linking? That had us scared until I disabled the hyperthreading...

      --
      --- No 16-bit support in Vista? Half of our modules still use it! ---
    4. Re:Are more cores like hyperthreading? by jusdisgi · · Score: 1

      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

      I question whether this is really true anymore. I don't know the story in Windows so I'll just ignore it. But in Linux, my understanding was that late-model kernels put in all the SMP spinlocks and interupt mojo into the single-proc kernel anyway...the vaunted "preemptive kernel patch" that made so much noise in the mid-2.5 series. In such a case, doesn't that mean that the loss in throughput from "SMP overhead" would also be evident in single-proc machines, and thus not amount to a loss in performance in a dual situation?

      I don't know. But it seems worth checking out.

      Also, note I said "throughput" which is the more precise version of "speed" that I took to be your meaning. And this raises another important point. First, as most of us know, SMP systems kick total ass for responsiveness...although the difference is much less noticable now, due to that same preemptive kernel patch (PKP from now on) and some others. So it's only the throughput that might be adversely affected. And this I would expect would be just as affected by the PKP as by having SMP. This is notable because I believe I read a Linux Journal article from the mid-2.5 period that involved testing both latency and throughput with and without the PKP. The author expected to see much-improved latency and slightly degraded throughput. But in actuality he found that both latency and throughput were improved. His explanation was that the spinlocks were actually helping throughput by allowing the kernel to quit processing when it wasn't necessary anymore, where without the PKP it would have had to continue through the execution for much longer.

      It's been a while now since I read through that, but it suggests to me that under a lot of load types throughput may actually be better than 2:1 for a dual:single comparison, if the comparison is a single-proc machine without PKP and a dual-proc machine with SMP. And the same logic would suggest that a single-proc PKP-enabled machine would deliver exactly half the throughput of an SMP machine.

      Obviously, this ignores all other system components and bandwidth issues.

      --
      Given a choice between free speech and free beer, most people will take the beer.
    5. Re:Are more cores like hyperthreading? by Mad+Merlin · · Score: 1
      ...my understanding was that late-model kernels put in all the SMP spinlocks and interupt mojo into the single-proc kernel anyway...the vaunted "preemptive kernel patch" that made so much noise in the mid-2.5 series.

      Taken from the info section on the SMP option in the kernel config (and I'd hope the kernel guys know what they're talking about!):

      If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here.

      Also note that I do have the preemption option turned on in this example, but the SMP option still shows up. That and the above info would strongly suggest to me that there is code taken out if you're just running a single processor. I could be wrong, but I don't think preemption and SMP are that closely tied.

  24. Apple cores. by Anonymous Coward · · Score: 0

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

    Of course a core a day, keeps Linux at bay. :)

  25. wicked by howman · · Score: 1

    A computer that will burst into flame without being /.ed first... I want one.

    --
    flinging poop since 1969
    1. 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.
    2. Re:wicked by bcmm · · Score: 1

      "Oh no! We're being Slashdotted!

      Oh, nevermind, that was just the bootup..."

      --
      # cat /dev/mem | strings | grep -i llama
      Damn, my RAM is full of llamas.
    3. Re:wicked by doc+modulo · · Score: 1

      The Erlang language is ideal for multi-core processing because it's very easy to spread a program out over multiple cores with it.

      And from the site's FAQ:
      3.3. Which licence is Open Source Erlang shipped with?

      The Open Source Erlang Licence is essentially the Mozilla (Netscape) Public Licence with a few modifications to make it compatible with Swedish law.

      As far as I understand, this means you can obtain Erlang for free, use it to build cool systems and sell them without Ericsson coming around to charge you money. For an authoritative statement, you'll need a lawyer.


      It's open source!

      I'm guessing the Mozilla Public Licence is open source enough. Can anybody tell me if there are any problems with the Mozilla Public Licence or the licence of Erlang?

      As far as I can see, if the open-source community needs a replacement for C, then Erlang or mono would be best. Both their licences are open-source. And Java's Licence isn't.

      I want you guys to tell me if this is correct:
      - Use Mono C# language and runtime if you want an open-source modern language without buffer overflows and a virtual machine that runs on multiple OSs.
      - Erlang to use something with the same features as Mono and if you want to run a single program at full speed on multiple processors(cores) and if you don't mind programming in a functional" programming language.

      --
      - -- Truth addict for life.
  26. 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.

  27. Cores by sub7 · · Score: 0

    1 core, 2 cores, 32 cores, OH MY!!

    I think it's great now that the hardware industry (more specifically AMD) is sitting around tapping their fingers waiting for the software industry to catch up. I'm sure the OSS community will be among the first to support the new chips from AMD. (unlike Redmond.) *cough* Saa-weeet! ;)

    - j

    --
    rm -rf /bin/laden
    1. Re:Cores by LurkerXXX · · Score: 1

      And exactly why do you think OSS will support the new chips before Microsoft? Multi-core chips are basically just SMP systems. Microsoft 2003 Server Datacenter Edition already supports 64-way SMP. Why don't you think they'd support these new AMD chips quickly?

    2. Re:Cores by Anonymous Coward · · Score: 0

      Maybe he doesn't. Maybe he's just karma-whoring. It is afterall pretty easy to play the fanboys here and get yourself modded up.

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

    2. Re:Too Many Cores = Unbalanced Design by platypus · · Score: 1

      One of the reasons might be that this is just an answer to SUN's whitewashing of their inability to deliver a competitive Sparc CPU by hyping their Niagara multi-core thingy.
      If you read the related slashdot threads, you see many people selling Niagara as the move with which SUN will regain domination in hardware - just by putting 16 underpowered core on one die.
      Hopefully with AMD showing (in the future) that they can also do this, but by utilizing competitive cores, it will be clear to anybody that SUN's stuff is just a marketing fluff.

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

    1. Re:To take advantage of this in the PC: by cyber1kenobi · · Score: 1

      I agree - Intel's numbers game that they've been playing for years makes me sick. There are so many other bottlenecks that need to be addressed before pouring on more processing power. Hyperthreading is a marketing joke, dualcore is a marketing gimmick, it's all a joke!

      --
      Do or do not. There is no try. --Yoda
    2. Re:To take advantage of this in the PC: by VoidWraith · · Score: 1

      Definitely. The processor may sell the system to a business, but to get real performance, the whole of secondary storage, and even primary storage, need to be improved.

  30. Hell, I'm a Gentoo User! by Anonymous Coward · · Score: 0

    MAKEOPTS="-j12" or whatever, I'd got for it! :)

  31. More Cores == SW vs Hardware accounting war by team99parody · · Score: 1
    Lots of expensive software vendors are pricing expensive software (like SQLServer's "enterprise" version at $40000/CPU) on a per-CPU, not a per-core basis.

    Multiple cores on a single chip is extremely important if you buy such sillily licensed software.

    1. Re:More Cores == SW vs Hardware accounting war by enosys · · Score: 1

      If chip makers keep putting more and more cores on a CPU some of those companies might re-examine their pricing.

    2. Re:More Cores == SW vs Hardware accounting war by Mattsson · · Score: 1

      Correct me if Im wrong here, but doesnt Oracle charge a 2 cpu licence if you want to use hyperthreading on a single cpu already?
      So multicore-cpus would not be a cheap way to get SMP in that case...

      --
      /.Mattsson - My native language is not English, so please don't whine over linguistic errors. (That's lame anyway...)
  32. 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.
    1. Re:What's on your CPUs? by Soul-Burn666 · · Score: 1
      More like:
      • CPU 0: Windows Update
      • CPU 1: Virus scanner
      • CPU 2: Some random trojan
      • CPU 3: Solitaire

      --
      ^_^
    2. Re:What's on your CPUs? by Anonymous Coward · · Score: 0

      Actually, that would be useful for me...

      Core 0: Databases (SQL server, PostgreSQL, MySQL)
      Core 1: Web Servers (Apache 2, IIS 6, G6 FTP Svr, ...)
      Core 2: Encoding some mpeg4 (XviD)

      and while I have all my background stuff taken care of with CPU 0/1 and my CPU intensive stuff taken care of Core 2, I could still use Core 3 for VS.Net or Photoshop.

      I'd get one, but the damn thing is probably gonna cost 5000$

    3. Re:What's on your CPUs? by fr2asbury · · Score: 1

      No, Any Star Wars movie with that title would have to be divisible by three. Let's break it down.

      1 and 4 - Somewhat mysterious titles. Just something that is. Generally opposite of each other 'The Phantom Menace' and 'A New Hope'
      2 and 5 - Attack! These titles will generally include elements of action 'The Attack of the Clones' and 'The Empire Strikes Back'
      3 and 6 - The resolution. These titles involve people on one side of the force or another coming back. Either in the form of revenge or just plain returning from the ether. 'The Revenge of the Sith ' 'The Return of the Jedi.'

      So you see a title like 'The Revenge of Jar-Jar' would have to be episode 9. Episodes 7 and 8 would have titles like 'The Craptacular Gungan' and 'Star Wars Fans Strike First' respectively.

    4. Re:What's on your CPUs? by JungleBoy · · Score: 1
      • CPU 3: Useful work.
      You mean porn, right?
      --
      "You never know when some crazed rodent with cold feet might be running loose in your pants."
      -Calvin
  33. Must all write-ups include a BS controversy? by xigxag · · Score: 1

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

    Now.

    --
    There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    1. Re:Must all write-ups include a BS controversy? by ccoakley · · Score: 1

      It's particularly BS because most of the programs I run *are* multi-threaded. So they already have the ability to hyperthread. It's not even a chicken-and-the-egg problem as some have commented. It helps most applications right now. Ok, so grep isn't threaded, but runing ps | grep foo does run as two processes and is helped by a dual core (or hyperthreading, or multiple CPUs).

      --
      Network Security: It always comes down to a big guy with a gun.
  34. Hyperthreading by NitsujTPU · · Score: 1

    I apologize, I thought that hyperthreading merely referred to moving capabilites to the CPU that are normally realized in the OS.

    To that end, I thought that hyperthreading was merely a hardware implementation of threading, as is normally provided by the OS.

    Is this an incorrect assertion?

    If it is a correct assertion, is it true that most software does not make use of multi-threading?

  35. Wonderful! by Karl+Cocknozzle · · Score: 1

    You can get your XP-box rooted that much faster. Just think how efficiently Joe Sixpack can finally work on his system while the leeches of the internet get their share too! It is about time...

    (/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-core chips on a blade.)

    --
    Who did what now?
    1. Re:Wonderful! by NetCow · · Score: 1

      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...)
      Essentially, yes.
      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-core chips on a blade.)
      Obviously, yes.

  36. 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"
  37. a subtle yet fundamental change by Toby+The+Economist · · Score: 1

    It's more a case of it's the only way forward.

    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 insufficiently descriptive to permit compilers to generate usefully multi-threaded code.

    Either the programmer must take responsibility for such behaviour, or new languages are required. A subtle yet fundamental change is on the way; we're about to shift from the single-threaded approach to the multi-threaded approach.

    --
    Toby

    1. Re:a subtle yet fundamental change by gstovall · · Score: 1

      You mean for everyday PC software, right?

      Programs written for servers and big iron have been multithreaded for many years. Certainly every program I've written in my professional career (20 years and counting) has been multithreaded/multiprocessing...

      As an earlier poster alluded to, the incremental performance improvement of each additional processor declines, eventually reaching a place there additional processors actually end up REDUCING the capacity of the system. That's where NUMA architectures start really kicking in. Memory bandwidth is crucial, which is why the Cell processor is such an interesting/promising beast

    2. Re:a subtle yet fundamental change by jfmiller · · Score: 1

      Somebody please mod this post up.

      I remember hearing stories about the beginging of microcomputers and the need for efficient languages to take advantage of the faster and more complex architechure. C/C++, perl, and java as well as many others eventually would answer the call. When web browsers became the platform of choice (for a lot of applications anyway) asp, PHP, Javascript, and perl all took up the call.

      Now with SMP on its way to becoming ubiquotus, "new" languages whill need to come into fasion which make threading obvious and intuitive for those who understand how to use them.

      I don't have much experence beyond the "ooh cool" level, but I would guess that these languages will be related to LISP or ML. These functional languages tend to express operations in a more thread safe manor just by the way they work. Most don't have wide spread accpetance because they have traditionally been percieved as slow and bulky. (Though OCaml developers believe it's a myth and host a compition every year to try to prove it) If they can make threaded applications intuitive to write then I would guess that they will become much more popular in the next couple of years.

      I'd really like to see other peoples views on programming paradgyms will bring about thread safe programming for the masses.

      JFMILLER

      --
      Strive to make your client happy, not necessarly give them what they ask for
    3. Re:a subtle yet fundamental change by Toby+The+Economist · · Score: 1

      I mean in general.

      As with yourself, All of my software is multi-threaded, I write for Windows. To some extent, I'm taking on the responsibility of writing a multi-threaded solution, but to some extent, I think it's the case that these solutions are weakly multi-threaded. One thread does most of the work - the other threads are *useful*, they simplify the design of the code, but that's all.

      --
      Toby

  38. yes, Yes, YEs, YES, YES!!!! by Anonymous Coward · · Score: 0

    I just soiled myself.

  39. Another yes by Stunning+Tard · · Score: 1

    Yes.
    I just helping create multiple threads that say 'yes'.

    1. Re:Another yes by Beardydog · · Score: 1

      I just using hyper-threading to read them concurrently.

  40. BSD too by Anonymous Coward · · Score: 0

    BSD fans rejoiced when Apple made it part of their OS. Saved from death, their precious kernel exists in OS X. Now that Apple is dying, so is BSD. R.I.P.

    To
    confirm
    you're
    not a
    script,
    please
    type
    the
    text
    shown
    in this
    image: CIQDGVS /\/\<<

  41. How about multiple OS's under XEN? by team99parody · · Score: 1
    With most OS vendors shipping some sort of hypervisor that lets you run multiple OS's on a machine simultaneously, I can finally get rid of some of the extra boxes sitting around my room.

    It might be nice if these could use separate CPUs, since I never know when one of them might be busy (say, getting slashdotted).

  42. We need as many as we can get by Elshar · · Score: 1

    I can almost guarantee that your computer (even just idle) has at least a dozen or so processes going on. On top of that, any time you've been browsing the web and visiting anything with javascript/java/flash/etc, you can be sure that there's at least 1-2 extra processes just to show you the shiny bits.

    Where we REALLY need these is for future applications. As time goes on we seem to be demanding that our computers do more and more. Just typing stuff up has gone from a simple plain text editor to OOo/Word/etc where you have inline pictures, interesting formatting, macros, inline spreadsheets, data objects, and on and on...

    Not to mention gaming. Every AI guy you see running around could be smarter. Every environment could be more reactive to your prescence, more shiny bits to go flying as you blow stuff up, or allow your strategy game to go into more detail.

    Just because there's apps out there that aren't multithreading doesn't mean that multiple cores/HTT isn't worth it. It absolutely is worth it. We should be pressing forward as hard as possible, not resting on our laurels because what we have is 'good enough'. If that was the case, we definately wouldn't be where we are now.

    1. Re:We need as many as we can get by someone300 · · Score: 1

      I can almost guarantee that your computer (even just idle) has at least a dozen or so processes going on.

      It's the amount of processes running that really counts, when talking about CPUs... I normally have about 117 processes, but my load average is 0.11 at the moment,.. but I'm not doing anything intensive, just surfing the net.

      Ideally, the load average should be no more than how many cores you have in total, for optimum performance.

    2. Re:We need as many as we can get by surprise_audit · · Score: 1
      Where we REALLY need these is for future applications.

      No, what we really need is for programmers to reduce code bloat. Today's computers are far more powerful than those of just a few years ago, and things still seem to be running at about the same kind of speed. That's leaving out the high-graphic-usage games. I've got a 1.6GHz laptop here that takes a noticeable amount of time to start a browser like Firefox, in both Windows and Linux. I've got a K6-II 450 that used to start Netscape 4 in about the same amount of time, off a slower disk, with no fancy graphic adaptor.

    3. Re:We need as many as we can get by Elshar · · Score: 1

      You know, I had a 386/16 with 4 megs that started lynx faster than your netscape 4 on your speedy k6-2 450.

      So, what's your point? Progress means moving forward, which means applications do more. To do that requires more cpu, more ram, more everything. YOU figure out how to get a decent browser with graphics and a ui that's usable to the general public.

      Most of the 'bloat' is because users want things, and so developers do their job and add them.

    4. Re:We need as many as we can get by surprise_audit · · Score: 1

      Most of the bloat in Microsoft products is due to Microsoft adding an enormous amount of crap that people don't really need and can manage well enough without. Clippy, for example.

  43. Yeah?!? Yeah?!? Well.... by dominion · · Score: 1

    By then, Intel is gonna have, like, a million BILLION cores, with super powers like laser eyes and an invisibility shield!

    [/absurdity]

    Let the macho dick-waving contests begin.

    1. Re:Yeah?!? Yeah?!? Well.... by tomstdenis · · Score: 1

      Difference is AMD's quadcore will be faster and take less power than Intels single core ;-)

      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 per operation when compared to a Northwood or Prescott P4?

      So it may seem absurd to have 4 cores on one die but they're not half-ass slapped together inefficient designs.

      AMD took the time to design HT such that things like this would be efficient.

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:Yeah?!? Yeah?!? Well.... by Anonymous Coward · · Score: 0

      What do I wave if I don't HAVE one?

      Janice

    3. 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.
    4. Re:Yeah?!? Yeah?!? Well.... by Anonymous Coward · · Score: 0

      i don't know, i think maybe that was a metaphor.

  44. Make them and they will come by Anonymous Coward · · Score: 0

    1) If the cores are there then developers will write the apps to use them.

    2) Most of the apps I use (especially my devo environment) and write use threads quite extensively.

    3) Even if an app doesn't use multithreading, most modern OSes can and will allocate a process running on another processor for each app - if the CPU is available. So all any user has to do to benefit from a multi-core or multi-CPU computer would be to use a multi-processing OS, like Windows or Linux.

    The answer is yes! A thousand times yes!

  45. 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 Anonymous Coward · · Score: 0

      Idiots are going to be idiots.

      Just imagine them saying their arguments in a rapid, high-pitched voice like when you play basketball with urban middle-school kids and they want to taunt you.

    2. Re:MULTIthreading != Hyperthreading by Hobart · · Score: 1

      Dun Malg,
      Thank you.

      Meanwhile, the Slashdot editors are giggling to themselves on IRC, with a betting pool on who buys tonight's bar tab based on the number of readers posting incensed corrections, versus the number of readers happily using "hyperthreaded" like they know what it means.

      --
      o/~ Join us now and share the software ...
    3. 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.

    4. Re:MULTIthreading != Hyperthreading by Elshar · · Score: 1

      Hey, at least they're not calling it hypertreading.

    5. Re:MULTIthreading != Hyperthreading by Dun+Malg · · Score: 0, Flamebait

      To whomever modded my post above "troll". It is not a troll, as it is factually correct and my intent is not solely to goad people. It's fact, presented in an insulting manner. Therefore it is more correctly "flamebait". Learn to mod, idiots!

      --
      If a job's not worth doing, it's not worth doing right.
    6. 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.

    7. Re:MULTIthreading != Hyperthreading by Jeff+DeMaagd · · Score: 1

      I guess Intergraph didn't invent it. It dates back to the 50's. Intergraph happened to have a patent on some part of the technique, Intel infringed and had to pay up big time after a suit.

    8. Re:MULTIthreading != Hyperthreading by Woy · · Score: 1

      Well a while ago it was the municipal wifi that didn't let you check your mail because it only provided access to "the internet", which would seem to be www.

      And this is slashdot.

      --
      "If God created us in his own image we have more than reciprocated." - Voltaire
    9. Re:MULTIthreading != Hyperthreading by akuma(x86) · · Score: 1

      Hyperthreading is Intel's marketing name for something people in research and academia call SMT (simultaneous multithreading). It is not a kludge - it's actually a good idea that lets applications use the processor more efficiently.

      Out-of-order execution processors do not make efficient use of resources. For example a peak instruction throughput of 3 on a typical Opteron is not acheived on average. It's more like 1.5 instructions per clock. Half of the resources go unused on average. If you could allow another thread to execute "simultaneously" in the pipeline then you could make use of the idle resources.

      It's pretty complicated to implement because now the hardware has to track the state and arbitrate resources for 2 threads of execution throughout the entire pipeline. AMD probably doesn't have the engineering resources (engineering time/schedule) to do it, but they would if they could. Intel had some partially functional SMT hardware disabled on the first incarnations of the P4 (Willamette). They used Willamette to debug it and finally make it work on Northwood.

      Multi-core can be looked at as an EXTREME example of SMT. All of the resources (except for the L2 cache) are duplicated to allow 2 threads to run simultaneously on the same piece of silicon. It is far less complicated because you've just duplicated everything and there is no arbitration logic for things that are shared with the exception of the L2 cache of course.

      There are many degrees of SMT having to do with what resources are shared and what are duplicated.

    10. Re:MULTIthreading != Hyperthreading by cheesybagel · · Score: 1
      Hyperthreading® is just an Intel trademark. The name used in computer lingo is SMT for simultaneous multi-threading.

      IBM POWER4 and POWER5 have SMT. It works very well in that platform, giving nice boosts to server tasks. Intels version of SMT does not give as nice a boost.

    11. Re:MULTIthreading != Hyperthreading by Trojan · · Score: 1

      As far as I know the Intergraph patents did not relate to SMT/hyperthreading.

    12. Re:MULTIthreading != Hyperthreading by Dun+Malg · · Score: 1
      To whomever modded my post above "troll". It is not a troll, as it is factually correct and my intent is not solely to goad people. It's fact, presented in an insulting manner. Therefore it is more correctly "flamebait". Learn to mod, idiots!

      Moderation -1
      100% Flamebait

      OK, now that's more like it!

      --
      If a job's not worth doing, it's not worth doing right.
  46. 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.

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

    1. Re:To see where AMD is going... by Eukariote · · Score: 1

      AMD has got a webcast of the event, and the presentations in PDF format here: http://www.amd.com/us-en/Corporate/InvestorRelatio ns/0,,51_306_10383,00.html

  48. Do we really need the extra cores? by Anonymous Coward · · Score: 0

    The hardware always has to come first. No one would ever buy a DVD without a DVD player existing in the first place.

  49. A new demand for skilled developers by mo · · Score: 1

    It's pretty obvious that the next wave of Moore's law seems to be moving computing towards parallelism.

    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 CPU speed has spawned the rise of programming languages with builtin memory management, thus making programming easier to do. By using higher level languages like Visual Basic, Python, and even Java, programmers generally no longer have to worry about memory leaks. This has made software easier to develop, and has made the programming profession possible for more people.

    AFAIK, there exists no anlog for making multi-threaded applications easier to write. They're damn hard, and tracking down race-conditions where one thread's actions screw up another thread mid-step is a royal pain.

    It seems to me that this is going to impose a pretty big limitation on the capabilities of entry-level developers. Until somebody develops some sort of fire-and-forget race condition prevention tool, it's going to pay to have skills as a multi-threaded app developer.

    I guess all of those oldschool Solaris guys who have been bragging about having true threading with Java and C/C++ since 1995 are going to finally get their day.

    For more reading, here's a good article about this stuff:
    The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software

    1. Re:A new demand for skilled developers by the+eric+conspiracy · · Score: 1

      AFAIK, there exists no anlog for making multi-threaded applications easier to write. They're damn hard, and tracking down race-conditions where one thread's actions screw up another thread mid-step is a royal pain.

      If you look in Java SDK 1.5 for example there is a whole new level of support for concurrency over Java 1.4 - rentrant locks, thread pools, atomic variables etc. - a lot of this is aimed at improving the tools programmers have for this sort of work. It is only the first step, but there is progress being made.

      With multi-core becoming normal it will propel a whole new renaissance of tool development to support this area, plus research into new ways to support concurrent programming. I expect it to affect the instruction sets of CPUs all the way up to how IDEs work. Eventually I think concurrency management will be just a much a part of the system as memory management is today.

    2. Re:A new demand for skilled developers by timeOday · · Score: 1
      I disagree, I don't think application-level multithreading is the right way to exploit many cores.

      Some people suggest, for instance, that games should be written with AI in one thread, physics in another, and graphics in a third. I say this is wrong, and a poor way to utilize multiple cores. There's no reason to think different threads doing different things will have equal processing needs.

      Instead, paralellize the lower-level calls, such as math, graphics, and encryption libraries. These SIMD situations are much easier to paralellize - you divide up a big homogenous block of work into N parts, and they all take the same amount of time to complete.

      Some algorithms don't have paralell implementations, but how many of those don't run well enough in a single core already? It's not easy to churn out enough straight-line code to even notice. For the most part it's the big, highly repetive calculations that still take a while.

    3. Re:A new demand for skilled developers by doc+modulo · · Score: 1

      It seems to me that this is going to impose a pretty big limitation on the capabilities of entry-level developers. Until somebody develops some sort of fire-and-forget race condition prevention tool, it's going to pay to have skills as a multi-threaded app developer.

      Maybe the Erlang language is the thing you're looking for. I'm not sure about this one but I think it prevents multithreading/multiprocessing bug just like Java prevents buffer overflow bugs.

      This is mainly because Erlang is a purely functional language. This is a problem if you're used to imperative programming languages but as you said. A new way of programming is needed anyway.

      Erlang is under a licence similar to Mozilla.

      --
      - -- Truth addict for life.
    4. Re:A new demand for skilled developers by platypus · · Score: 1

      This will only work if you assume that cross core communication will be for free. As can be seen by the fact that opteron multi procs already use NUMA, this is not the case at least for memory access. Btw. it also is not true for non NUMA architectures, because there is the aspect of cache thrashing and cache synchronization.
      Additionally, setting up parallelism inside the function normally includes overhead as well, as you have to look at the inputs and bundle a package for each worker thread.
      Parallelizing on a low level means the application developer cannot put his knowledge about the characteristics of that special application into use to avoid that overhead.

    5. Re:A new demand for skilled developers by Anonymous Coward · · Score: 0
      The interest in multithreading by some of the leading C++ gurus is a fairly recent thing. Before that the typical response in the C++ usenet groups to threading was "C++ has nothing to do with threading", that it was off topic. It's still pretty early in their learning curve though. Right now they're mainly interested in a C++ threads class and maybe making a more "thread-safe" shared_ptr, though I don't think deferred reference counting is going to be the way to go. I have a better method but until more people get further up the threads learning curve, I don't think there's going to be much interest in it.

      As far as having multithreading skills helping you find work, that's not true. You need the other specific skills to get work and I mean very specific. With those other skills, you'd get the work anyway even without threading skills. The problem with multithreading skills is it means you're more of a generalist, a skill not in much demand. Multithreaded programming is more of general problem defining and solving approach. The same multithreaded design patterms tend to show up in completely different applications.

  50. 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.
  51. "DO WE?".. Fuck yeah we do. by Jackie_Chan_Fan · · Score: 1

    More power the better. We need it. Lets advance the technology and not start worrying about if we need it :)

    You bet your ass we need it.

  52. Memory bandwidth requirements? by sector · · Score: 1

    In the current (single-core) 2-way Opteron world, there are two basic designs: (A) designs where both chips have their own local RAM and (B) designs where only one chip has local RAM and the second chip must, in effect, utilize the first chip's memory controller to fetch memory (via hypertransport). These are immediately identifiable since (A) has two groups of DIMMs slots while (B) has only one.

    Obviously design (B) is a lot cheaper but it does offer measurably lower overall memory bandwidth and some very memory-intensive applications might suffer somewhat. But overall, it's not too bad and most apps probably won't notice.

    Fast forward today/tomorrow where we'll have dual core Opterons. Now, if you were to put two of these chips in a B-type mainboard (they are supposedly drop-in compatible with the old single core chips, after all), it seems you'll effectively have four cores competing for the amount of memory bandwidth normally allocated for a single core. I would expect a noticible drop in bandwidth for many applications.

    Quad core will be even worse. I realize AMD's new socket will probably feature double the number of memory lines as the current socket 940/939 but if AMD plans 32 cores on a single "chip," we're looking at enormous bandwidth requirements. What will the 32-core chip look like? Will it still be a chip form factor or will it be a 5000-pin monstrosity like IBM's POWER-5?

  53. Don't count the processes by fm6 · · Score: 1

    It's not the number of processes -- even with a single slow processor, you can handle any number of background processes, provided they're written by programmers who know what they're doing. (Indeed, systems have turned up that had thousands of spyware/adware processes.) But it only takes one badly-written spyware processes to tie up a processor. And even if you have multiple processors or cores, a single badly-written spyware program can bring a system to its knees by making Windows Explorer or other basic software inoperable.

    1. 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!
    2. 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.

    3. Re:Don't count the processes by N3Roaster · · Score: 1

      Yes, it's in the best interest of spyware developers to write proper code. Imaging Joe D. User happily browsing away, no firewall, no mind to security, installing little gems of shovelware. Everything is fine as far as he is concerned, but then he starts getting hit with resource clogging worms, poorly written spyware/adware and things get slow. At this point, he either calls someone to make the computer go fast again or buys a new computer. Either way, he gets back to using a clean system for a few days. The scumware people don't have his machine for a little while. Not a huge deal. They have plenty more and they'll get it back soon enough.

      Until one day... Joe D. User has had enough. It takes less and less time for the machines to slow down after he gets them or has them "fixed" and he's fed up. Maybe he starts to look into the cause of this and decides he wants out. He turns on the firewall, gets an anti-malware suite, or maybe he even tries out the Knoppix disc that weird techie at work gave him.

      Now the scumware people don't have Joe D. User's computer anymore. Not a huge deal, but enough people pay some attention to security, switch to something with fewer wild exploits, and so on, well now there's a problem.

      Sure, the scumware people can devise more clever ways to reach these people, get malware running on other platforms, and so on, but that more time and more money to still reach fewer people than they were back when they had Joe D. User.

      What prompted Joe D. User to drop off the malnet? It wasn't that his machine was riddled with spyware. It was the poor quality of the spyware his machine was riddled with. So the best way for the scumware people to keep Joe D. User on the malnet is to make sure to release high quality spyware.

      (This message does not endorse or support the development or adware, spyware, malware, scumware, viruses, worms, shovelware, Knoppix, Windows, or anything else at all.)

      --
      Remember RFC 873!
    4. Re:Don't count the processes by Anonymous Coward · · Score: 0

      At a certain point, it's not about processors, but about system memory. Each piece of spyware has a certain footprint. If the number of spyware gets to the point where the system starts having to run most of the programs off the pagefile or some form of swap, it becomes noticeable very quickly.

      Also, there's the matter of how much bandwidth all the spyware/trojans would collectively use at any one time. With enough of them running at once, that should get annoying enough for the user to notice too, even on a broadband connection.

    5. Re:Don't count the processes by Infinite+Entropy · · Score: 1

      Wow, its really amazing how applicable darwinism is to this, isn't it?

    6. Re:Don't count the processes by Hognoxious · · Score: 1
      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.
      The difference is that spyware doesn't have that bastard papercclip popping up all the time. Or if it does, it wears dark glasses & a hat, so you don't recognise it.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    7. 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/
    8. Re:Don't count the processes by Pharmboy · · Score: 1

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

      Kinda like Internet Explorer?

      --
      Tequila: It's not just for breakfast anymore!
    9. Re:Don't count the processes by fm6 · · Score: 1
      Tell that to the folk whose machines have been made completely unstable by filthware.
      Which folk include me. But as I said, it only takes one badly-written spyware program to screw up your machine.

      You seem to think that because spyware authors are morally challenged, they must be inept programmers too. Doesn't follow.

    10. Re:Don't count the processes by sumdumass · · Score: 1

      I wouldn't go as far as saying they are inept at programing. I have worked for firms that are moraly chalenged in the past and i am about certain it is the mindset involved.

      It always seems that when people stoop to low morals to make a buck, they are not proud of anyhtign they do. Everythign is a rush job and it doesn't matter what the end product looks like they are just scamming some money and going on with the next plan. I have noticed this to become common at some places wether working in general construction, trucking, computer/network repairs, and some fast food places. There is always some outfit that goes in and under biods a job, rushes the employies to get somethign done, half asses it and tryes to make a buck later when things start failing. (yes i was involved a couple of times too). It generaly costs more money down the road and the owners/management are only interested in making thier bonus' or profit and bitch about any repiar to equiptment that should have been replaced years ago.

      I can see how someone trying to make a quick buck by sneeking somethign into your computer would fallow in these foot steps. When aplying for jobs i can usualy detect these types of operations by the owners/management's lexis sitting in the parking lot taking up 2 or 3 parking spots so the chevet scooters and ford pintos thier employies drive don't scratch it or knock rust that way. This is usualy time to forget the interview and leave. I dont' see how some spyware/malware company is going to be any different. If they can make a buck from you for a month or 10 years, it doesn't matter as long as they make a buck. If they cost you time and money in the proccess, that doesn't matter either as long as they make a buck. If the software industry was regulated as much as the construction industry with building codes and whatever, we would see alot less of this but at the same time see alot less of other software too.

  54. Of course we need extra cores- here's why by Beatlebum · · Score: 1

    Even if an application is single-threaded the Kernel isn't. If you are running several applications concurrently the total thread count on the machine is probably close to 100 because of the O.S. and services. While it's true that some of those threads may be tightly coupled and not able to be scheduled together, some won't and these will benefit from parallel processing. In the longer term when the O.S. has 16 or more processors it will make more sense to explcitly write data parallel code.

  55. 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
    1. Re:BEOS!!! by dextr0us · · Score: 1

      that was a joke.... but interesting never the less.

      --
      "Martha Stewart can lick my Scrotum......do i have a scrotum?" -- Sharon Osbourne
    2. Re:BEOS!!! by Anonymous Coward · · Score: 1
      Damn shame, Good old Beos version 3 was faster than sin. The latency was so brutally low I was in awe. Every windows boots I shed a tear, wondering how much more of my life i could be doing something productive, (ie surfing porn) with those extra 2 minutes. The other great thing is that you were never waiting for a redraw of a window.


      BEOS was a thing of beauty. Still ahead of its time.

  56. 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.
    1. Re:Intel 2005 Keynote: x10-x100 cores by 2015 by pla · · Score: 1
      Intel is working towards having x100's, (at least x10's,) of cores in there. He shows demos and explains several driving forces:
      • ...
      • machine learning
      • Home Heating
      • Cooking
      • Justifying the switch to an all-nukular power grid

      And in other news, Bill Gates has started quietly buying controlling stakes in all the major heatsink, fan, and small water pump manufacturers...
    2. Re:Intel 2005 Keynote: x10-x100 cores by 2015 by Anonymous Coward · · Score: 0

      intel also said we'd be doing desktop video with just the 486. yet it took another generation or two before it happened.

      --ac
      still waiting for the flying automobile like they promised in the previous century's worlds fair

    3. Re:Intel 2005 Keynote: x10-x100 cores by 2015 by Anonymous Coward · · Score: 0
      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.

      The colorization method would seem to have good potential to augment current video compression techniques. You get a running start by throwing away two-thirds of the color information, then add back some specific color detail.

    4. Re:Intel 2005 Keynote: x10-x100 cores by 2015 by Zentac · · Score: 1

      Those are them same guys who promised us 10Ghz cores with this netbust arcitecture, right?

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

  58. What about SIMD? by Beatlebum · · Score: 1

    While multiple cores are very useful, does anyone know if there are plans to scale up SIMD processing capability? Some operations don't require multiple instruction streams, instead they apply the same operation to a set of data. The chip logic to implement SIMD is much simpler than MIMD to it would make sense to add bigger SIMD engines to the processor cores, how about a 64 x 64 SIMD processor, this would allow matrix operations to be processed in chunks of 4,096.

  59. We need more ? by Cargnini · · Score: 1

    the answer is maybe! Depends on waht kind of application you are thinking about, i for example always will need more cores and processing power 8-). About software don't have capacity for this kind of hyperthreading is just a question of time and dont't worry software manufactors always find a usage for idle cores, even to run idle.exe prcess 8-P.

  60. Great. So this means that x86 will never go away? by zanderredux · · Score: 1

    So, x86 is the pinnacle of arch development? The climax of human achievement in computing?

  61. Re:Must be a parallel universe you live in by discstickers · · Score: 1

    Apple folks know that once you go dual, you don't go back.

    --
    I have a shitty sig!
  62. sun niagara by zixel · · Score: 1

    http://www.eweek.com/article2/0,1759,1772674,00.as p 8 core cpu with each core maxing at 8 threads. these are for servers, scientific/business modeling.

    1. Re:sun niagara by platypus · · Score: 1

      And far too slow to compete with anything AMD says they could crank out in the future.

  63. 3DLabs has experience in multiple cores. by NRAdude · · Score: 0

    Not to add any value to this grand slashvertisement; but according to propoganda, the VP series of 3DLabs graphics acceleraters are designed with no less than thirty and two smaller independent processors in a single core. Nothing more is said about the technology, other than "they work together." And wouldn't you know it, they are no longer advertising the fact on that 3dlabs.com website. Hmmm...

    --
    without prejudice
  64. "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.

  65. Please ask yourself why? by lioncity · · Score: 1

    Please ask yourself why Intel and AMD are doing this. Is it just for fun? No.

    There is a reason that they MUST do this. The increase in gigahertz cannot last forever because there is a concept called the speed of light. I've seen numbers that say that at 10GHz it would take one entire cycle to move three centimeters.

    So, as Andrei Alexandrescu puts it, the hardware guys put a dead body in our [software guys] trunks and make us take care of it with threading.

    In fact, go to the expert: Alexandrescu with Meyers is leading an effort to define some sort of memory model in c++.

    Also check out his lock-free data structures. That's right! Lock-free.

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

    1. Re:What does hyperthreading have to do with it? by Anonymous Coward · · Score: 0

      On AMD, maybe. On Intel, no, because of the memory bandwidth fuckup.

    2. Re:What does hyperthreading have to do with it? by evilviper · · Score: 1
      zcat foo.gz | bzip2 -c > foo.bz2

      Look, ma! Code that will run twice as fast on a multiprocessor system!

      Not unless it takes just as much CPU power to decompress a gzip file, as it does to recompress the same file with bzip2.

      Multiple seperate cores is good for your desktop PC, where you are running several apps at the same time. However, it sucks for something like video encoding (or decoding for that matter) that can only get slight use out of threading.

      A single, slow CPU in my desktop is far more than I need. However, the system I do video encoding on is the machine I would consider upgrading to a faster processor... That is, if I could actually get any use out of the top-of-the-line CPUs.

      The situation is no doubt the same for tasks like gaming, encryption, etc.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    3. Re:What does hyperthreading have to do with it? by SpaghettiPattern · · Score: 1

      most programs haven't even got the ability to hyperthread, so do we really need the extra cores?
      Think about /.ers working in places where multiprocessing is daily business. Multiple cores on lowend hardware lowers costs (cost factor, yawn) and makes Linux solutions more viable (fun or x-factor).

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    4. Re:What does hyperthreading have to do with it? by ChrisMaple · · Score: 1

      Some video encoding makes very heavy use of search routines which could be greatly helped by multithreading.

      --
      Contribute to civilization: ari.aynrand.org/donate
    5. Re:What does hyperthreading have to do with it? by Anonymous Coward · · Score: 0

      But one core can do video encoding and the other can do audio encoding, simultaneusly

    6. Re:What does hyperthreading have to do with it? by evilviper · · Score: 1
      But one core can do video encoding and the other can do audio encoding, simultaneusly

      Yes, that can be done, but the audio encoding takes about 1/100th as much CPU power as video encoding, so you wouldn't even notice the nominal performance improvement.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    7. Re:What does hyperthreading have to do with it? by evilviper · · Score: 1
      Some video encoding makes very heavy use of search routines which could be greatly helped by multithreading.

      You're being very vague, so it's difficult to argue.

      If you are referring to motion vectors, each is dependant on the previous, so they cannot really be helped by threading. Well, they can be, actually, but with a significant drop in visual quality, because they can't use the motion vectors from the previous frames.

      You'll also have to be specific about what "Some video encoding" means, because with libavcodec's MPEG-4, disabling motion estimation completely, only results in about a 25% speed-up, which is obviously not "very heavy use".

      I know the subject very well.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  67. Re:Doesn't have to be threads (actually it does) by xx_chris · · Score: 1

    Otherwise the L1 cache will thrash badly.

  68. Re:Must be a parallel universe you live in by Mad+Merlin · · Score: 1

    Why bother with the odd latency modes? Just have them all run with the same latency/speed. If one application pegs the processor for whatever reason, you still have another to use. I think you're hinting at processor affinities and the sort of thing you'd see in a much larger NUMA setup, but if you can have one processor run with said low latency, why not have both of them doing so?

  69. "Dude..." by suitepotato · · Score: 1

    "Yeah?"

    "So like, when you set out to overclock this thing, did you like, uh, intend to melt the desk with it or was that an accident?"

    I was only joking when I mentioned this not that far back. Damn. Maybe I shouldn't joke about pyroclastic flows and pyrotechnic processors. They might do it.

    "The new Intel ArcLamp. Sixteen sixty-four bit cores, each running at 4Ghz, with a maximum memory size of 17,179,869,184 gigabytes (availible pre-loaded with second mortgage approval). Frag your friends on Duke Nukem Forever when it is released (tentatively by the time we release the one hundred and twenty-eight core model running at 12Ghz). Run circles around your fellow SETI@Home users and even do quantum electrodynamics calculations to refine your spectral analysis at the same time. Compile code faster than the finished product will ever run on Windows. Toast bread. Cook whole sides of beef for your company picnic. Weld steel at your desk. Simulate fusion reactions by actually fusing tritium and deuterium (government contract purchasers only)."

    Just give it time...

    --
    If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
  70. What The F--- Does This Have To Do With Apple!? by Anonymous Coward · · Score: 0

    Ever since the last change in the Apple party line, I'm seeing a flood of why PC technology (once previously dismissed by the same people) will raise Apple to further glory. Geez, I liked it much better when they were segregated in their own ghetto instead of joining the other idiot fan-boys.

  71. Re:Multicore is great, but not for the obvious rea by imsabbel · · Score: 1


    (i dont know in which century you are, but there is nothing like "banks" that have to be filled completely. In fact, your opteron will even run with only one dimm installed, although with rather limited memory bandwith. For optimal use, 2Dimms per processor).
    A Dual socket opteron has a NUMA architecture. No bank-shit or anything. each processor has a simply dual channel memory config like ANY OTHER MAINBOARD out there (im sure you have seen p4s or AMD64 mainboards without any socket filled).
    (with the added benefit of being able to share memory bandwith between the cpus)

    So 4GB ram is a modest amount...
    Ok, than use 4*1GB Dimm. Complete memory bandwith realisation for a dual cpu system.

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  72. "No one will ever need more than 512 cores." by theNAM666 · · Score: 1

    --Bill Gates, in an address to the BSA, June 10th, 2005

    1. 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
  73. 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
    3. Re:Why wait.. its already here? by Anonymous Coward · · Score: 0

      Those 'explicit DMA operations' are nothing more than just using the main RAM. You call a DMA routine with what you want to move and to/from where, nothing more.

      It just calls for a different programming approach. Instead of processing the main RAM word by word you first transfer the batch to be processed into the local RAM, process it, transfer the result back.

    4. Re:Why wait.. its already here? by Anonymous Coward · · Score: 0

      It is completely up to you how you decide to utilize the Cell SPU's. All they do is 4 ops per clock cycle, 4 parallel execution elements. It's up to you to find a use for them.

      By no means are they limited to multimedia only. If you cannot imagine any other use for them that is a limitation of your brain and programming skills, not of the Cell. A SPU is perfectly suited for running a device driver real-time with no time slicing. Think about network processor ('tcp offload engine') after-processing for example. In true real-time.

      From a Cell you could dedicate 4 SPU for real time constant processing use, 4 SPU for multithreading the current app with 32 ops per clock cycle. A Cell blade could well have 4 Cells. There's more processing power than you can shake your compiler at.

      All it requires is stopping thinking in a x86 pipe.

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

      Um, moving batches to and from RAM is the definition of "explicit DMA operation". This is in contrast to implicit operation, in which batches are automatically moved from RAM to cache (what most CPUs do today).

      Anyway, you're right about the different programming approach. Which is exactly my point: these processors don't behave the way programmers expect general purpose processors today to behave. The vast majority of programs aren't written to do explicit DMA operations, thus the Cell needs specialized code to be written for it.

      --
      A deep unwavering belief is a sure sign you're missing something...
    6. Re:Why wait.. its already here? by ArbitraryConstant · · Score: 1

      Yes there's a huge speed advantage for Cell with some things, but for other things there's a big disadvantage. They might be capable of branching, but that doesn't mean they're good at it. You don't give someone 128 registers unless you want them to unroll their loops.

      You have to rewrite code for Cell because it's a different environment (limited directly accessible memory, different libraries, etc). The fact that they're not PowerPC is a secondary issue, that's what compilers are for. Getting people to rewrite code for a different environment is like pulling teeth because it's really annoying.

      Programmers are more expensive than hardware unless the advantage is huge. Games? Sure. Big CAD workstations? Why not? Scientific simulations? Sweet. Pixar's render farms? Absoloutely. Databases, dynamtic content, web browsers, fancy searches (eg spotlight), etc? Not. A. Chance.

      x86 isn't sitting still. I don't know about Intel, but AMD's roadmap talks about co-processors on the die. They'd be x86 compatible, but optimized for different cases like vector-heavy code. If these are a fraction as fast as a Cell, but they work transparently with your existing code, you'll find them winning in the market for all but the most demanding applications.

      Also, Cell isn't mutually exclusive with x86. There's no reason a Cell can't sit on a PCIe card much like we have dedicated 3D hardware, and I've no doubt this will happen for some things. The issue is that Cell is the part that you can sometimes do without, while a general purpose processor is almost always mandatory.

      --
      I rarely criticize things I don't care about.
  74. Intelligent Design (was Re:Evolution) by Anonymous Coward · · Score: 0

    Once again, this is a scientifically observable example of the Intelligent Design of microprocessor architecture. A dual-core Athlon cannot become a complex quad-core processor on its own no matter how many billions of years you wait. An Intelligent Designer is required!

  75. 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)
  76. Completely different by Anonymous Coward · · Score: 0
    floating point math was in some early chips anyway and those that left it off did so for cost reasons. It was always needed.


    And 3D graphics was always needed - think medical applications - when it wasnt viable for desktop machines, it wasn't included.


    You cant just get away with saying we always need more. The question asked was whether 4 cores will be needed on a desktop processor. Its valid. Few people run more than 2 tasks at once.

    1. Re:Completely different by oddfox · · Score: 1

      What's the point of stating few people run more than two tasks at once? The point is that there are people who would be willing to pay for these depending upon what they need to get done on their computer. There are plenty of people who would benefit from 4-core processors just as much as dual-core processors, and they would create the demand for these chips if they are indeed needed. If there's anything AMD's enthusiast FX procs or ATI and NVidia's enthusiast graphics chips with exorbitant price tags prove, it's that there's a market for pretty much anything that makes your computer run faster and more efficiently.

      For myself, I think quad-core would be pretty damned sweet. Folding@Home on one, Seti@Home on another, my current game on the third, and all my other desktop apps on the fourth. Nothing more depressing than a saturated system.

      --
      "We invented personal computing." - Bill Gates
    2. Re:Completely different by Anonymous Coward · · Score: 0
      i think the fact that you bring up folding@home and seti@home as examples proves my point.


      those projects are designed to put to use spare cpu time, of which there is already a huge amount.

    3. Re:Completely different by jericho4.0 · · Score: 1
      But many programs could be running more tasks (threads) at once, so two tasks could mean many threads. If the standard computer had multiple cores, developers would feel more comfortable about spawning long lived, CPU intensive threads in apps. It's kind of a chicken/egg problem, though.

      Still, before we get up to 32 cores in a desktop, I'd rather have a fanless, smaller, cheaper box. I also think asymmetrical designs like the Cell make more sense.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    4. Re:Completely different by oddfox · · Score: 1

      The problem is, on my system, I don't really often have spare CPU cycles, I almost always have an application like the @Home ones, or a really intensive (Read: modern, I'm spoiled) game. For people like me who would like to still be able to help out with these causes and not have to worry about general usage problems on the computer, these dual/quad core CPUs are a dream come true. When they become cheaper and more widely available, I'll definitely be purchasing one. The market, while being a niche market, is still there.

      Nobody's claiming these are necessary for anyone or everyone, goodness knows it's not necessary for me to be comfortable in accomplishing these tasks all at the same time, but there is a demand that cannot be ignored, Intel and AMD are realizing this.

      P.S. -- I strongly suspect most of these CPUs will not be going anywhere near a desktop environment, they're far more useful to businesses and research institutions, I'd imagine. Thus, one could argue even if the desktop market never ended up wanting these chips, there are plenty of others that will.

      --
      "We invented personal computing." - Bill Gates
  77. increasing ties with Hollywood can't be good news by tota · · Score: 1

    "AMD opened its meeting by touting its ties to Hollywood, a strategy that AMD executives said they will increasingly adopt going forward."

    Ouch. In light of this, Intel's announcement (just a few days ago) that they would not include any unannounced DRM in the new pentium line sounds like a breath of fresh air!

    They are chip manufacturers after all, can't they just focus on making fast chips and let Holywood worry about their business?

    --
    TODO: 753) write sig.
  78. Re:Great. So this means that x86 will never go awa by Anonymous Coward · · Score: 0

    What's up with the x86 hating nowadays? If it works, don't fix it!

  79. Re:Must be a parallel universe you live in by robertjw · · Score: 0, Flamebait

    Perhaps a nice job scheduler would be nice.

    Try Linux.

  80. YAMS by EdMcMan · · Score: 1

    Yet Another Misinformed Summary

    Executives confirmed that the company plans to enhance its Opteron enterprise processor line to four cores in 2007

    Server software that is likely to be running on these processors will be threaded. Whether or not hyperthreading would work is irrelevant since AMD doesn't support hyperthreading and hyperthreading != multiple cores

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

    1. Re:Think Fast by repvik · · Score: 1

      Who cares about hyperthreading programs? If the OS supports hyperthreading properly, it can divide the tasks between the various cores accordingly. On my Dual PII 633, keeping one cpu busy with a game server and everything else on the other cpu is brilliant :-)

  82. Re:Great. So this means that x86 will never go awa by Anonymous Coward · · Score: 0

    If you hate x86, then go buy yourself a shiny new POWER or MIPS workstation.

  83. BUS speed secondary, need something to put on BUS by AHumbleOpinion · · Score: 1

    Remember kids, work smarter, not harder

    One way to work smarter is to not accept the convention wisdom that more == better, faster == better, and actually educate yourself. The problem with multiple cores is not necessarily keeping them fed, it is having something to feed them. If you can't parallelize the job that you need done well enough it does not matter how fast the bus is. You need something to put on the bus first.

    Each time you double the processing units you get a diminishing return. I think quad is about the practical limit for much current software. Stuff that benefits from more than 4 tends to be specialized.

  84. make -j5 here we come!

    --

    If you don't want someone to copy something, don't give it to anyone.
  85. What I want to know... by Biomechanical · · Score: 1

    is, if you bought one of these, would a simple BIOS update let you run 4 quad cores together? *dribble*

    Or, in the future, 4x32 core? In one single workstation? *drool*

    --
    His name is Robert Paulsen...
  86. "do we really need the extra cores ?" by updatelee · · Score: 1


    Software developers have to start taking the speed their software runs into their own hands, they cant just assume intel will up the mhz therfore their apps will run faster, if they want their apps to run faster their going to have to start taking advantage of those extra cores

    1. Re:"do we really need the extra cores ?" by chez69 · · Score: 1

      don't buy it if you don't need it. some of us want faster machines. keep using your 386 if it is fast enough.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
  87. don't use the word... by KillShill · · Score: 1

    hyperthread.

    it's a brand name for intel's SMT method.

    SMT (symmetric. multi threading) is the correct word.

    it's the generic word that fits all situations without sounding like dumb.

    --
    Science : Proprietary , Knowledge : Open Source
  88. Simple by EpsCylonB · · Score: 1

    Build the multi core cpus and the hyper threaded apps will come.

  89. AMD looking towards cell-like architecture by doormat · · Score: 1

    Meanwhile, AMD is also exploring developing and possibly embedding dedicated coprocessors to help with specific tasks, even computation, he said.

    This is a mix between current x86 arch and a cell-like arch. Instead of generic processing elements, its areas dedicated to certain tasks. As long as AMD picks the correct things to make co-processors for...

    --
    The Doormat

    If you're not outraged, then you're not paying attention.
  90. Extra cores by zecg · · Score: 1

    I for one don't need your fancy multiple cores. If only elinks starts supporting CSS properly, I'd get another decade out of this P133 of mine.

    --
    .i lu doi ringos.star. xu do puku'aroroi dunli dopecaku leni virnu li'u
  91. Big deal...IBM came out with 65,536 core chip by sweetnjguy29 · · Score: 1

    Well...a 65,536 node computer that can do 360 Teraflops -- so quad core? piffle.

  92. Re:Must be a parallel universe you live in by SilentOne · · Score: 4, Funny

    Dual mice buttons?

  93. Don't fall for it... by richman555 · · Score: 1

    Come on folks, really, I know alot of you have run SMP servers, and you know for a desktop it really can't be necessary. I can sometimes agree with dual cores in the rare event you have 2 apps fighting each other for cpu, but 4 or greater?? I think this would be a very good server chip, but not for the average desktop. I'd take a faster speedier dual core over this for my desktop if possible. I think the industry needs to walk before it can run.

    1. Re:Don't fall for it... by chez69 · · Score: 1

      if you develop software you'll use all the CPU cycles that are available. I've developed on SMP machines for years, and it helps productivity quite a bit.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
  94. Re:Must be a parallel universe you live in by fr0dicus · · Score: 3, Funny

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

  95. Whoever said Apple had to use Intel only? by daveschroeder · · Score: 1

    Apple has already shown it's willing to completely switch processor architectures, and you're telling me that, once they've made the transition to x86, they won't avail themselves of the best technology available, including from AMD (as do other x86 vendors)?

    The Intel announcement, specifically (vs, say, AMD), was one of political expedience, convenience, exclusivity, and simplicity. The analysts and press are happy because it's Intel, and no one in the mainstream media or financial circles freaked out about it. (Phase 1, complete.)

    But after the x86 switch is over, utilizing the best technology from traditional x86 architecture vendors, including AMD, is a foregone conclusion.

    Use your heads, people. Apple isn't wed to Intel any more than it was to IBM. Or Motorola/Freescale.

    1. Re:Whoever said Apple had to use Intel only? by michaeldot · · Score: 1

      Yes, that is a valid comment. The commentators are probably viewing it like Dell, who are said to have an agreement with Intel to purchase chips at a discount if they do not use AMD chips. Thus there are no AMD-based Dells.

  96. Re:Multicore is great, but not for the obvious rea by Anonymous Coward · · Score: 0

    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.

    Name five tasks that grow in performance faster with additional CPUs than they do with additional RAM.

    Remember to account for caching.

  97. Re:FP by Anonymous Coward · · Score: 0

    Sorry, sir... but you fucking FAIL IT.

  98. 92 short... by Duncan3 · · Score: 1

    That's only 92 cores short of chips we're starting to use TODAY.

    The scientific and hardcore computational people are almost oblivious to this whole Intel vs. AMD vs. PPC thing, and those that aren't are forgetting about it fast.

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:92 short... by Anonymous Coward · · Score: 0

      Link to the 96 core chips that are available _today_?

    2. Re:92 short... by Duncan3 · · Score: 1

      The ClearSpeed CSX600

      http://www.clearspeed.com/bio/

      --
      - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
  99. What a dumb question! by mjh49746 · · Score: 1

    Of course we'll need the extra cores. Not right this second, but this is the future. The old way of ramping up the clock speeds on single cores for added performance is done and over with. It's time to start taking advantage of the extra cores instead of wondering why we even need them. Hell, with that way of thinking, we could also say, "Well why do we need anything more than 16 bit 8088s, 640kb of memory, twin 5 1/4 floppy drives, and MS-DOS? That's good enough. We don't need no stinking 64 bit CPUs, 1Gb of RAM, RAID arrays, DVD burners, blah, blah, blah..." Yeah, whatever. I'm not going to grab a pair of rose colored glasses and go with that backwards train of thought. We need progress, and we also need to open up those I/O bottlenecks while we're at it, or in really simple terms: More speed, dammit!! More speed!! ;-)

  100. Run more than one program at once by leonbrooks · · Score: 1

    Even running a screensaver involves two processes, one to generate the display and one to write it to the hardware (the system in 'Doze and X11 in most other places).

    If you have half a dozen browser windows open, odds are that half of them have Flash plugins doing stuff, so you have one core working on each Flash plugin and the fourth displaying the visible ones, plus background processes (LAN answering ARP requests, email program checking for more spam, and (on Wintendos) adware fetching next blandishment) squeezing in wherever they can. Meaning that you would benefit from having two CPUs - eight cores - at this point.

    Maybe that's why the XboX360 has so many cores? They're pre-empting an onslaught of spyware...

    --
    Got time? Spend some of it coding or testing
  101. Re:Great. So this means that x86 will never go awa by mjh49746 · · Score: 1

    Actually, yes it is the pinnacle of arch development. It's stable, mature, fast, compatible, and apparently highly expandable. It does it all, and everybody uses it, so why replace the damn thing when it's not broken? Or have we learned nothing from the Itanic disaster?

  102. this shows: Apple hardware rocks by cahiha · · Score: 1

    because they have chosen this cool new processor architecture that lets them take advantage of all these innovations. Xserve won't be just a zillion times faster than Windows and Linux servers, it will be a ZILLION zillion times faster and all because Jobs is so smart that he picked the x86 architecture, while Windows and Linux have to make do with ... oh, wait.

  103. Squint and say "Moore's Law" after a few beers by paylett · · Score: 1
    It sounds a like "More Cores" is trying to peep out.

    OK.. I'll be quiet now.

    --

    Believing something doesn't make it true. Not believing something doesn't make it false.

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

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

    1. Re:Do we really need the extra cores? Well...um... by dnoyeb · · Score: 1

      True. Note that quad cores and 8 cores was planned from the minute 2 cores was. Its really old news unless he is saying the _release_ is comming.

      And you dont need to write your program to make use of hyperthreading, just threading. Dual core processors will blow away single core hyperthreaded processors.

  105. Why not? Chicken or egg by phorm · · Score: 1

    Well, it could be said that there aren't many multi-core-using apps because there aren't currently a lot of multicore CPU's out there. If multicore CPU's start proliferating on most desktops, then we'll likely see more programs taking advantage of it. Just like any other CPU/GPU/SPU/etc technology eventually they'll likely become common in most media apps/games

    1. Re:Why not? Chicken or egg by Heretik · · Score: 1

      I heard they're coming out with this crazy new technology: "multitasking"

      Get this, it lets you run many programs simultaneously !!!!!

  106. Multi-core CPUs are just hype by c0d3h4x0r · · Score: 1

    I don't understand how so many geeks can be falling for all this recent hype about multi-core CPUs. A system running a dual-core CPU is really no different than a dual-CPU system.

    Multi-CPU systems have been around for ages. Sure, by putting multiple cores on a single die, the interconnects between the processors can be made faster, etc, but the performance difference between that and multiple single-core CPUs has really got to be pretty negligible.

    As everyone should know by now, adding more CPUs doesn't necessarily yield any performance boost because software has to be specifically designed and written to take advantage of multiple CPUs well. There are very few end-user applications or needs which would lend themselves well to multiprocessing. It's not like throwing more RAM into a system, or adding disks to a RAID array.

    As far as I can conclude, all the hype and news about multi-core CPUs is mostly smoke-and-mirrors marketing by the CPU manufacturers to try to get the consumer base excited over nothing, since the CPU manufacturers have run into a brick wall in terms of clock speeds and can't offer anything BUT parallelism as a next step.

    --
    Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
    1. Re:Multi-core CPUs are just hype by richman555 · · Score: 1

      I agree with you on this. Im sure the software will need to be worked on to take advantage of all of this and its not gonna happen too quick. What is crazy is we just leaped into the 64 bit era as well. Developers should be taking advantage of that! I think it will take many years until we see the benefit of multiple cores, especially on a desktop. It has always existed when using multiple cpus, so I guess noone knew how to take advantage of it all these years. People will be surprised when their 4 core pc runs just as fast as one with a single core. AMD should be careful before they start going core crazy.

    2. Re:Multi-core CPUs are just hype by phrasebook · · Score: 1

      we just leaped into the 64 bit era as well. Developers should be taking advantage of that!

      You're complaining about dual-core hype but it seems like you've fallen for the 64 bit hype. There's nothing much to take advantage of. The "64 bit era" is double width registers, 8 more of them, and a larger address space. Having extra registers is nice but not a huge difference. And the 64 bit addressing thing is almost completely irrelevant.

      On the other hand have you actually used a dual CPU machine before? It doesn't sound like you have experienced how smooth it is. If you're just typing in Word you'll not feel any difference, but its been that way for years now already. If you're doing anything demanding at all, you will be impressed once you get a dual (or quad) core processor, no doubt about it. In a lot of ways you can't quantify it with benchmarks, but you will know what I mean when you try it.

    3. Re:Multi-core CPUs are just hype by trezor · · Score: 1
      • Having extra registers is nice but not a huge difference.

      Oh yes, it is. I recall my old Amiga with a straight Motorola 68020 outperform equivalent (MHz-wise) Intel CPUs easily.

      Upon trying to write x86 assembly I easily dicovered why. In the old Motorola assembly you usually write code where most part of the code did stuff. In the x86 world most of the code (I've seen) is loading, unloading and reloading data into and out of memory simply. Why? Lack of registers.

      I still find it commical that the old 16-bit Motorola 68000 has more registers than my Pentium 4. Comical and sad.

      --
      Not Buzzword 2.0 compliant. Please speak english.
  107. New programming paradigm? Um, no by Anonymous Coward · · Score: 0
    "What really needs to take root is a new programming paradigm." Sorry, you didn't get the memo on that, we've been using that paradigm for the past five or ten years now. Does anyone still write non-reentrant C anymore? Does anyone write thread-hostile Java classes ever?

    Both of these things are really simple. In C, just make sure that you don't have any variables (other than constants) declared outside of the scope of a function.

    In Java, it's the same thing. Just make sure that you have no non-constant static members of your classes. That's it. That's all you need to do for your code to be thread-compatible. As a side-effect, you'll have much less bugs and strange interactions in your code.

    Basically all Java classes are like this, because one of the major uses for Java is writing servlets (web applications). Guess what, the servlet container is multi-threaded, and in fact individual Servlet objects are used by multiple threads simultaneously. All "generic" or reusable Java code today is written with the idea that it could be used in a Servlet, so it's all thread-compatible.

    Note that there is one more level of thread safety, which is called thread safe Thread safe code allows multiple threads to access and modify objects simultaneously. Thread safety has to be handled correctly, and even within a threaded application, most of the classes don't need to be thread-safe.

  108. Re:Multicore is great, but not for the obvious rea by Nikker · · Score: 1

    With this technology would it be possible for a routine to execute on one core, and its output immediately sent to one of the other cores to be further processed?

    Since the CPU is the 'sweet spot' and is getting larger (ie from X registers to X * 4) all in the same place maybe this will change the way code can be written as well, have a routine process data from ram on core0, execute on core1, refine on core2, output on core3. Keeping all the work within the 'wheel house' would make at least stats, seti type stuff FLY because more work is being done by the 'chief'

    --
    A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
  109. Needing More Cores by Anonymous Coward · · Score: 0

    If you build it they will come.

  110. Re:Hyperthreading try Ada by Anonymous Coward · · Score: 0

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

    Ada does a pretty good job. Ada calls threads "tasks" and it is a built-in part of the language spec. gcc is a pretty good Ada compiler too. I use threads whenever I can (I've not done a school project in 20 years) Using Posix threads in C is tricky but Ada was designed for real-time multi-threaded applications, like controlling radar guided air to air missles, fly by wire aircraft or railway switchyards.

    I'd really hate to have to prove to a review commitee that my design for a flight control system that use C/Posix was correct

  111. AMD Supply Concerns??? by evilviper · · Score: 1
    People keep saying that Apple (and Dell) chose Intel because of AMD's limited capacity. I've called BS on it before, and this article should put the myth entirely to rest. And I quote:

    a second, Fab 36, is nearly complete next door to AMD's Fab 30 in Dresden, Germany. Scheduled to come on line early next year

    Through a partnership with Chartered Semiconductor - and IBM, who helped refine the manufacturing process - AMD will be able to pass excess demand onto Chartered


    There, now will the "supply concerns" people kindly shut the hell up...
    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  112. More cores need more bandwidth by mnmn · · Score: 1

    The FSB, memory bandwidth and the general bandwidth through the northbridge as well as the hated disk bottleneck will be issues with multiple cores. More cores will mean more data into and out of the CPU, so we cant linearly increase cores. Some Intel motherboards do dual-channel memory. We'll need quad-channel DDR2 for memory not to be a bottleneck.

    We'll also need more memory since more programs will be loaded before running, but that means the disk bottleneck will be less important.

    As for the software, I wouldnt worry. If one OS takes advantage of the multiple cores, Microsoft, Sun and IBM will be hard pressed to use the cores too.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  113. Re:BUS speed secondary, need something to put on B by SirTalon42 · · Score: 1

    You could run multiple things at once (one of the biggest reasons for going dual-core). As more cores start becoming common, developers will start writing apps that are better at running on multiple cores.

    Developers always figured out a way to use any extra power our computers got in the past, so I doubt this will be any different.

    Server apps will love more cores, especially when slashdot links to them, especially for highly dynamic but small pages.

  114. We don't have enough cores by Anonymous Coward · · Score: 0

    Until we have enough cores, people won't take multi-threading seriously enough. Right now it's a pretty useless skill job market wise. I wish I had learned a more valuable skill like web authoring or windows administration.

  115. What? by rejecting · · Score: 1

    Since when on slashdot did we start using "About the same time apple runs on intel chips" as a unit of time?

  116. DRM? by IPFreely · · Score: 1

    That sure looks familiar.

    --
    There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    1. Re:DRM? by AndroidCat · · Score: 1

      You get your jokes from that same weird web site too huh?

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:DRM? by IPFreely · · Score: 1
      You get your jokes from that same weird web site too huh?

      Nope, I wrote mine (paraphrasing Tolkein of course, but nothing else between).

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
  117. 32 cores by Tacky+the+Penguin · · Score: 1

    they could eventually have up to 32 cores

    And it'll still take two minutes to boot Windows!

  118. A Godsend for computer audio production by bitrex · · Score: 1



    4 independent cores on a single chip could be a godsend for professional audio engineers. I'm currently using an AMD-based digital audio workstation, and even with a high-end Athalon 64 playing back 48 audio tracks along with VST soft synths and plug-in reverbs and compressors can easily bring the system grinding to a halt if I don't keep my eye on the CPU usage meter. The latest version of Cubase supports clustering over Ethernet, but this is a PITA to set up properly and the last thing one wants in a music studio is a bunch of extra computers that have to be silenced with fanless cooling hardware or hooked up from another room.
    There are some pieces of PCI and Firewire audio equipment that are dedicated to running audio plug-ins to take the load off the CPU, but they are a terrible value for the money. The least powerful of them cost about as much as a top of the line video card, nearly all of them only run proprietary plug-ins, and most of them are based on processors that are relatively ancient (the bottom-end Creamware Scope PCI card, costing over $500, has 3 SHARC processors that came out over 6 years ago).
    To get to my point, with 4 independent cores, I could dedicate say 1 core to playing back pre-recorded audio, 1 to running virtual instruments, 1 to running plug-in effects, and still have a 4th to send MIDI data, or run a video-editing program linked to the sequencer, or whatever. I'm looking forward to this.

  119. Developer support will be there by Grave · · Score: 1

    Microsoft and Sony both decided multi-cores are the future with their next generation of consoles. Thus, game developers will begin to write code to take advantage of multi-threading. This will translate pretty quickly onto the PC, since dual-core processors are becoming more readily available. Games have long been the software that pushes new technology onto the market before anybody else thinks it is necessary. And so it will be with multi-core CPUs.

  120. Fabulous by debrain · · Score: 1

    If only A10 Tank Killer were multi-threaded ...

  121. Do we really need more cores? by fbg111 · · Score: 1

    Most programs don't hyperthread b/c until recently there were no x86 chips that could support it. Now there are, now programs will.

    --
    Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
  122. good to see amd following Sun's lead! by ratsg · · Score: 1

    Good to see amd following Sun's lead

    http://blogs.sun.com/roller/page/jonathan/20040910

  123. should anyone really be using... by justins · · Score: 1

    "by the time Apple has fully gone to Intel processors" as a unit of measurement for time? It reminds me of my old friend who used to use microwave ovens as a unit of measurement for height and width.

    --
    Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  124. Memory bandwidth and latency first, please. by Anonymous Coward · · Score: 0
    Thirty-two cores stuck on current memory systems will run far, far slower than a single core. Many processes are already memory or I/O bound. There will not be a full set of pins out of the chip for each core, so they'll have to share. They'll be taking a share of an already over-used resource.

    Please, focus on the external interfaces (memory, I/O). HT is nice, but not enough for 32 cores. Two is fine. Four, maybe with a bit of work.

  125. Are you kidding? by John+Pfeiffer · · Score: 1
    "...but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?"


    As someone who works in computer animation, let me just say this: HELL YES WE DO!
    --

    Friend: "The NIC is misconfigured..." Me: "No prob, I'll just telnet in and fix it." *Silence*
  126. 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

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

      I completely agree with your statement regarding the restriction present in current CPU/motherboard designs. Now, imagine some way around that memory bandwidth problem which assumes all other subsystems are secondary. My point is that in a few years, some of the bottlenecks of the current motherboard + CPU systems will need to be eliminated anyway. Why not optimize a system for CPU-memory bandwidth, under the assumption that all of the subsystems that have to interact with the physical world (2-d video, sound, network, basic I/O, HDD) will be orders of magnitude slower? Granted, GPU's are different from CPU's and use memory differently, but the current methods of accessing and structuring main memory are getting a little long in the tooth, no?

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

      The bandwidth problem isn't going to go away, the pace at which GPU's can adopt new memories outpaces the memory standards available for a platform.

      For instance, how long have we been using DDR SDRAM now? For a long time, now they are just getting around to DDR-II but we have yet to see any truly significant increases in performance.

      Meanwhile another video card release is around the corner. I just dont think you understand the complexity and seriousness of the problem. The cycles on which video card operate are much quicker then PC platforms could ever hope to move, by virtue of that fact alone unless a stunning breakthrough is made (like we're talking serious breakthrough or some radically new cost effective tech) nothing is going to radically change.

    4. Re:The Hypervisor will use 'em, I tell ya! by AvitarX · · Score: 1

      An order of magnatude is a zero.

      As in you said 1000-1000000 less.

      I am not a grammer Nazi, but this is misleading and using strongly defined words (phrases).

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    5. Re:The Hypervisor will use 'em, I tell ya! by blahplusplus · · Score: 1

      Definitions:

      1. order: a degree in a continuum of size or quantity; "it was on the order of a mile"; "an explosion of a low order of magnitude"

      2. a number assigned to the ratio of two quantities; two quantities are of the same order of magnitude if one is less than 10 times as large as the other; the number of magnitudes that the quantities differ is specified to within a power of 10

      www.cogsci.princeton.edu/cgi-bin/webwn2.1

  127. It'll never end. by Anonymous Coward · · Score: 0

    Bloody hell, why is it that every time there is an advance, of any kind, some goof-ball has to say "Do we really need this?". Shut the hell up, the answer is always yes.

    The move from 32 to 64 bit, yes we need it, the move from single to dual core, yes we need it.

    It annoys me as much as people who say "Aren't cars fast enough already, what's the point for making them go 300kph when the speed limit is only 120 max?". What a sad little world you must live in.

    I want more sophisticated and immersive applications, and so I want the technology now so developers can write it for me.

    I also want a solid gold toilet.

  128. the average joe... by torrents · · Score: 1

    most folks buy a new computer when their machine gets slow... most peoples machines get slow when the re's too much spyware for other apps to compete with...

    there are people who upgrade from 2.4ghz machines to 3ghz+ because their old machine wasn't powerful enough to surf the web or compose emails...

    i would imagine that much of the demand for faster chips is fueled by people who don't know enough to just format their machine and reinstall their os...

    --
    Get your torrents...
  129. 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.
  130. no it won't. by YesIAmAScript · · Score: 1

    Well, not unless I/O is free on your platform.

    And since it appears you are decompressing and compressing to the same directory, and thus same volume, you'll likely be I/O bound anyway, specifically seek bound.

    Multiple processors are nice, but are not nearly as good as a single faster core. Of course, if the price is right, I'll take it anyway.

    --
    http://lkml.org/lkml/2005/8/20/95
    1. Re:no it won't. by Anonymous Coward · · Score: 0

      It won't be I/O bound unless your system and hardware have no buffering.

      Personally on my system it wont hit the disk unless its over 83MB in one transaction. I'm running reiser4 with a big 64MB buffer on my controller card. YMMV, but it wont be I/O bound.

    2. Re:no it won't. by phrasebook · · Score: 1

      Multiple processors are nice, but are not nearly as good as a single faster core.

      Please explain. And don't talk about games.

  131. Multi-thread + Firefox by Eatmorecake · · Score: 0

    No, I don't expect Mozilla to write a multi-threaded version of Firefox. But Can they easily make a version of firefox that gives you an *option* of each separate window being a separate instance of Firefox? After all, we're already forced to open i.e. for a web-site every once in a while.

    Wouldn't a new instance of firefox be the rough equivalant of a multi-threaded browser?

    --
    Don't you mean.. BIZZARO! ..Signature?
  132. Chuck Moore by MadGravity · · Score: 1

    I read the artical and I was wondering if this the same Chuck Moore who invented FORTH in 1968 and build a Forth chip? I googled but couldn't find anything conclusive... even went to AMD and did a search.. //bob

    1. Re:Chuck Moore by Anonymous Coward · · Score: 0

      No, they are two different people.

  133. Who needs more? by skinfitz · · Score: 1

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

    It's when designers for pervasive products think like that when things become nasty in the future - for example, no program uses more than 640k of RAM right? So who needs more?

    In the future when multi core / multi CPU processing is taken for granted, we will laugh at the current "who needs more than one core?" question as we laugh at "who needs more than 640k?"

  134. Re:FP by Anonymous Coward · · Score: 0

    That IS a first post. Learn to read, pls kthx.

  135. Re:Multicore is great, but not for the obvious rea by julesh · · Score: 1

    does anyone actually make a "server" that doesn't have SMP?

    Yes

  136. the real benefits by Exter-C · · Score: 1

    The real benefits of having multiple cores. Weather that is 2 4, 8, 16 or 32 or 128 at the end of the day those sorts of cores at this stage are really designed for the server market or workstation market rather than the gaming/home user/general office computer usage patterns.

    having multiple cores will really benefit database applications, rendering etc. The other benefit would be the ability to brute force encryption in a much faster time if the application used to crack it was mt ready.

  137. Fallacies by Anonymous Coward · · Score: 0
    1. Apple switches to Intel
    2. AMD is going to make Intel's speeds trivial

    Conclusion- Apple doesnt need the speed anyway.

    We should label this the "Sour Grapes Fallacy".

  138. Will they call this by Anonymous Coward · · Score: 0

    Athlon 64x4?

  139. It was only a matter of time... by demon_2k · · Score: 1

    With limitations to how much you can clock one core, it was only a matter of time. AMD is also trying to get ahead of intel as they have trouble with their architecture and get too hot.

  140. Re:New programming paradigm? Um, no by swilver · · Score: 1
    In Java, it's the same thing. Just make sure that you have no non-constant static members of your classes. That's it. That's all you need to do for your code to be thread-compatible. As a side-effect, you'll have much less bugs and strange interactions in your code.
    I beg your pardon? You really believe that if you have no static members in your class that it is thread-safe?

    Let's take a very simple class, which keeps track of an X/Y location. It has only two private fields, an int x, and int y. There's a method like this:

    public void setLocation(int x, int y) {
    this.x = x; // point A
    this.y = y;
    }
    and another method that returns the coordinate:
    public Location getLocation() {
    return new Location(x, y);
    }
    What do you think will happen when Thread 1 calls the setLocation method, is interrupted at Point A then a Thread 2 starts to run and calls the getLocation method on the same object? You'll get a Location object with the new x location, but still using the old y location.

    The correct code would involve either externally synchronizing the Location object or by adding a synchronized block on this object around the setLocation code.

    Another solution would be to make your class Immutable (by making all fields final). The setLocation method would return a new Location object with the new Location, but would not alter the current Location object. Any other methods that do modifications will return a new Object as well. See the BigDecimal class for how this works; it is Immutable.

    I would suggest going with the Immutable pattern, unless the overhead of creating a new Object of the same type for each modification is too great. Otherwise use synchronized blocks. Using synchronization is a bit more tricky to get right however.

  141. linux compile world record is on a 32 way system by mAriuZ · · Score: 1

    I don't find the link now , is on linux kernel mailing list (Arnd Bergmann wrote/done it) and compilation is done in few seconds
    There is place for more cores on my desktop :)
    What shocked me is this device with 32 threads and runs linux and shipping today! :

    "Raza Microelectronics is shipping six high-throughput, multi-core, multi-threaded MIPS64 The XLR family of chips clocks up to 1.5GHz, and offers 16-32 thread processing engines"

    http://linuxdevices.com/news/NS8376430165.html

    --
    developer http://flamerobin.org
  142. Re:New programming paradigm? Um, no by Anonymous Coward · · Score: 1, Insightful

    Both of these things are really simple. In C, just make sure that you don't have any variables (other than constants) declared outside of the scope of a function.

    In Java, it's the same thing. Just make sure that you have no non-constant static members of your classes. That's it. That's all you need to do for your code to be thread-compatible. As a side-effect, you'll have much less bugs and strange interactions in your code.


    Tell me, how do you write any real software like that, where you're not allowed to keep an internal data representation for the duration of the program to share between threads? Essentially what you propose is to write your code forcibly singlethreaded, because that's what that style of writing boils down to.

    Real multi-threading requires locking parts of your internal data representation from the various threads in ways that don't just not corrupt your data, but also avoid deadlock and livelock. It is very, very hard. It is so hard that even java's own Thread class is not free of threading bugs (see Thread.suspend's documentation).

    The real danger with writing multithreaded code is that it is easy to think you understand it, and to think your code works right, and to see that affirmed by your code doing its job. But then one day you get a call from a customer who has intermittent and unpredictable problems with your software. And that's when you're really screwed. That's why we need better language-level constructs, that are so simple it is impossible to use them wrong. No language comes to mind that is like that.

  143. Re:New programming paradigm? Um, no by maraist · · Score: 1

    It's more than just setting up an environment as immutable.. What the parent post was talking about what procedure-local variable usage.. Statics are obviously an obsticle to MT, but so are field-variables. If a class is instantiated w/in the method and used by the method and invoked methods, then you are inherently thread-safe. For the purposes of sharing objects between method invocations, you have immutable singleton "verbs", and noun immutable "Value Objects". What's left are noun mutable "Entity" Objects. By separating design into verbs, value-objects and entities, then you know where you have to focus your synchronization efforts.. Mind you it takes WORK to maintain the value-objectness of non entities.

    The typical process for "verbs" is to first call set-attributes, init, then execute, then get-attributes. The problem is that if the verb object is passed around there is a constraint of single-threadedness.

    If on the other hand, the verb is written as a singleton which returns value-objects, then there is no dangerous of having multiple threads acceess the verb. But it often requires creating multiple transient objects.. For example:

    State s = myFactoryObj.setupVerb(attr-list);
    s.execute();
    s.getAttr();

    It's often easier to perform:

    myEntityObj.setAttr(..); ..
    myEntityObj.doVerb(..);
    myEntityObj.getAttr() ;

    But as the name implies, being an entity object, it is likely to be used in multiple contexts.

    By separating verbs from shared mutable entities, your code is more thread-safe, and as a bonus, more unit-wise testable.. You can trust that the entire "login process" works independently of a user object.

    The book domain-driven-design is an excellent read on such architectural separations.

    Such techniques are applicatable to even non OO environments. Side-effects are evil and stand in the way of many things. Making state modification explicit, you can more correctly identify synchornization points and more importantly reduce the number of them.

    --
    -Michael
  144. top is a liar by Anonymous Coward · · Score: 0

    Beware... top can wildly overestimate numbers of processes. It gets fooled by mere threads.

  145. Re:New programming paradigm? Um, no by maraist · · Score: 1

    Essentially what you propose is to write your code forcibly singlethreaded, because that's what that style of writing boils down to.

    Not at all.. In another post, I suggested the following.

    Collection input = repository.findE(...);
    Collection output = MTCollectionUtils.map(input, myMapper).

    The above essentially works like:

    for (E e : input)
    {
    F f = operation on e;
    output.add(f);
    }

    But allows the generic application of farming out to worker threads. Essentially explicit SIMD operation.

    This could be the actualy hibernate re-materialization, or reporting or aggregation.

    The point here is that this is a simple example of a procedure-local variables being used in an MT way.

    As for concurrent access to "entities"; Objects which have uniquely identifiable properties (as opposed to value-objects like a date), systems like java provide a relatively easy way to access them.. Namely object-synchronization. This is most perfectly exemplified in Collection/Map synchornization. Maps are repeatedly used in MT environments in java, yet they are very reliable. (Rather when using Hashtable or the Collections.synchronizedMap() wrapper).

    Concurrently entity modification in today's environment can easily utilize "optimistic" locking, whereby the entire transaction can be marked as repeatable.. You initiate a repeatable transaction. You load all relavent entities from a shared environment (such as hibernate or directly from the DB), then you update a version of some sort (like a modified-timestamp on each entity). Then you go to push the objects back to the share environment.. But in doing so, you check to make sure you have the latest version.. Otherwise you throw a concurrent modification exception... The transaction is rolled back as if nothing has happened.. At which point you minorly annoy the user by providing an error screen, or you intelligently catch the exception and restart the entire process.

    The above obviously is most suitable when there are low probabilities of conflict, as this provides the highest concurrent execution performance. Not to mention is the least intrusive form of concurrent execution.. The only thing it requires is adherence to a transactional model.. But mysql's INNODB or postgres provide this nicely without an EJB framework.

    When overlapping modification is too likely, then you can utilize explicit blocking locking methods. Often such locking occurs at the DB access point, not the application level. So assuming that you have an adaquate DB abstraction layer such as OJB or hibernate, then you're safe even here in terms of writing bug-free code.

    When a mixture of performance and concurrent modification of the same items is paramount, then you'll probably have to resort to object locking (or even finer grained locking).. But I would venture to say that this is rarely needed.. As the benifits of writing the slower but bug-freer code and purchasing more expensive hardware is not to be under-estimated.

    Of course there are programming models that don't exactly conform to a web servlet / mainframe (SIMD) work-flow. So your mileage may vary.

    --
    -Michael
  146. Overcompensating maybe? by Anonymous Coward · · Score: 0

    Sure, there are going to be a few hardcore gamers with more cash than common sense, and some content creators who will love to have something like this, but the majority of the desktop-using world doesn't even need the power they have... this just seems like overcompensation for the next-gen consoles like PS3.

    It's cool that the option is going to be out there, but I can just imagine having to wear hearing protection while using my standard bargain-basement 6-core workstation because of the ungodly mass of cooling apparatus required to keep it ticking. If that happens, to hell with computing power, I'm going to take the PC I can run in a residential area without breaking any noise bylaws. Laugh now, but just look at how loud they've already become since they days a CPU didn't REQUIRE a fan.

  147. nah by hawk · · Score: 1

    It's not like it's an intel chip :)

    hawk

  148. buffering doesn't reduce I/O by YesIAmAScript · · Score: 1

    Where did you get that strange idea?

    Buffering does not reduce the amount of I/O you do. If you need to read data, you need to read it. It has to come from the drive. Even if it comes from a buffer, it came from the drive to get into the buffer.

    No amount of buffering will fix a problem with being truly I/O bound.

    Caching doesn't help either, if you are reading a large, sequential data set and producing another. Look ahead caching can maybe help with that, but if you are truly I/O bound, you won't get a chance to read ahead, because you'll be using the I/O for needed operations constantly, with no time for speculative operations.

    --
    http://lkml.org/lkml/2005/8/20/95