4

Did people back then build powerful computers out of multiple smaller machines ?

  • Build powerful computers out of >1 smaller machines

  • Time range - approximately 76-82 (I accept exceptions, especially earlier than this time range, but not more than approximately 90)

  • I'm referring mainly to hobbyists , although maybe very very small companies should be included

  • Could they just have connected multiple smaller/cheaper machines, via network cables, to build a supercomputer

  • Or could they have removed processors from multiple machines to make a supercomputer (parallel-processing)

  • Parallel processing/parallel computing back then by using >1 smaller machines, from my limited knowledge it would not have been possible, or it would have been too difficult

  • EDIT - I'm more interested in this being done using affordable common home computers, and in fact the cheapest home computers, but almost any examples within the parameters of this question are OK

15
  • 2
    Mind to explain your points a mit more? For example what is "Parallel-computing back then by using >1 smaller machines, from my limited knowledge it would not have been possible" supposed to mean?
    – Raffzahn
    Aug 30, 2018 at 23:59
  • 1
    Yes, I will correct it now - I'm referring to connecting more than one machine together, to act as a more powerful machine, to run software faster or maybe something else which I can't think of now ( this is obviously different to the common term Parallel-computing / Parallel-processing using multiple processors ) - Maybe they would have connected multiple machines together via network cables- Or maybe they would have removed processors from multiple machines to make a supercomputer, so that would be Parallel-processing - Aug 31, 2018 at 0:24
  • 3
    The question makes now even less sense than before. See my answer.
    – Raffzahn
    Aug 31, 2018 at 1:39
  • 1
    Changing the subject from 'supercomputer' to 'powerful' computer doesn't change the underlaying problem. Thruout all of the time of (personal) computing the difference between an average/cheap machine and an upper end one is a huge gap, and just buying the professional workstation will beat all atempts to reuse cheap stuff by at least a magnitude - no matter if looking at 1978 or 2018
    – Raffzahn
    Aug 31, 2018 at 2:07
  • 4
    Sounds like you're interested in something like the AppleCrate II? michaeljmahon.com/AppleCrateII.html
    – fadden
    Aug 31, 2018 at 17:37

8 Answers 8

15

Did people back then build supercomputers out of multiple smaller ones?

What smaller ones?

But there have been multiprocessor systems.

For one, multi processor systems have been around since the late 1960s. For example the IBM /370-168 could be ordered with a second processor unit. It was a for all computing parts symmetric, except only the first CPU could hand over I/O jobs to the I/O processor.

IBMs 3033 of 1978 did away with this limitation by having two CPUs and two IO processors where each CPU could start each IOU and each IOU could interrupt each CPU. The 3033 could also come in a tight coupled dual system via a high speed connection – maybe think of it like two computers with dual core CPUs connected via a multi lane PCIe link.

Build supercomputers out of >1 smaller ones

Since there where no 'smaller ones', there was no real gain in doing so. Today's parallel systems rely on the fact that sufficient fast single chip CPUs are available at extremely low prices. Back then super computer (or basically any fast machine) CPUs where build from dedicated chips, developed especially for that machine. Gaining more throughput could be achieved by adding special function units and other optimizations in a way more effective way than piling up CPUs.

Also, it's important to keep in mind that parallel CPUs only speed up very special classes of jobs. Again it was more effective to construct a CPU in a way to gain functional parallelism than adding general purpose CPUs. The Basic principle of CDC and Cray machines revolve about the idea of a set of (virtual) I/O processors feeding function units in a way to keep them as busy as possible.

Time range approximately 76–82 (I accept exceptions, especially earlier than this time range, but not more than approximately 90)

We could as well start with the ILLIAC IV of 1973 (working) with 64 parallel FPU units. Ok, given, they where special purpose, so the next step might be the Connection Machine 1 of 1985. Here up to 65Ki independent CPUs, each with its own memory and communication where tied up in one supercomputer.

There have been other attempts at massively parallel systems in the 1970s, but in all cases it was cheaper to get the same or even higher computing performance by improving existing architectures. Especially by not having the need to rewrite application.

An early example of using a massive parallel system with (rather) standard processors was the BBN Pluribus networking system in 1978 build up from 128 PDP-11 (alike) nodes. Except, its job was message switching, not computing – and nowhere near in computing power what supercomputers of the same time delivered. Communication was done via a shared memory architecture.

