DIY 1980s "Non-Von" Supercomputer
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.
So, that's neat and all but did I misunderstand something. His model doesn't seem that powerful unless he was using modern processors?
Bored at work? Play Game!
Does it run Linux?
SIG: TAKE OFF EVERY 'CAPTAIN'!!
Obviously not running on a supercomputer...
Then I'm not impressed.
...when he's emulated a Connection Machine.
"How perfectly Goddamn delightful it all is, to be sure" Charles Crumb
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.
Support NYCountryLawyer RIAA vs People
a binary tree in hardware, whats next? implementing google file system in hardware?
Wasn't the transputer 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.
Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
WIPO does not grant patents, The document indicates that it entered the national phase in Europe. The publication date was in 1987, so the patent should be long expired by now.
The US patent was filed on June 26, 1989 and granted on june 4, 1991. 20 years from filing is June 26 of this year. 17 years from granting has already passed. However, it is 20 years from the earliest filing date, and that date is the claimed priority date of October 31, 1985. Therefore barring some extension that may have been granted, the US patent ended 17 years after grant, or June 5, 2008.
Have fun!
http://74.125.95.132/search?q=cache:r2RU-elaMN4J:chrisfenton.com/non-von-1/+non-von1&hl=en&ct=clnk&cd=1&gl=us
I'm perfect in every way, except for my humility.
Still not.
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.
but it ain't a supercomputer (at least not any more, by today's standards.)
Those using pirated Tinysoft signatures(TM) are a real threat to society and should all be thrown in jail.
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.
Wasn't the transputer 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.
http://chrisfenton.com.nyud.net/non-von-1/
Seriously, nice post, nice work by the engineer. Inspiring, and learned something new. FPGA... who wouldn't want to try one himself or herself?
This is my sig.
I used to have free time too. That looks like a lot of fun.
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.
The world is made by those who show up for the job.
Like, ew and stuff.
James
D. E. Shaw always has job vacancies:
http://chronicle.com/cgi2-bin/texis/jobs/search
* Quantitative Analyst
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Generalist Associate (New York)
D. E. Shaw Group (New York) 2/10/2009
Profile Learn more in our Employer Profiles
* Executive Technical Support Specialist (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Ideal Day Job
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Tired of Consulting?
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Special Technology Coordinator (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Tired of Academia?
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Government Adviser Associate (New York)
D. E. Shaw Group (New York) 2/10/2009
Profile Learn more in our Employer Profiles
* Senior Database Administrator (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Investor Relations Associate (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Rotational Associates Program (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* For-Profit Roles for Nonprofit People
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Strategic IT Security Adviser (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Investor Relations RFP Writer (New York)
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Quantitative Developer
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Software Developer
D. E. Shaw Group (New York) 2/20/2009
Profile Learn more in our Employer Profiles
* Receptionist/Administrative Assistant
The author is a goober. Anyone who works with tech these days should know patent basics. And that includes the knowledge that THERE IS NO SUCH THING AS A WIPO PATENT.
With WIPO, you file a PCT application. It gets examined, and they issue a Written Opinion. And THEN you can take your application into different countries that you designate, and try to get patents in those countries.
See http://en.wikipedia.org/wiki/Patent_Cooperation_Treaty
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.
-----
"You spilled my egg... I needed that egg."
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.
You are not alone. This is not normal. None of this is normal.
The link in the parent comment caused my X session to unexpectedly terminate. No idea how he did it, or if it was intentional, but it happened.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
A 31 node SIMD? It's called GEE PEE YEW.
This Account Has Exceeded Its CPU Quota
slashdotted
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).
What else do you imagine ? I'm guessing you have one heightened sense of imagination, which I would probably associate with a gun totting Republican, who also happens to be a linux fanboy, and wishes to bring Linux into a subject that has nothing to do with it.
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 am cool!" defense against the suggestion you might actually be a wannabe geek. You do know that Linux wasn't utilitarian once too, right?
No, you're not cool. You're an ass.
You are not alone. This is not normal. None of this is normal.
Photo (with my cell phone) of an original NonVon1 PE Chip
see:
http://www.flickr.com/photos/35583156@N03/3295655132/
If there is interest, I'll take a photo with a proper camera when I get home.
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 generation machine. The prototypes got out the door, but only found a handful of customers - usually bold geeks. The second generation CMs, MassPars, Convexes, etc. then took 3-5 years. In the meantime that was about 3 to 5 Intel commodity chip generations which caught up in the meantime.
The 1990s were expandable commodity clusters. Several of my friends started software services companies in their garages with a few dozen nodes, then expanded as business grew. Several cashed out very well. The 1990s approach made economic sense, but the 1980s were more intellectually interesting.
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!)
"Rub her feet." -- L.L.
And I could buy a chair from WalMart, but I get more satisfaction out of building one.
With that attitude and week-old UID, its no wonder America is suffering in science and engineering.
Actually I just found a paper about it: http://dli.iiit.ac.in/ijcai/IJCAI-81-VOL-2/PDF/072.pdf
The author of said paper might know Chris Fenton in some way, since the verilog code mentions a company named
Actually, I found a book at google
"Strategic Computing, By Alex Roland, Philip Shiman" that mentions DADO and NonVon being canceled because they didn't offer anything fundamentally new. Compared to the CM they had little staying power.
Je me souviens.
It had been a wonderful evening and what I needed now, to give it the perfect ending, was a little of the Non-Van.
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
http://www.census.gov/epcd/www/smallbus.html
Apparently quite a lot of business use Dell.
IBM re-introduced non-executable data spaces in the late 80s Prior to that all IBM machines since the 40s had been Von Neumann
Amen to that!
I completely agree with Squiggles. Some people just lack the hacker spirit and the insatiable hunger for knowledge.
Hope the WIPO patent has expired.
Don't worry, it's probably public domain by now.
Unless someone put it to music, that is.
Weaselmancer
rediculous.
As the accepted English spelling is "ciao" and not "cíao" that shouldn't be a problem.
Blazing Spiders
For someone who has their own "computational cluster", you don't seem to realise just how many Dells are out there right now running in large clusters. Shows what you know.
WIPO publications are not patents and are not enforceable in the US
If you consider that a Von Neumann machine is a self-replicating machine, and that none have yet been build (though there are machines that can replicate some of their own parts), calling anything Non-Von is just stupid. They might as well call cars and planes Non-FTL since we still don't have Faster Than Light capabilities...
"...a python library..." Hopefully a MONTY Python library? Using all that technology to house all the Flying Circus episodes seems like a good idea.
For those interested in the 'programming' of hardware processors
via software tools like Verilog / VHDL, the following will be of interest.
Just as with "Open Source" software there is "Open Source Hardware" too including Verilog/VHDL source codes for CPUs and other chips like ethernet controllers or MPEG decoders or so on that can be freely downloaded and compiled into FPGAs or used to create dedicated silicon chips.
Unfortunately even though anyone can freely WRITE or ADAPT Open Source [or not] VHDL / Verilog code to implement great new CPUs or other devices, the ability to get that turned into an actual CHIP cost effectively for hobby / low volume users basically doesn't exist. Usually you're looking at $100,000 or so of costs to start producing any significant piece of semicustom silicon and then you're looking at ordering at least thousands, or millions of identical parts before the amortization of the production costs starts to make the proposition attractive. FPGAs can be used to implement simple programmable hardware designs, but it'd be a pretty unique application of them that'd achieve any cost/performance benefit over doing things in an alternative way unless you're really just doing "few of a kind" prototyping.
There's little opportunity for small scale electronics hobbyists or FPGA tinkering anymore. The lower cost ($10-$300) FPGA chips and especially development boards ($60-$1000) are so basic that you really can't do much interesting / useful with them that you couldn't do as well or better if you just bought a $300 PC and implemented your computation and project around its capabilities.
That said, FYI, here are a couple of the lower cost FPGA development boards I've seen:
http://www.digilentinc.com/
You COULD program a modest sized (250k-2M gate equivalent) FPGA to implement some kind of legacy CPU [PDP, VAX, 8080, Z80, SPARC] or small cluster of those cores, sometimes even with better performance than the ORIGINAL silicon CPU ever achieved in its time. But just don't expect it to computationally compete [in 99.99% of common tasks] with a $80 INTEL ATOM CPU/motherboard (which provides about 2 GigaFlops of CPU power) -- it's just NOT going to happen.
The higher end FPGA chips ($100-$1,000) and development boards with the better capability FPGAs attached ($1000-$10,000) are so expensive and often so difficult to use that they're just impractical to consider for virtually any use that one can practically find an alternative to.
The 'compute power' of even a large / advanced 1 Million to 20 Million gate FPGA -- even one which INCLUDES dedicated function CPUs in its silicon -- is still often inferior to a $300 PC with a dual core CPU. For certain kinds of very parallel or very specialized DSP algorithms the FPGA will perhaps be 10x - 100x faster than you could implement with a PC programmed for the same DSP/CODEC function, but those are a rarity, and if they're important / popular functions usually you'll be able to buy a cheap PC peripheral [e.g. GPU, encryption coprocessor, RAID controller, MPEG encoder/decoder chip] to perform that task much more cost effectively than you could possibly do it with an FPGA.
For any kind of task that is computational in essence, using a commodity PC or a dedicated [non FPGA] piece of silicon to implement it is 99% of the time the right choice.
If you have some kind of special [i.e. you can't do it with a PC and less than $200 of added interface peripherals] electrical INTERFACE problem then a FPGA can be a very handy solution since the one useful thing they do have is a lot of (dozens to hundreds) of electrical I/O pins you can program for various purposes.
Tragically though they're rather behind the times and they generally don't make it cost effectively possible to implement modern RELEVANT electrical interfaces in FPGAs -- no gigabit ethernet, no USB 2.0 high speed, no firewire, no SATA, no PCI express, no DDR2/DDR3 RAM, no bluetooth, no 802.11 WLAN, no PCI, so bas
http://en.wikipedia.org/wiki/Landauer's_principle
where physics meets computation
Don't forget the Beckenstein bound
http://en.wikipedia.org/wiki/Bekenstein_bound
"In Computer Science, this implies that there is a maximum information processing rate "
The Singularity is closer than you think
Quant