Slashdot Mirror


End of The Von Neumann Computing Age?

olafo writes "Three recent Forbes articles: Chipping Away, Flexible Flyers and Super-Cheap Supercomputers cite attractive alternatives to traditional Von Neumann computers and microprocessors. One even mentions we're approaching the end of the Von Neumann age and the beginning of a new Reconfigurable computing age. Are we ready?"

11 of 243 comments (clear)

  1. Well, by 0x00000dcc · · Score: 5, Insightful
    Paradigms in science are not meant to last forever, they are usually broken, and computer science is no stranger to this candy.

    --

    -- (Score:i, Imaginary)

  2. Three articles by stratjakt · · Score: 4, Insightful

    Two requiring a subscription, and one a goofy PR piece about wingnut FPGA "computers" that cost 200Gs and up.

    Anyways. The FPGA machines sound intriguing, but really arent as 'all powerful' as the non-techie Forbes piece makes them out to be. Not everything is parralellizable, not everything is conducive to dynamically altering the instruction set as you run it.

    The traditional von neumman architecture is the best solution for many processing tasks, lots of stuff is just conducive to a sequentially operating processor. It's probably the best for all around general computing.

    And 200 grand is probably better spent on a beowulf cluster of something than one of these boxes, but I'm sure they have a niche of usefulness somewhere.

    I dont expect to see the traditional computer go anywhere anytime soon.

    --
    I don't need no instructions to know how to rock!!!!
  3. Futureware by Ghoser777 · · Score: 3, Insightful

    "Gilson has not subjected his machines to industry benchmark tests."

    Yeah, I have a computer doing 1 trillion giggaflops a second powered by my pet hamster. No test results can disprove me yet!

    "I live in the future."

    Clearly.

    "'It's really a far-out research machine,' he says. 'It's more about what's coming in the future.'"

    Yep. So the title is kind of misleading. This is all stuff in the future, like flying cars and such. We could make flying cars if we wanted to, but we really don't want to yet (economic and regulatory reasons). This technology has the impedments of still really being explored and economic feasibility.

    It'll rock when they're ready, but it's nothing to go nuts over yet.

    F-bacher

    --
    James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
  4. Still von Neumann based computing by Traa · · Score: 2, Insightful

    A Parallel computer can't actually do anything that a serial computer can't do, other then doing things more efficiently. Any von Neumann based computer can simulate a parallel computer and thus achieve the same computed results.

    The hyped 'we are on the eve of the next generation of computing era' seems added by the startup companies marketing departments and eagerly taken over by the reporters.

    Not to say that the new generation of reconfigurable computers (FPGA are what...30 years old now?) arn't a cool thing to have.

  5. What I think might have merit... by Fnkmaster · · Score: 3, Insightful
    Much like custom vertex shaders and reconfigurable GPUs have greatly increased the capability of modern graphics cards and greatly reduced the amount of CPU cycles required for very complex real-time 3D graphics, I think that a reconfigurable logic coprocessor model has real potential to take certain computationally intensive repetitive tasks off the hands of a dedicated CPU. The problem of course is that the technology doesn't currently exist to, say, compile an arbitrary chunk of C code into a program that can run on an FPGA computer - the compiler technology is mentioned in the article as the current limiting reagent. A common understanding of how this should work needs to be developed, and rules for when it's useful, and the relationship between I/O constraints and processing speedups needs to be taken into consideration.


    In general this "partitioning" process seems to be somewhat domain-specific and difficult. If you could do something like integrate into a JIT environment something that identified computationally intensive, repetitive, small-sized chunks that aren't I/O constrained, and be able to generate FPGA code on the fly, that would be tres cool.


    Can anybody really explain why it's so hard to make a somewhat higher level language that can be compiled down to VHDL and combined with various chunks of library code into a specific FPGA configuration?

  6. Nit Picking by Acidic_Diarrhea · · Score: 2, Insightful
    I disagree, but respectfully.

    You are correct in the general case BUT there are cases where this is not correct. Let's suppose that we've got a task which, using von Neumann architecture, will take an amount of time that exceeds the expected lifetime of Earth. Now, using a parallel computer, in the theoretical sense will see this task take a reduced amount of time. Ignoring the possibility that the von Neumann based computer is shuttled to a safe environment before the destruction of Earth, the task will never be completed. But the parallel computer will complete the task because it does things more efficiently! The types of tasks I am envisioning here are those where time is critical. Let's say you need to know which way to steer my plane before it crashes. If the task isn't done as efficient, the plane crashes. Thus, a parallel computer can perform the task while the von Neumann cannot.

    I'm nit picking but that's just to point out that with some tasks, if you can't do it the most efficiently, you can't do it at all.

    --
    I hate liberals. If you are a liberal, do not reply.
  7. Configurable Coprocessors by LordMyren · · Score: 2, Insightful

    Wouldnt it be damned smart to start standardizing some sort of FPGA addon card? There's plenty of obvious applications: crypto, 3d acceleration.

    Hardware would just be a PCI-X card with a bunch of FPGA's thrown on, and a microcontroller to handle programming of them and PCI arbitration.

    The real trick isnt the hardware, its standardizing the software to make it readily accessible to anyone and everyone. When Quake can start using your FPGA, it'll be a happy day in the neighborhood (RIP).

    To he who gets rich off this, I demand freebies.
    Myren

  8. Who cares? by WolfWithoutAClause · · Score: 2, Insightful
    My laptop has more processing power than a Cray-1, I don't even know what to do with my 750 Mhz desktop half the time.

    What do I need more processing power for exactly? Seriously?

    Most applications that need more grunt probably already have ASICs designed for them (e.g. graphics cards), and ASICs are much more efficient anyway; and in quantity, cheaper.

    So you're looking for an application that doesn't already have any hardware for it, and can't be attacked by a bunch of cheap Athlons or Intels or other supercomputers. What exactly?

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
    1. Re:Who cares? by soundofthemoon · · Score: 2, Insightful

      Alan Kay said (and I paraphrase): A big enough quantitative difference becomes a qualitative difference.

      After a point, you're not just running the same software slightly faster; you're running whole new classes of software. Just think, ripping and playing audio mp3s wasn't possible on home computers of 10 years ago. Even if you'd had the software, it would have taken forever to rip stuff, and you wouldn't get realtime playback of good enough quality. Now You can rip, mix and burn on almost anything you buy today.

      If you up processor power by an order of magnitude (or two), entirely new things become possible.

  9. Re:FPGA's for Sw engineers:so how hard is this stu by Obsequious · · Score: 2, Insightful

    One of the things I do is that they'll hand me Yet Another Board(TM) and tell me to make it work. This basically means making the pretty LEDs blink, generate square waves on pins to view on the o-scope, etc. This is always fairly easy, and fun.

    The next step up is useful things, like the recent colored globe thingy. That's mostly electronics, with a little bit of hardware thrown in for good measure. Replace the PIC with an FPGA or CPLD and away you go. I once wrote a framebuffer that talked to the RAMDAC -- so I basically built a very basic video card -- for copying video from a webcam to a monitor. That was very challenging, but it worked, and it was cool and all. The common link among all these is that your entire problem basically fits on the FPGA/CPLD.

    However, when people say "FPGAs are going to change the world" they are talking about supercomputing applications, or killing the von Neumann model or something. This is where the shit hits the fan.

    The reason is that in these cases the whole problem does NOT fit in a single FPGA. Imagine trying to take two CPLDs and make them talk to each other. Now imagine trying to make sure it works at 200MHz without hiccups. Now try making that interact with the PCI bus so you can do DMA busmastering to fetch memory from the host system hardware fast enough to keep the pipeline filled for your number crunching.

    So, each individual part is pretty easy: I built the core of a calculation for example, and verified that it works in simulation. However, the "boundary effects" are a nightmare, and we still have to talk to memory, etc.

    You make an analogy to software, but I bet what you're really seeing is that the software you've developed is more "complicated" than the hobbyist projects you've done, which is why it's harder.

    But in the end you're right -- it's not really all that hard. In my experience software people underestimate their skills and assume they will never understand hardware. Hardware IS fun and I think more people can do it. All I'm saying is when you get into the realm of developing giant number crunching apps on it, it gets just as difficult (if not more so) than equivalently large software.

  10. Generality by AlecC · · Score: 2, Insightful

    All three articles are talking about highly specialised, basically single function, machines. As other posters have correctly pointed out , programming such machines is very, very difficult. When you manage to do so, they can be very powerful indeed. But they do only one job, even though they do it very, very well. Saying that they are likely to replace general putpose CPUS is like sayign that F1 cars of Indy racers about to replace pickups or family cars. They may do a job worth doing in their specialist area, and they may make money, bu they are never going to replace the VN machine in 90% of the places it is used.

    One of them is a specialised web server. Fine, there are a lot of web pages out there that need serving. I can well believe that you can build an FPGA-based static-page web server which will beat the pants of a Sun/Intel server doing the same thing. But what about dynamic content? is their DBMS as good as the latest Oracle or MySQL? Willit, say, handle the internationalisation issues that those systems will? Bet it won't. Will it runs PHP or Python natively? I doubt it - I bet it hands that over to a traditional back-end processor.

    As has also been said elsewhere, thus kind of hype is a repeated event. A specialist machine outperforms a generalist machine at its specialist task, and journalists claim that the world has turned upside down. Connection Machine, Deep Blue, GAPP, transputer... Just a few I can call to mind.

    --
    Consciousness is an illusion caused by an excess of self consciousness.