The follow-up BBN Butterfly with up to 512 CPUs of 1985 comes closer by using of the shelf 68k CPUs, but still it was a switching system, not a supercomputer.

In 1983/84 the first of INMOS' Transputer CPUs, especially made for massive parallel systems (only 4D connections max), and companies like Meiko and Parsytec soon constructed machines using them.

Eventually the first machine that is quite similar to some architectures in use today would be the Intel iPSC/1 of 1985, based on 32–128 compute modules, each with an 80286/87, 0.5 MiB of RAM and 8 Ethernet ports for communication, wired up as a 5, 6 or 7D cube, depending on the number of nodes. Later, also 80386 nodes with Weitek (!) FPUs where available.

nCube did build a quite similar system, except being scaleable up to 1024 CPUs. They are btw a great example that the concept of massive parallel systems where mostly a solution without a need. After first attempts on scientific computing they soon turned into supplying massively parallel video servers, like for Hotels and alike.

Eventually the first system true to today's image of a massive parallel computer build from standard CPU nodes might be the SUPRENUM-1 of 1990. This is not only true about the hardware, but even more so for software, as they where the first to supply a massively parallel capable FORTRAN compiler as part of the project, as well as many research about parallel algorithms and how to analyze and structure application for parallel computing. Many of their tools and libraries can be found are the core of today's software.

Again with special CPUs, the Cray 3/SSS was delivered with up to 256k CPUs in 1995 – shortly before the original Cray Corp went belly up.

I'm referring mainly to hobbyists, although maybe very very small companies should be included.

Why should any hobbyist do so? What would have been the need for that. I mean, beside the extreme cost. As a hobbyist one was happy to acquire a single computer. Buying a dozen or more is way outside a hobbyists reach. Which by the way, it still is. A somewhat capable CPU board is still several hundred bucks, and even buying a dozen of them will not make it as fast as a top end Ryzen board will be – at lower cost! And buying a dozen Ryzen boards each for like 4,000+ USD (CPU + sufficient fast RAM) catapults the project past the 50 grand mark – definitely not hobbyist territory.

Combining a bunch of cheap boards – like a dozen RPi's – doesn't make a supercomputer, as their combined computing power will be dwarfed even by any of today's Office PC class CPU with integrated GPU.

The same is true when going back.

And then in 1980? A hobbyist reachable CPU at that time was something like a 6502 or Z80 – even 100 of them wouldn't even come close to an average mainframe of the same time, even less a supercomputer.

Could they just have connected multiple smaller/cheaper machines, via network cables, to build a supercomputer.

Sure they could, but like described before it wouldn't make a supercomputer, just a bunch of small cheap machines connected. In 1990 this premise would have been like taking several 8–10 MHz 80286/287. A 10 MHz 80286 reaches about 0.15 Whetstones. A top of the line 486 in 1990 would be a 50 MHz one delivering about 20–25 Whetstones – that's about 120–150 times what the 286/287 does. So to even replace one up to day 486 computer with at that time cheap computers would need >150 of them. Besides that already the cabling and LAN cards will cost more, I do not want to pay the electricity bill for that setup.

So while 150 80286 would barely make up a 80486, a real supercomputer of 1990, like a Fujitsu 2400 or a NEC 3/11 would play in a region of 2000 Whetstones or above. Or like again 100 times faster. And all that without taking the communication overhead into account such standard of the shelf solutions have compared to the highly optimized supercomputers of that time. There is a reason that it took another 15+ years until standard CPUs did really reach the top of super computer power – and even that only by using extreme amounts of them in very tight coupling – not just PC-Boards connected via some network.

Or could they have removed processors from multiple machines to make a supercomputer (parallel-processing )

And put them on what boards?

Parallel-Processing/Parallel-computing back then by using >1 smaller machines, from my limited knowledge it would not have been possible/too difficult.

Sure it was possible – see the above examples about serious machines. But for a hobbyist it would have been as impossible back then, as it is today.

EDIT – I'm more interested in this being done using affordable common home-computers, and in fact the cheapest home-computers, but almost any examples within the parameters of this question are ok.

Bottom line, there are none, as this question is based on an assumption that just doesn't add up. In all times since we have computers, and even more so since the microprocessor, there was never a use case to combine low power CPUs for more computing power, as using higher power versions of the same type will beat such a combination by at least a magnitude, while doing so at a fraction of the cost.

