Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

DIY 1980s "Non-Von" Supercomputer

Posted by kdawson on Fri Feb 20, 2009 10:15 AM
from the try-this-at-home dept.
Brietech writes "Ever wanted to own your own supercomputer? This guy recreated a 31-processor SIMD supercomputer from the early 1980s called the 'Non-Von 1' in an FPGA. It uses a 'Non-Von Neumann' architecture, and was intended for extremely fast database searches and artificial intelligence applications. Full-scale models were intended to have more than a million processors. It's a cool project for those interested in 'alternative' computer architectures, and yes, full source code (Verilog) is available, along with a python library to program it with." Hope the WIPO patent has expired.
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Neat... (Score:2, Insightful)

    So, that's neat and all but did I misunderstand something. His model doesn't seem that powerful unless he was using modern processors?
    • Re:Neat... (Score:5, Informative)

      by kdawson (3715) (1344097) on Friday February 20 2009, @10:26AM (#26929667)
      Check this out...

      Article at /dev/null [dnull.com].

      Everything that you wanted to know and more. An interesting read.
      • Re:Neat... (Score:5, Interesting)

        by mea37 (1201159) on Friday February 20 2009, @11:03AM (#26930233)

        Of course a modern computer can simulate a 1980's computer. It would probably take about a day to write a functional simulation in Java.

        For that matter, it's not like this computer can do anything that a modern computer can't do in spite of the different architecture. It was designed to do certain things fast, but anything off the shelf today could run circles around these relics regardless of such optimization. (To GP's point -- since the article indicates that he was building to the functional design of the original, it's probably not powerful by today's standards. He may have used faster components than they had back then -- and he obviously used smaller components than they had back then -- but we're not looking at a modern billions-and-billions-of-transistors-on-a-chip optimized-in-ways-you-cannot-comprehend heat-sink-needing CPU.) So once you talk about "what can it do" at a useful level of abstraction, the answer is "nothing all that practical".

        But that's not the point, is it? This kind of stuff is a hobby and a fascination to some people. I'm interested enough that I might write a software simulation of the machine, but not interested enough to build one. This guy was interested enough to build one.

        It's not like stamp collectors are saving up for a big letter-writing campaign...

        • It's not like stamp collectors are saving up for a big letter-writing campaign...

          That's what they want us to think....all the while, draining the stamp supply!

          But seriously, I understand your point and I can respect that. I just wanted to know if it could actually do anything useful. If not, cool; he's got a pretty neat toy now and that's well worth it.

        • Re: (Score:3, Interesting)

          An architecture like this is useful for massively parallel algorithms. It could theoretically outperform modern desktop or server systems within that domain.

          In fact, a rebuild of COLOSSUS [wikipedia.org] was estimated to be 240 times slower than a modern desktop at decoding old German cryptographic signals. That might not sound that good, but if you run Moore's Law in reverse over 60 years, you should get a factor a lot higher than 240.

        • Re: (Score:3, Insightful)

          "But that's not the point, is it? This kind of stuff is a hobby and a fascination to some people. I'm interested enough that I might write a software simulation of the machine, but not interested enough to build one."

          I'd be very interested to hear your opinions of these monsters after you've actually attempted to convert one into a real hardware emulator.

          Something tells me if you're really serious about doing it in Java though, I'll be waiting a bit more than "about a day".
        • Re: (Score:3, Informative)

          Agreed. Every time something is posted on slashdot there inevitably comes a "yeah but this isn't useful to me" post. Ok, we get it. It wont solve _your_ problem. In fact it might not solve any problem at all. It may just be cool.

          It baffles me that some people don't get that. It's like they just tossed the "right brain" out the window because it wasn't relevant to the logical problem at the forefront of their mind. Think outside that box you call a head for once.

          I am always surprised where I find inspiration

          • These days Java doesn't run that slow:

            http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=gcc&lang2=gcj&box=1

            C'mon.
              • Re: (Score:3, Interesting)

                LOL

                4x slower is much better than 40x or 400x slower (see gcc vs Ruby), that's what I wanted to show. Where did I say that gcj was faster than gcc?
          • Ok, he was able to put a 32-node system on an FPGA. You interconnect a few, and you'll have a special-purpose procesor for a couple-hundred-record dataset. That won't do "huge database searches", I'm afraid. Ultra-fast processing of a few hundred records is not impressive.

            If you're going to tell me I'm talking out my ass, you might want to do the math first.

  • Call me... (Score:4, Funny)

    by K8Fan (37875) on Friday February 20 2009, @10:29AM (#26929749) Journal
    ...when he's emulated a Connection Machine [wikipedia.org].
    • Who the hell modded the parent insightful? To the parent: call me when you ever do anything except post here.

    • by clary (141424) on Friday February 20 2009, @12:42PM (#26931813)

      I got a chance to use a Connection Machine (real, not emulated) in the late 1980s, just a couple of years out of college. It was an internal R&D project for a defense contractor, porting a computational fluid dynamics program I didn't understand from Cray vectorized Fortran to the CM's *Lisp. Fun stuff.

      I even got a chance to visit Thinking Machines headquarters in Boston, and hear Danny Hillis speak. Here he was speaking to a room full of suits, dressed in jeans, sneakers, and a T-shirt. I remember thinking at the time that being able to do that was quite an indicator of success.

      Yeah, yeah, I know...offtopic, overrated, etc. So mod me down if you must. (Or is that just reverse psychology on you moderators? Muhahaha!)

  • Holy CRAP! (Score:3, Interesting)

    by zappepcs (820751) on Friday February 20 2009, @10:32AM (#26929797) Journal

    FTFA:

    What if I want to build my own?

    Yay open-source! The code isnâ(TM)t exactly polished, but in the interest of promoting weird retro computer architectures, Iâ(TM)ve provided the python library I wrote for it and the verilog code for the Processing Elements. Wire together as many as youâ(TM)d like! Use it to catalog all of your WhiteSnake and Duran Duran tapes!

    How the hell did he know about my music collection?

    This is pretty cool. 32 core non-von computing architecture on an FPGA. This is more or less the ARM process... license the IP and put it in an ASIC, except this is free. I've often wondered what might be done with the millions of 30xx series FPGAs that are out there in the world. I could lay my hands on probably 40-50 free. If there were some way to do something like this with them, that would be awesome. I like hobby robotics so it's tempting even though they would not be very power efficient. Still, that's a lot of potential processing for free. Now I'm going to have to look for free/open source code for them.

    • You know, I always wanted to implement a VAX processor on an FPGA. Or better yet (but impossibly expensive), a real, 45nm, full-out printed die.

      I used to collect VAXen. They were powerful boxes for their day. And yes, I /did/ have a Beowulf cluster of them - 8 VAXStation 3100s, a VAXStation 4000/60, and a MicroVAX 4000/200. NetBSD ran great on them. But with modern, fast processors with tons of memory... muahahaha.....

      But seriously - take all those poor legacy folks out there who still have VAXen in busines

      • That's awesome. I worked with a company once whose lifeblood was a single redundant PDP-11... yikes.

        I've got a hand full of Motorola MVME systems in the garage that I'm either going to eBay or play with... I can't decide what to do with them really. Guess I need to get one up and running. Only have AUI network cards for them, so could be awkward. I've been called a bit weird at times too... sigh

    • Re: (Score:3, Informative)

      This is more or less the ARM process... license the IP and put it in an ASIC, except this is free.

      Yes, ARM ships soft cores, ST Microelectronics uses soft cores (at least internally), Altera, Xilinx, OpenCores. Here's [wikipedia.org] a list so you don't search for "soft core" and find something totally different.

      • I hope you know that you just gained karma points by passing up the opportunity for a goatse link. I have to say that I've been rather impressed by some of the ARM processors that are out there. Some tweaked for multimedia apps, others for motion control etc. I've not done detailed comparison between the TI Omap and ARM, but I have an ARM-7 proto board I've yet to play with. May hack an older phone for the Omap complete with screen for a small robot. Thanks for the links

  • Transputer? (Score:5, Interesting)

    by Muad'Dave (255648) on Friday February 20 2009, @10:34AM (#26929827) Homepage
    Wasn't the transputer [wikipedia.org] an example of this architecture? I'm old enough to be able to say "Get off my lawn!" and remember when the transputer came out; it caused quite a stir.
    • by N Monkey (313423) on Friday February 20 2009, @10:53AM (#26930079)

      Wasn't the transputer [wikipedia.org] an example of this architecture? I'm old enough to be able to say "Get off my lawn!" and remember when the transputer came out; it caused quite a stir.

      The transputer was a RISC-ish CPU with 4 high speed DMA/serial links allowing it to be easily connected to other Transputers (each with its own local memory) to form a network. As such, it could be used to build a large MIMD system - not a SIMD one.

      Transputers (+ the Occam language) supported multi-threaded programming with very fast context switches and, for its time, they also had very good FP performance when compared to the contemporary x86+float coprocessor.

    • Re:Transputer? (Score:4, Interesting)

      by AtrN (87501) * on Friday February 20 2009, @12:57PM (#26932069) Homepage
      The transputer architecture was quite different. It wasn't SIMD but just a processor with communications links, some on-chip RAM and h/w support for CSP - a scheduler for threads (called a process in occam/transputer-land) and comms via synchronous, uni-directional channels. The scheduler and stack machine architecture made context switches very fast and communications easy. The h/w was notable that you just needed some power and a clock to get a transputer machine up and building multi-processor systems wasn't too difficult.
  • by Anonymous Coward on Friday February 20 2009, @10:44AM (#26929935)

    Folks just don't understand what FPGA's do.

    "So, that's neat and all but did I misunderstand something. His model doesn't seem that powerful unless he was using modern processors?"

    It's implemented in HARDWARE. Everything runs in parallel. To do the same on a "modern" processor, would require 300-400Mhz. A FPGA running at a [modest] 25Mhz could get the same or better performance.

    "I can't help but wonder if this couldn't be emulated for a fraction of the price. Are there any virtualization systems out there that could accomplish what this guy did? I imagine something along the lines of GNS3 might work..."

    FPGA's are cheap. A Spartan-3 board can be had for 100-200, and probably hold 2-3 32 node cpu's.

    Programmers just don't understand the difference between say verilog, and C/C++/Java.

    verilog is the basic building block of CPU's. Everything is done in PARALLEL by default, while in C++/Java everything is done SERIALLY.

    • Interestingly, though, while FPGAs are cheap, they're still not as cheap as MIPS on a modern, mass-market Intel or AMD chip.

      There's a fundamental natural limit -- some kind of physical constant that nobody has named yet -- that governs how much computing work can be done on a given amount of silicon, using a given amount of power. It's far from clear that massive parallelism is the way to get closest to that limit.

      The demise of Moore's Law tells us that at least some parallelism will have to be involved, b

        • What the hell does MIPS have to do with an FPGA? MIPS is an ISA, not a large-scale programmable embedded device/chip.

          It has everything to do with getting computational tasks done.

          This "fundamental" natural limit... did you learn this at ITT Tech or something? I think and really hope you understand that when a transistor is shrunk in size, its power consumption during switches drops as well?

          Just curious, since you seem rather knowledgeable. Why wasn't your PC made by Thinking Machines?

        • What the hell does MIPS have to do with an FPGA? MIPS is an ISA, not a large-scale programmable embedded device/chip.

          Sorry, to clarify (with an </i> even!): MIPS is not an "ISA," whatever that is. MIPS is a rather generic term for computational throughput (millions of instructions per second). A million cores running at one instruction per second generates 1 MIPS, so does a single core running at a million instructions per second.

          You will use less die real estate and less power with a general-purpos

        • The parent does seem to be speaking about things he knows nothing about but to be entirely fair....

          *Its probably the case that anything programmable device you were going to mass produce you could probably do the computation it needs to do more cheaply by using off the self MIPS products then if you used a FPGA in some configuration of your own design.

          *He is probably correct that there is a hard limit on the amount of logic operations you can do with a given number of joules of input energy and a given size

  • but it ain't a supercomputer (at least not any more, by today's standards.)

  • I managed to catch this one before the site went down.

    Cool stuff. The author says that these were originally designed to have each processor operate on a record in a database. All concurrently.

    I imagine the speed of such a system would be staggering... though tough to implement for large data sets. Still pretty cool.

    The Python library apparently implements machine code functions so he can debug in real time from the command line. Not my cup of tea, but cool for people that like to fiddle with machine code.

    • I found this original intent of 1 processor = 1 record interesting as well, but more from a "so that's why this isn't around today" standpoint.

      In the day it may have sounded like a promising approach. 1M records may have sounded like a big dataset. But today there are two types of dataset -- those so small that a conventional computer can handle them just fine, and those so big that this architecture cannot scale to them. I work in a data warehouse that loads several million records per day.

      To be fair, I

  • Seriously, nice post, nice work by the engineer. Inspiring, and learned something new. FPGA... who wouldn't want to try one himself or herself?

  • IANAL, but it appears 20 years has elapsed internationally, and that US patents 5,021,945 and 4,847,755 are beyond their 17 year life. This is assuming these are the only live applications or continuations.
  • I wonder if something like this would be good for DSP (not necessarily real-time) work. There is a DSP method called "lumped modeling" which uses binary trees to attach together small algorithms derived from bilinear transforms of electronic components (resistors, inductors, capacitors). The networks go together in a way that look almost just like electronic circuits.

  • MasPar (Score:4, Interesting)

    by mdegerne (1482827) on Friday February 20 2009, @11:39AM (#26930801)
    For several years I worked on a SIMD system called MasPar. The system had 8192 processors. It was installed in 1991 and it was not until about 1998 that conventional computers running Oracle could even come close to the performance for data warehouse applications. Sure, it's slow by today's standards, but I bet a modern version custom built would be an awesome code breaking and data analysis system.
    BTW: the system was used to help with the human genome project and to search Medical Services Plan data by the Province of BC. It finally decommissioned in 2000 (or early 2001).
    • One of my classmates was a Masspar founder. In the 1980s it readily doable for a 2 to 5 person team to design a custom CPU with the new Mead-Conway type circuit compilers and Silicon-fab factories out there. Lots of clever ideas too. Plus UNIX (before Linux) was a low cost way of porting an operating system that customer scientists were familar with. They all claimed C-compilers that made porting code easy. NOT! I put energy industry code on a half-dozen of them.

      The problems was the second generatio
    • It was slow for 1 process. But when you started to use all the processors that thing sped up. If well designed code you can drop it by 1 Big O segment O(n) can be done in O(1), O(n^n) can be done in O(n)

  • Hope the WIPO patent has expired.

    Don't worry, it's probably public domain by now.

    Unless someone put it to music, that is. [royaltyfreemusic.com]

      • I was just thinking the same thing! Maybe we can use it to display pictures of Natalie Portman, naked and petrified and covered in hot grits. I just bought the goatse.cx domain, we can use it!

    • Re: (Score:3, Insightful)

      And I could buy a chair from WalMart, but I get more satisfaction out of building one.

    • Re: (Score:3, Insightful)

      With that attitude and week-old UID, its no wonder America is suffering in science and engineering.

        • That's fascinating, but has nothing to do with your original point, which questioned why someone would find it fun and a positive learning experience building something that isn't the most powerful computer on Earth.

          It's jolly nice to hear that "Linux" is useful to people who have no imagination or desire to better themselves though.

            • I'm not imagining anything. I'm KNOWING you're the kind of asshole who posts on every Slashdot article about someone's homebrew project whining that it isn't "useful" in some arbitrary utilitarian sense and therefore is pointless. I'm knowing you do this, because like the others you have no imagination, no desire to learn, and no empathy with those who do.

              Oh, and it was you who raised Linux, in what appeared to be some kind of ironic "You're criticizing me, but I run Linux! Linux I tell you! Therefore I

        • And Dell ? Who uses Dell.

          In the Small and Medium Business (SMB) market, they have a 28% share in the USA and 10% worldwide. There are almost a quarter million SMBs in the USA alone.

          http://www.dell.com/downloads/global/corporate/about_dell/FYIR_08_Slide_9.jpg [dell.com]
          http://www.census.gov/epcd/www/smallbus.html [census.gov]

          Apparently quite a lot of business use Dell.

    • Very nice! Did you work on it? What happened to the project?

      Actually I just found a paper about it: http://dli.iiit.ac.in/ijcai/IJCAI-81-VOL-2/PDF/072.pdf [iiit.ac.in]

      The author of said paper might know Chris Fenton in some way, since the verilog code mentions a company named

      // Company: D.E. Shaw Research
      // Engineer: Christopher Fenton
      //
      // Create Date: 19:54:35 01/29/2008

      Actually, I found a book at google

      "Strategic Computing, By Alex Roland, Philip Shiman" that mentions DADO and NonVon being cance