Inmos and the Transputer (1998)
transputer.net
transputer.net
You now tend to have multiple cores (virtual and physical, each virtual core is handled by time-slicing in hardware, and physical cores are other instances of the same) on a single chip-carrier, more memory, and embedded hard-cores for ethernet/USB but the concepts are pretty similar. There are still 'links' (both serial and low-digit-parallel), there's still the idea that everything is time-synchronised and deterministic. You no longer have to use Occam to program it though :)
I've used them a couple of times, for some things (time-dependence on the order of microseconds, not nanoseconds) they're pretty awesome, and they get used in the audio industry a lot. They're sort of halfway between an FPGA and a microcontroller, where you "write" a UART in code, and then send messages to it over the links from other cores (virtual or physical) to perform the UARTs job. Same for SPI, I2C etc. There's even an SDRAM controller written in software...
It's a shame that the on-chip network hasn't survived.
These are nothing at all like the links that Transputers use to communicate internally.
Now I'm six years older than he was then. Not wise, no Lamborghini...
PS I used transputers in a financial modelling application in the late 1990s (PROPHET) where it was used to deliver cost effective floating point performance.
Such a shame that the UK government cannot sustain an industrial strategy. For the relatively tiny amounts of money discussed in this article -- even £125m was not a huge amount of money in the 1980s -- today we wouldn't be having this conversation about how advanced chip manufacturing cannot be done in the UK. And we could say the same about nuclear power and telecoms where the UK had a lead and chucked it away.
I used the T4xx/T8xx series CPUs for a while, but never actually saw a working T9000 ...
https://news.ycombinator.com/item?id=12995277
Edit: Europe had a rather large Atari ST scene, since Macs were prohibitively expensive. So anything Atari got a lot of publicity. I remember reading a bunch of articles about the Transputer.
https://en.wikipedia.org/wiki/Atari_Transputer_Workstation https://en.wikipedia.org/wiki/HeliOS https://github.com/axelmuhr/Helios-NG
They are pretty though; gold pins and ceramic packages and all.
Even back then it seemed like something more like the GPUs we have today with many cores per die would make more sense.
https://www.cs.ru.ac.za/research/groups/vrsig/pastprojects/0...
Then there was a generation-long pause. Then Go!
See Limbo, Alef, Newsqueak, and Squeak.
Occam was also derived from CSP, but I don't think it's accurate to call it a direct ancestor to Go.
https://en.wikipedia.org/wiki/Limbo_(programming_language)
Alef was Phil Winterbottom, yes.
The Squeak paper (http://ordiecole.com/squeak/cardelli_squeak1985.pdf) was 1985, so let's assume the work was likely some time in 1984. That would follow the Blit terminal work (paper in 1982), which seems reasonable. Newsqueak, Alef, and Limbo followed in that order.
occam 1 was 1983, so it seems reasonable that Cardelli & Pike were aware of it, although it's not cited in the paper, so perhaps they weren't.
The Newsqueak TR is from 1994, although it seems likely the work was done earlier. The TR doesn't contain any formal citations, but the text describes the language: "syntax and basic semantics come from C, while the message-passing primitives come from CSP". I think it's a little odd that it doesn't mention occam, as I think it was widely known by the mid-80s as a successful use of the CSP concepts, and Newsqueak must have been somewhere in the range 1985-1994.
Alef is described as being derived from Newsqueak, but was released with Plan9 1st edition in 1992. Alef has "alt" and "par" constructs, which strongly suggest an occam influence.
That said, this talk (http://go-lang.cat-v.org/talks/slides/emerging-languages-cam...) from Rob Pike identifies occam (and Erlang) as a distinct evolutionary branch from CSP.
I guess we'd need to ask to be sure. Party time in Putney?
https://stackoverflow.com/questions/32651557/golang-main-dif...
Anyone know more about this?
Exotic parallel architectures: you can build it, but will they come? Usually, no. You need some widely used case that partitions to match the hardware. GPUs and Bitcoin mining are the big successes so far. Machine learning has that property. Successes in this area tend to come from needing to solve a specific problem at scale.
Transputers were novel in that they combined a CPU core with a set of high-speed network links: the CPU ran at, eg. 20MHz and the four network links at 20Mbps.
Paired with this hardware was the programming language Occam, which was derived from the ideas of Tony Hoare's CSP, and included concurrency and communications primitives that mapped directly onto the Transputer hardware.
The end result was a system in which it was easy to configure a parallel machine with a mesh, torus, or tree of CPUs that could then run CSP-style concurrent programs very effectively.
While it saw some success in various niches (image and signal processing, for instance), the Transputer CPUs did not support other popular languages of the time (C, Pascal, Fortran, etc) well, and for various reasons, Inmos was unable to evolve the design to match the performance of (in particular) the Intel x86 family. From an initial position of having competitive performance and superior concurrency and communication, the Transputer was quickly left behind, and its successor (the T9000-series) was obsolete before launch.
I think the failure to keep the single-CPU performance edge was probably mostly about lack of money vs the competitors. Obviously related to not selling enough of the first generation chips.
The article also discusses the reasons for the lack of follow-on investment.
There was -- used for scientific computing on things like the Meiko Computing Surface, though not by me.