Ask HN: Has anybody here worked with the Connection Machine or the Lisp Machine?
8 comments
I worked with a CM (at EPCC in Edinburgh, Scotland) in the mid-nineties for a little bit. I think we used CM Fortran -- basically Fortran 77 with extra knobs on for parallelism. I remember it as being a pleasant experience. The programming paradigm effectively hid details of the data decomposition and communications and allowed you to write parallel code in a fairly straightforward fashion. It was also the first supercomputer I go on to, so that was pretty exciting.
At the time, the CM was already being eclipsed by the Cray T3D and YMP.
Some more ideosyncratic parallel machines I used a bit later were the APE 100 (from Alenia Spazio/Quadrics) and Fermilab's ACPMAPS, which was reminded me of the CM for programming, although I don't know if they were at all similar architecturally.
I wish! Another progressive computing project I'm aware of in the same vein was Japan's "Fifth Generation Computer" initiative, which bore, among other things, a concurrent dialect of Prolog called KL0. http://en.wikipedia.org/wiki/Fifth_generation_computer
I never worked with Connection Machines, but I am also interested in them. If you haven't yet done so (which is unlikely), do take a look at Danny Hillis' PhD thesis:
http://dspace.mit.edu/handle/1721.1/5679
http://dspace.mit.edu/handle/1721.1/5679
you might also want to crank up the Lisp (star lisp) simulator, more details of which can be found at http://en.wikipedia.org/wiki/*Lisp The common lisp code can be found at http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang...
thank you, I'll do that!
right now reading this:
http://longnow.org/views/essays/articles/ArtFeynman.php
right now reading this:
http://longnow.org/views/essays/articles/ArtFeynman.php
This blog post contains some interesting links:
http://stochastix.wordpress.com/2008/12/11/the-connection-ma...
http://stochastix.wordpress.com/2008/12/11/the-connection-ma...
I did some FORTRAN 90 programming on a CM2 in the early 90s. FORTRAN 90 had a nice parallel array/matrix op syntax that mapped well to the CM2 but I actually ended up doing most of my work on a IBM RISC workstation because interactive access to small CPU was much more productive than waiting for a batch job to finish on a larger machine.
I took a parallel programming class in 1993 and programmed HP Fortran on a connection machine, but not much more than one assignment to do iterative matrix averaging in parallel. It was fun, but it was just like programming fortran on any other platform since I didn't have physical access to the machine, just remote access.
I worked on the Slymbolics 1200, as we called it affectionately, (http://en.wikipedia.org/wiki/Symbolics) in the late 80s. It was absolutely the best experience I've ever had programming. I still own shares in Symbolics. Had I known what was happening with RMS at that time and had been politically conscious enough to understand the issues I might not have used the machine. However as they say, hindsight is 20-20.
> Had I known what was happening with RMS at that time and had been politically conscious enough to understand the issues I might not have used the machine.
What do you mean with that ?
What do you mean with that ?
There's a summary here (http://en.wikipedia.org/wiki/Richard_Stallman) under the section "Hacker culture declines". There's more detail in an RMS biography, the reference for which I don't have handy.
I didn't work with these, but did work on the Symbolics 3600 circa 1985. It introduced me to a lot of new technology. I learned Lisp, of course, on it. I learned Zmacs and the "Meta" key. Emacs is still my favorite editor/IDE. We had a Canon laser printer ($12K, 360 DPI, liquid toner) that I used to print a proof of my wedding program (using proportional Times Roman font). I hooked it up via Ethernet (using 10BASE5 vampire taps http://en.wikipedia.org/wiki/Vampire_tap) to a DEC 11/785. I first learned TCP/IP programming using it. All of the OS source code was available to view and patch if needed. It was the first windowing GUI I ever used. It was easy to program (in Lisp) and was the most advanced software development environment of the time. We developed a research AI system (called Pilot's Associate) that interfaced with a real-time flight simulation. It was great fun.
I did some work with CM in early 1990s. Parallel programming ("fundamental algorithms") was based on using a special version of C language (C*) with a bit of parallel syntax. (Other groups worked on parallel compilers which could support automatic parallelization of Fortran programs.) As usual, the real trick was not to use this or that language, but to develop interesting algorithms, specific for the parallel environment. So the effort was in developing the algorithms first, then mapping them on the underlying software platform. The latter was almost straightforward, partially because we took the platform into consideration when working on the algorithms.
We also used a Cray machines, do not remember the model numbers now, which were physically located on the other side of the country. Our CM-5 was just two floors below us; I looked at it several times, just to get a pleasant feeling.
We also used a Cray machines, do not remember the model numbers now, which were physically located on the other side of the country. Our CM-5 was just two floors below us; I looked at it several times, just to get a pleasant feeling.
"A Cray machines": I wrote "a Cray machine" first, then realized there was more than one, then forgot to edit the English. :-) Sorry.
To answer my own question about how these machines stack up against present day hardware: the CM series machines rated about 5 Gflops, a 2008 run-of-the-mill desktop CPU does 70 Gflops!
Special purpose CPUs such as the AMD FireStream 9270 can do 240 GFLOPS...
Special purpose CPUs such as the AMD FireStream 9270 can do 240 GFLOPS...
How much effort was it to program them ?
How did they compare to the other machines available at the time ?
How do they compare with the machines available today ?
Other 'special' computing architecture experiments from that period would be nice to hear about as well!