There is a reason even today's supercomputers are never built of middle of the road CPUs, but always the top end.

12
  • 1
    Just take my example using the metrics of 1990. A 286 would be a cheap PC at that time, but it would need more than 100 of them to come close to a 486 of the same year, costing way less than these 100 machines. The same case can be made in 1980 with 100 6502 computers vs. a single 80286/287 board - and again, the cheap machines needed to do it cost more than the better one. That gap between average and powerful is alost a constant.
    – Raffzahn
    Aug 31, 2018 at 2:16
  • 2
    @tofro THe hobbyist and small company part was introduced later, I guess as a reaction to my anser - which in turn made me to add the hobbyist focus , but I kept the original parts in, as they tell the hisory - and maybe also give a hint how ridicoulous it is to talk about supercomputers, or even powerful ones build fom outdated or low power components. The whole idea of modern clusters is the use of comparable cheap components, not cheap ones. Just look at all the problems liftin cheap ARM into supercomputing - Fujitsus A64FX is only marginaly related to average ARM and anything but cheap
    – Raffzahn
    Aug 31, 2018 at 12:25
  • 1
    Nice answer (even if OP has changed the focus). Another entry that could be in there somewhere is Sequent Computers which had multi-processor models based originally on NS32032 processors (from '84) and on 80386 processors (from '87) -- with later Intel chips during the 90s.
    – TripeHound
    Sep 3, 2018 at 14:49
  • 3
    The relevant Seymour Cray quote: "If you had to plow a field, would you prefer to use one ox or 1,024 chickens?" There was just not - yet - any way to build a bunch of small processors to match a then-current supercomputer. Mar 27, 2019 at 0:47
  • 1
    +1 for the Transputer comment - My first job was writing a ray tracer on T414 and then T800 Transputers. I had board with 16 T800s that linked to the PC.
    – Simon F
    Jun 1, 2020 at 9:29
8

One example was C.mmp -- A cluster-computing machine built from sixteen PDP-11 minicomputers at Carnegie-Mellon University in the 1970s.


Note, the Wikipedia article ends with the sentence, "The machine is now on display on the ninth floor of Wean Hall at Carnegie Mellon University."

That's something of a joke. The "ninth floor" of Wean hall contains nothing but HVAC and elevator machinery, and a few locked cages where obsolete capital equipment lingers until the University's accountants can be persuaded to allow it to be tossed into a dumpster.

2
  • 1
    Does CMU count as "hobbyist" or "very very small company"? (SCNR). But very interesting, thank you for mentioning it.
    – dirkt
    Sep 3, 2018 at 15:47
  • Oops! I missed seeing the part where the OP was principally interested in hobby computers in the late 70s/early 80s. There were no hobby computers to speak of when C dot was built. But anyway, it shows that the idea of cluster computing was out there.
    – user10478
    Sep 3, 2018 at 15:52
6

The average (and even far-above-average) computer user was actually pretty lucky having one single computer at his disposal back in the days. So it was pretty unlikely they could connect more than one machine to something like a computing grid. I was maybe a bit special at the time, owning three computers, but for a very long time could only afford one single CRT, so there wasn't much point in running them in parallel.

Also note that affordable computers back in the days rarely had suitable networking equipment that would have been fast enough for a proper interconnect between machines that would actually have sped up things - In the 80ies, networking was still somewhat esoteric and mainly limited to government and science installations.

