I've taken a good luck at the hardware he's talking about, the GreenArrays 144-processor chip, and I'm amazed at a number of things about it. Mostly, that it's cheap, both in hardware costs and in energy costs.
The way I compared its costs to those of other hardware was to say that this chip has 144 cores running at approx 1.5 GHz each (depends on the instructions you run). That comes to 1441.510^9 = 216*10^9 instructions per second. The more convenient way I found to gauge it was to measure it in cGHz, pronounced "coughs", and it stands for co-GHz, core-gigahertz. An L5240 Xeon, for instance, has 4 cores running at 2.5 GHz each, which comes to 10 cGHz, compared to the GA144A's 216 cGHz.
The prices are comparable: in bulk, a GA144 is about $20 apiece, while a Xeon L5240 is $23. Granted, the Xeon has many more features and can do many things the GA144 cannot. It works great with existing compilers. It can do floating point. It's much better at I/O, has an L1 cache, and has all the niceties we've become accustomed to get from X86 processors. If you are still in the X86 mindset, a GA144 will hurt pretty badly.
At the same time, on a per-cGHz basis, it costs $5 where the GA144 is ~$0.10. In terms of electrical costs, a Xeon L5240 is 50W, or 12.5 Watts per cGHz, whereas a GA144 is .006 Watts per cGHz. Imagine: it's one-fiftieth the up-front cost and one-two-thousandth the energy cost of one of the best deals you can get for X86-64 processors.
But if you are doing high-performance computing and just need the horsepower without all those niceties, you can win big with this chip. It's really exciting.
Imagine: it's one-fiftieth the up-front cost and one-two-thousandth the energy cost of one of the best deals you can get for X86-64 processors.
And that's in its earliest run. A commenter pointed out the last time this came up (http://news.ycombinator.com/item?id=3390402) that "the GA144 uses essentially antique fab technology. With no changes to the design and the latest fabrication techniques you could (theoretically) get an order of magnitude more cores on the same sized die and drive power consumption down further."
if you are doing high-performance computing and just need the horsepower without all those niceties, you can win big with this chip
So did you get a sense of what applications would be a good fit to program for it? The fact that it doesn't "work great with existing compilers" seems to be the stumbling-block.
So, because your processor can only fit 512 instructions, and because it's a RISC processor, it's feasible to either write your own compiler, use colorforth, write it in straight assembly, or some combination thereof. Compilers are pretty bad at generating succinct code, and OK at generating fast code, and a RISC processor might just fit inside your head.
So, I really see two applications for this product: first, to create a supercomputer for fixed-point uses (maybe crypto) with 1 "petaFLOP" (I know, we're not actually talking floating-point multiplications here) for a fraction of the price and much greater energy efficiency. It'd be a world-class supercomputer for $200,000.
The other application would be to embed it in mobile devices to take advantage of its energy efficiency.
What Lisp do you have in mind? Presumably you mean something more specific by "goes straight to asm" than just "is compiled".
If I were going to do this I would build a Lisp bottom-up from the instruction set and my goal would be to find the most interesting language could emerge that way. On the other hand, that's so similar to what Forth already does that it might be better just to treat the hardware as the Forth machine it already is and do what it wants.
Moore said:
"GreenArrays' computers have a unique mechanism for implementing stacks with hardware: a stack is a set of registers with a pointer to the one currently on top. The pointer is moved up or down as required. The data is not moved, merely a pointer to the register in which the data is stored. This saves energy. "
Unique? I've been doing ASIC design for more than 20 years and that is how it has always been done.
The way I compared its costs to those of other hardware was to say that this chip has 144 cores running at approx 1.5 GHz each (depends on the instructions you run). That comes to 1441.510^9 = 216*10^9 instructions per second. The more convenient way I found to gauge it was to measure it in cGHz, pronounced "coughs", and it stands for co-GHz, core-gigahertz. An L5240 Xeon, for instance, has 4 cores running at 2.5 GHz each, which comes to 10 cGHz, compared to the GA144A's 216 cGHz.
The prices are comparable: in bulk, a GA144 is about $20 apiece, while a Xeon L5240 is $23. Granted, the Xeon has many more features and can do many things the GA144 cannot. It works great with existing compilers. It can do floating point. It's much better at I/O, has an L1 cache, and has all the niceties we've become accustomed to get from X86 processors. If you are still in the X86 mindset, a GA144 will hurt pretty badly.
At the same time, on a per-cGHz basis, it costs $5 where the GA144 is ~$0.10. In terms of electrical costs, a Xeon L5240 is 50W, or 12.5 Watts per cGHz, whereas a GA144 is .006 Watts per cGHz. Imagine: it's one-fiftieth the up-front cost and one-two-thousandth the energy cost of one of the best deals you can get for X86-64 processors.
But if you are doing high-performance computing and just need the horsepower without all those niceties, you can win big with this chip. It's really exciting.