Some machines had limited (slow) networking support and sometimes were used to interconnect devices, but more for the sharing of expensive peripherals like floppy drives you could only afford one each rather than combining their computing power. (The Sinclair range of home computers, for example, provided simple networking using transfer rates below 100kbps to support file and printer sharing, other vendors had similar approaches. The limited bandwidth available didn't really allow load share between computers - Transferring task and result would in most cases have taken longer than calculating locally)

Still, some people were dissatisfied with the speed of their machines and tried to make them faster. Very often, by adding peripheral cards that added to (or replaced) the existing CPU with faster technology. A very notable example (and, maybe, the exception to the rule) supplied by a vendor that would fit your definition would be the Atari Transputer Workstation - This combined home computer technology with (at that time) leading-edge multiprocessing technology and might have been a unique off-the-shelf offering. While the original ATW-800 was pretty much out of the financial reach of the average user, some magazine projects of that time used the same technology to combine Transputer technology and home computers, some even compatible with ATW. Transputer link extensions (high-speed serial interfaces to connect to such a beast) were also available for the Amiga and other home computers.

Transputers were a short-lived hype in computing technology end of the 80ies. The Transputer provided the otherwise missing high-speed links, came with Occam, a language supporting parallel processing, and was a (somewhat) affordable technology entry into parallel computing (Even if most hobbyists weren't able to afford more than one Transputer...).

I do recall that the BBC micros had some similar cards with leading-edge CPUs of that time connecting into their Tube interface, not counting various projects for this and other machines that replaced the inbuilt CPU with a compatible faster one.

1
  • 3
    To downvoters: I would like to understand why you don't like my answer - Maybe I could improve it. It's just good habit to leave a comment when you down-vote.
    – tofro
    Aug 31, 2018 at 12:05
5

The really big question of building multiple-CPU machines is:

How do the CPU's talk to each other?

In order to allow multiple CPU's to work together they need to exchange information, and the quicker this can be done, the more complex problems can be solved. Before networking in form of ethernet arrived, the bandwith was basically too small between computers to have this make much sense at all.

A good example is Doom (yes, the FPS game) which was introduced at a time where Ethernet was rare and Internet was still slow dial-up. Communication could happen over serial ports and still could only be enough to have the multiple instances of the Doom program (one for each player) in sync. Sharing the load was out of the question.

In the 90's SGI (those used for Jurassic Park) did a lot of work with high-end multi-cpu machines where much of the effort was done in having a bus moving data around inside the machine. (We had a 24-CPU Onyx). Commodity Desktop PC's could be connected over ethernet using Beowulf to make a cheap multi-cpu cluster but again limited in bandwith limiting the problems that could be solved.

Today most large Linux supercomputers actually consist of multiple computers linked together and the problems that can be solved are limited by this.

1
5

To echo previous posters: there would have been no point.

In the time frame you're talking about, a typical home computer cost anywhere from $500 to $2000, depending on feature set (especially disk drives or hard disks put the cost up towards the high end) when exactly you bought, and how much memory you got. For your money you would have got a machine that could manage about 0.5 MIPS or so, and had between 16 and 64KiB of RAM.

Now, you might think that you could usefully put 4 of them together, network them, and distribute a computation across them, but there would be little point because:

  1. Networking hardware was unusual and expensive at the time, so would be difficult and costly to set up

  2. Your network speed would likely not be fast enough to manage your process.

  3. Even if the above problems weren't showstoppers, you would probably not have enough memory in a single node to perform any useful calculation that couldn't just be done in a single node.

Memory was a huge limiting factor. It was expensive (although starting to get reasonably cheap by 1982, but before then you'd have paid hundreds of dollars extra for a 64KiB system) and most systems couldn't handle more than 64KiB of it without needing to use paging (which made development hard).

The other reason you'd not do this was that there was a far better approach. At least if you knew what you were doing. Minicomputers were far faster than micros, and while they cost a lot more to buy than micros, they were within the reach of a skilled hobbyist to design and build themselves, a project whose budget would likely have been similar to purchasing a handful of home computer systems.

For a modern take at how such a project might have worked look at the Gigatron - this is a 6.25MHz computer that performs one operation per cycle using a handful of TTL chips and some fast RAM and PROMs ... It would have cost less than $1000 to build circa 1980 and is roughly 5 to 10 times faster than typical home computers of the day. And its design scales up quite nicely. You could take its 8 bit design and make a 12 or 16 bit version quite easily. Improve its memory architecture (which would be quite simple) and you could go from 64KiB up to being able to address however much memory you could afford with ease. Give it multiple memory banks and you could push its clock rate up to 12MHz pretty simply.

The reason such systems were expensive to buy at the time wasn't that the components were costly. Its that designing them was hard, and writing the software for them was time consuming. But neither of those would deter a hobbyist who wanted to experiment with fast computers.

3
  • This sentence Even ... , you would probably not have enough memory in a single node to perform any useful calculation that couldn't just be done in a single node. doesn't make a lot of sense to me.
    – tofro
    Aug 31, 2018 at 17:31
  • I’m extremely skeptical that the Gigatron could have been built cheaply in 1980. A simple calculation shows that, just to fetch instructions at 6.25 MHz, it would have needed 160 ns RAM. 150 ns 4164 DRAM did not come on the market until about 1983.
    – Davislor
    May 11, 2020 at 20:45
  • There were several other limiting factors, including the fact that cheap components were not rated to run at that frequency until the late ’80s. Aside from that, the memory.and 16-bit bus would’ve cost as much for the Gigatron as a premium computer.
    – Davislor
    May 11, 2020 at 20:48
3

I can actually think of a single instance that fits your criteria:

Hobbyists with a Commodore 64 used the second 6502 CPU in the 1541 floppy as a second processor for a few applications; the most well-known is calculating the Mandelbrot set.

So we have (1) >1 "computer" (at least something with a CPU), (2) hobbyists, (3) connected via a serial IEE-488 bus, (4) parallel computing.

Note that was only feasible because many Hobbyists already had a 1541 floppy anyway, and Commodore constructed the floppy with its own CPU (which made it very expensive compared to floppy drives on other systems). It was also severely restricted: The floppy didn't have that much RAM, and communication between the machines wasn't that fast. So you needed applications that are very suitable for parallel computing, like the Mandelbrot set.

This thread lists some other applications that use this trick, but they were all written in the 90s or later.

In general, as the other answers already said, having multiple computers was just too expensive for hobbyists.

4
  • Commodore constructed the floppy with its own CPU (which made it very expensive compared to floppy drives on other systems) -- Actually, I believe Commodore saved money by doing it that way. Standard FDC chips cost around $30-40 each in 1981, but by then a 6502 and a small static RAM could be purchased for around $10, so if you could get them to do the job it was much cheaper. You're probably comparing the Commodore drives against the price of drives for machines with integrated FDCs, which is an unfair comparison: for those the cost of the FDC is bundled with the computer, not the drive.
    – Jules
    Sep 7, 2018 at 8:44
  • @Jules: Compare e.g. to the Apple II FDC + drive, which was a lot cheaper (the main CPU of the Apple II did most of the work; and yes, the FDC is an additional card).
    – dirkt
    Sep 7, 2018 at 9:38
  • Are you sure about that? Looking through magazine archives at archive.org, by the time the Commodore drives were being widely advertised (early 1983, really -- and even then it was mostly 1540 models rather than 1541, although they were based on the same basic design) I actually can't find anyone selling genuine Apple drives, but third-party drives were pretty similarly priced (roughly $350-$450 including controller for the Apple II compatible drives, and $450 list for the 1540 with many retailers selling them at substantial discounts).
    – Jules
    Sep 7, 2018 at 11:43
  • @Jules: I am pretty sure from personal memory - I remember my friends with a C64 complaining that the floppy drive was so expensive (and a few used a cassette for quite some time before they got a drive "next Christmas"), while my family had an Apple II with two drives. :-) I don't remember any actual numbers, though, and I'm not sure where to find any. Also, it would be DM, not $ - possibly the US prices were different. In any case, hardware-wise, the Apple II FDC+drive is a lot simpler than the 1541.
    – dirkt
    Sep 7, 2018 at 12:30
2

A bit at the edge of the question's scope, and certainly not a cheap option: in about 1990, Radius introduced the Rocket: a Mac computer on a NuBus card. You installed this into your Mac II to either accelerate your existing Mac or run two separate desktops from the same machine. It was even possible to stick multiple Rockets into one Mac, so you could end up with a 4-machine cluster on a single chassis (limited by available power).

1

A few home computers at that time could be expanded with a coprocessor, although this was usually for compatibility, not faster performances. Microsoft released a Z-80 Softcard in 1980 for the 6502-based Apple II, which enabled it to run CP/M programs, and Acorn had an interface, called Tube, that could add a second processor to the BBC Micro (either a 3 MHz 6502, Z80 or 32016). The Commodore 128 was an 8-bit computer that shipped with two CPUs, but that was in 1985, past the time period of your question.

3
  • But unfortunately, on the Apple II, one couldn't use both CPUs at once, and IIRC, neither could one on the C128.
    – dirkt
    Sep 6, 2018 at 5:38
  • @dirkt If nothing else, I don’t think their memory buses could fetch instructions for both CPUs fast enough, especially considering how their video memories worked.
    – Davislor
    Sep 6, 2018 at 6:55
  • The way it's done on the Apple is that one CPU completely takes over the main bus, and the other is stopped. It wouldn't be that hard to stall one CPU if the other CPU needs to access RAM, or to add local RAM to the Z80 card etc., but that's not the way they did it.
    – dirkt
    Sep 6, 2018 at 7:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .