Eben Upton, forgetful packer; Liz Upton, forgetful poster

We meant to get the new forums up and running this weekend, but it turns out that Eben left the bit of paper on which he’d scribbled the credentials he needed to SSH into the server on my desk in the UK. We’re in California until the end of the week, so we’ve had to push the forum upgrade back until we return. Sorry all!

And then I meant to hit the publish button on this post about eight hours ago, but it appears that I forgot before jumping into the car to drive to a meeting and then another hotel. I just opened my laptop to find a draft staring me down incriminatingly. More apologies; I know this isn’t a very convenient time of day for a new post for some of you.

In other news, there’s a new QtonPi image on the downloads page you might want to try out. And our friend Dr Sue Black has some great pictures of herself, the Colossus rebuild at Bletchley Park (Colossus, for those who aren’t familiar, was the first digital, electronic, programmable computer, and was used to break Nazi code at Bletchley Park in the 1940s), and a Raspberry Pi on her Posterous; she also has a question we haven’t been able to properly answer. What is the difference in size/compute power between Colossus and a Raspberry Pi? Someone in the comments on Posterous suggested using MIPS (million instructions per second) to calculate the answer, but we don’t think that’s a meaningful way to do it – after all, Colossus is a single-purpose machine. (Given that fact, is there any meaningful way to make the Colossus/Raspberry Pi calculation?) Any smartypants in the audience should leave an answer in the comments.

And yes, the idea of Colossus and a Raspberry Pi in the same room gives us horrible vertigo.

62 comments

Travis McCrea avatar

I was actually just scrolling around your webpage and was surprised when the blog got updated while I was cruising. There is no “bad time” for a blog post on the Internet.

liz avatar

Heh – you’d be surprised. My lateness in hitting that button meant that in the UK there was no post at all on Sunday or Monday, which is the sort of thing that tends to result in panicky emails!

Nik C avatar

Some peopel need to relax about the frequency of updates, if something were to happen to any of the key players in the project, i’m sure there would be an announcement.

Apart from that, you’re probably too busy doing the work, rather than talking about it. Progress is much more important than talk.

George avatar

Perfect timing for us Kiwis in New Zealand!!

CP/M avatar

Didn’t worry me (for long) – I just looked in the forum posts and there you were, posting away on 30th April and thankfully alive. Now if you’d stopped altogether, I would have been surfing for valium.

Leslie Wiggins avatar

Well if you use the CPU frequency as was estimated in this Wikipedia Article then the computing power of the Raspberry Pi is 128.69 times more powerful than the Colossus Mark 1 (5.8Mhz).

http://en.wikipedia.org/wiki/Colossus_computer

jbeale avatar

Although, are the instruction sets comparable? Seems to me you’d want to set both systems doing the same task, and compare the time taken by each one to complete it.

wallabybob avatar

The energy used in completing the task might also be an interesting comparison.

Ray_GTI-R avatar

There is no such thing as a stupid question … only a stupid answer.

So here’s a fairly stupid answer, in two parts …
1) The Colossus was not a single purpose computer. It was a programmable computer. Programmable == multipurpose.
2) The Colossus was probably more powerful, potentially, as it was scaleable not fixed-in-silicon so could have been more powerful than any computer … except for the following:-
2.1) the physical size required to equal the calculation power and throughput of even the simplest silicon chip e.g., versus CPU frequency, bandwidth etc., etc
2.2) the power needed to drive such an inefficient behemoth
2.3) it would probably exceed the available landmass of the earth! Everyone would then have to learn to swim as well as progream.

Aside from these issues if they could be resolved, the unimaginable increase in labour costs and parts availability just to maintain it – never mind to program it – well, all in all a nice thought but NOPE.

Leslie Wiggins avatar

I tried to use my words carefully there since this (Mhz) may be the only known metric of the Mark 1 being tested against modern day computing architecture.

Arguably, whilst valid everything else is just theory. That is unless someone is able to run side by side tests.

LadiesMan217 avatar

If we pay a small licensing fee to google then we could float the expanded Colossus on the ocean.

http://www.zdnet.com/blog/btl/google-wins-floating-data-center-patent/17266

That way we could save some land for the power plants we would need to build.

Mjiig avatar

You could do something a bit like this by writing s C (or asm if you’re feeling brave) program to emulate the collosus and then see how many threads of it you could launch at once before it dropped below the speed of the original collosus.
1 internet cookie to the first person to do this successfully.

ukscone avatar

if i was so inclined i’d say the best was to work out how many collosii there are in a raspberry pi would be to impl. the algorithm that the colossus used and run it on the raspberry pi. i believe that a few years ago someone did it using Ada. This might be a good exercise to give the kids to keep them out of trouble :)

Ray_GTI-R avatar

“impl. the algorithm that the colossus used ”
Nice thought but without recognition of the power required just to process it (the algorithm), the parts replacement effort whilst processing and the programming effort there’s not much of a comparison.
Think context vs 1:1 computer science and you may have a useful curriculum for our youngsters.

ukscone avatar

it would give you a metric that would make a semblence of sense. there are many metrics you could devise none of which are that useful other than for the fun of it and seeing how much ciphertext the raspi could process in a given time and comparing that to what the real colossus could process would be a fun for someone to do

timhoffman avatar

All modern benchmarks will measure the same workload across different hardware configurations.
So the obvious starting point is to measure the same workload.

Then start comparing the other metrics

The total report and comparison would then compare all the other factors. Cost per unit of work, energy per unit of work, etc…

When vendors do all the big DB benchmarks, browny points do to go to the fastest box, but the meat is always in the $ per tpm. etc…

ukscone avatar

oh and i believe the ssh password is either “mooncake” or “liz4queen”

reiuyi avatar

It’s “raspberrypi”, duh :D

liz avatar

You joke, but there’s some twit out there who keeps trying to guess and reset my password here (I know this because WordPress sends me an email every time an attempt is made, and those emails arrive rather frequently). They’ve not been successful, largely because my password is not “Mooncake”, “Password” or “Raspberrypi”…

David Gillies avatar

This is why I never trust password authentication for SSH. Especially if you’re travelling, a much better bet is to use public key authentication. ssh-agent on the local machine will ask you for a key once at boot (assuming you have your private key encrypted) and then you’re good to go.

PReDiToR avatar

I wonder why in these days of smartphones that act like mass storage devices people still resort to un/pw combinations for SSH.
PKI is the way forward. Then the passphrase for the 4096bit key could really be “Mooncake” but that’s the easy part …

wiiguy avatar

sry but you dont just just ssh in your own ssh

Shad Sterling avatar

I read it as “what’s the difference in size per compute power”. If you take “compute power” to mean 1/(task duration). it suggests comparison of these quantities: (volume of colossus)/(power of colossus) = (volume of colossus)×(task duration on colossus) and (volume of Raspberry Pi)×(task duration on Raspberry Pi). I think it would be interesting to see.

Sms avatar

MIPS per m³

tagno25 avatar

this is what I would go with, but possibly KIPS per cm³

W. H. Heydt avatar

Might consider comparing MTBF… Or even MTTR.

Charles Hurd avatar

Only a true geek would laugh out loud to this post (like I did). Not only would you have to understand what the acronyms mean, but you would also need to understand why it is funny.

roli avatar

I started laughing too when I read it. What A miserable person I am. I have realy been interested in the Colossus for the past few months actually. I must go look at it at some point – of course I must get to the UK first.

Jongoleur avatar

How about BTU/Ton?

dirtyjerz avatar

Love that.

modmypi avatar

Have an 8 vs 8 deathmatch on Quake III?

8 on the Pi, 8 on the Colossus, whichever team wins = most powerful computer, and the difference in kill/death ratio is the difference in computing power.

Now that’s a scientific experiment I want to be involved in!

CP/M avatar

No contest. Colossus already has experience in REAL warfare.

Dr. Mouse avatar

The only meaningfull way I can see to compare the Pi and Colossus would be to code up an efficient version of what Colossus does on the Pi and compare time to run a task on each.

Davespice avatar

This is exactly it. Was this machine used to work out the settings for the Enigma machine then? Or am I thinking of the Bomb machine? We would need a sample of enigma code and maybe, if possible, the sudo code or algorithm that was used on the Colossus.

Hairlocks avatar

The bomb was used to decrypt the engine messages, Colossus was use to decrypt the high command messages encrypted by Lorenz SZ 40/42

Grumpyoldgit avatar

How was Captain Kirk then?

TheTap avatar

42 ?

Davespice avatar

I suppose you could time how long it takes to count to a million?

We were promised robots avatar

“but it turns out that Eben left the bit of paper on which he’d scribbled the credentials he needed to SSH into the server on my desk in the UK”

Writing this down, is this wise?

Nick Barnes avatar

Schüth’s 5.8MHz number isn’t very interesting, as he was using different algorithms, a high-level language, etc. Colossus compared two text streams at (a configurable speed which was usually) 5000 characters per second, using a programmable comparator, and counted the matches. Looking at more general-purpose machines which were developed very shortly after the war, functionality like that would take something like 5 or 6 instructions per character, so I think it’s reasonable to think of a Colossus as running maybe 25 thousand instructions per second (compare with EDSAC or Baby, about five years later, running at 600 and 1100 instructions per second). However, it had essentially no memory (Baby had 1024 bits, EDSAC had a massive 9 kbits). Each Colossus, not counting the I/O (the bedstead and the printer), occupied perhaps a hundred cubic feet. So let us call it 10 kIPS/m^3.
RPi, in comparison is about 10 TIPS/m^3. So that’s nine orders of magnitude (unless I’ve dropped three or six somewhere). Of course, the instructions etc are quite different.

TankSlappa avatar

The clock speed or Colossus is/was governed by the speed of the input tape, so overclocking was simply a case of running the tape faster.

I believe Tommy Flowers did wonder how fast it would go and increased the tape speed. The tape eventually snapped at 200% normal speed, but the electronics was still happily handling the data at this speed.

So it seems unfair to handycap Colossus with a bottleneck input system. So who’s going to create an gigabit serial port for it? From valves of course.

LadiesMan217 avatar

But in all seriousness I think a fairer comparison would be to produce a Pi using 1940s technology.

chris avatar

Colossus has some significant advantages over Arm11 – the systolic arrays, for instance. Although Arm11 has SIMD instructions, it lacks the same degree of parallelism. Since a part of the algorithm was limited by the physical speed of the tape (27 mph or 5000 Bps), they apparently ran Colossuses (Colossi?) in parallel, which should maybe be taken into account too. Is Colossus allowed to use a modern, stronger, faster tape? Are we allowed to overclock Colossus? :)

If the data quoted here: http://en.wikipedia.org/wiki/Colossus_computer (under ‘Reconstruction’) is true, the rebuilt Colossus is 240 times slower than a 2007 laptop clocked at 1.4 GHz.

A core 2 duo M runs at about 5379 Dhrystone MIPS ( http://www.roylongbottom.org.uk ). This isn’t the processor (since it wasn’t around in 2007) but let’s just say it’s roughly equivalent.

If Colossus is running at 1/240th that ‘speed’, it would be running at 23 MIPS.

An Arm1176 runs at about 965 Dhrystone MIPS ( http://www.arm.com/products/processors/classic/arm11/arm1176.php )

If we’re willing to cope with the huge number of assumptions and inaccuracies involved, that means that our eventual fag-packet number is that one Pi is roughly equal to 42 Colossi.

So the answer is 42. Now, the question… that’s a lot more difficult… we’d have to design a whole new computer for that :o)

Rubén Martínez avatar

And design better protections to the system.
Can you imagine a few hitchhikers hacking in and out? Or road construction promotors bringing it down? It would make anyone PANIC!

chris avatar

Despite posting the above – comparing Colossus to anything is kind of heretical and I’m already feeling slightly guilty about posting MIPS for it. It’s like putting your grandmother on “Hot Or Not?”
So, sorry. :)

wjr avatar

I suppose that depends on your grandmother.

LadiesMan217 avatar

I think a “Like” button should be introduced to this page so people can show their appreciation for posts similar to Chris’ above.

Brilliant.

AndrewS avatar

Can’t you get Mooncake to email Eben the details? :-)

Whoop John avatar

It’s a great shame that those who restored Colossus could not be bothered to thank some of those who donated our rare tubes to the project, or even acknowledge their safe receipt.

tech_monkey avatar

Why not see how long the PI would take to crack the same codes as the Colossus did. This would be a true test, since the Colossus was only built to crack these codes. Did try and leave a comment on the Posterous but couldn’t. So I am leaving it here.

jacklang avatar

For those interested in early computers there is a project to rebuild EDSAC http://www.edsac.org/

It turns out that the difficult to obtain component is not the valves, which were made in large numbers and people kept spares as they failed periodically, but the valveholders, which did not fail often so spares were not kept. If anyone knows of a supply of EF54 valve holders please get in touch.

TankSlappa avatar

Surely Bakelite valve holders are something which some chap in China/India would happily churn out… Assuming Bakelite hasn’t been made illegal by the EU or anything daft.

Colin avatar

There is a new production facility somewhere for ceramic valve holders of the B7G type that take the EF54 valves. I bought some recently on ebay from this guy:

http://www.ebay.co.uk/itm/B7G-CERAMIC-VALVE-TUBE-HOLDER-EF95-EL95-2PCS-/320895404933?pt=UK_Sound_Vision_Valves_Vacuum_Tubes&hash=item4ab6db4b85

I am sure a deal could be struck for large numbers. WWII aircraft transceivers used the ceramic version.

Colin

Whoop John avatar

In the case of the Colossus it was not vacuum tubes they were short of but the dekatron readout tubes, which are neon based and not vacuum tubes.

Whoop John avatar

Polymorph is your friend here. I tend to get the plastic middle out of a clear tape roll. Melt poymorph in a cup of hot water and press into the plastic ring. Press your tube into the polymorph, drill and stuff with gold plated pins from Harwin. Job done. Need mounting flanges? Stick some more molten polymorph onto the sides and drill.

You can tell I grew up with the Eniac.

TankSlappa avatar

Surely the heat of a valve/vacuum tube would melt polymorph?

Andy avatar

I just wanted to point out that the hashes for Debian “squeeze” and Arch Linux Arm are exactly identical. Is this correct? I don’t know if there is proper forum for this post.

Jim Manley avatar

“Colossus … was the first digital, electronic, programmable computer”
Not quite. It was not programmable in the sense that the program was stored within the device. The Princeton Institute for Advanced Study “IAC” machines (Johnniac, Maniac, Illiac, etc.) hold that distinction, which were largely based on the work on the University of Pennsylvania / U.S. Army ENIAC project in Philadelphia, Pennsylvania (later moved to the U.S. Army Aberdeen Proving Grounds in Aberdeen, Maryland).
In fact, it’s a stretch to call Colossus a computer at all, as the difference between a computer and anything else is that a computer can alter its execution path based on the results of previous computation (i.e., branching). Colossus only performed comparisons between arrays of characters, only then in a very specific way that was not easily alterable, and certainly not by any effort we would consider “programming”. Its output was basically a description of how well sets of characters matched each other, and it performed no other computation based on that description. Computing historians classify such machines as “reconfigurable”, not programmable, which also describes ENIAC, the Harvard Mark I through IV, and a number of early commercial data processing machines from IBM, Univac, etc. Charles Babbage’s Difference Engines were sophisticated mechanical calculators, not computers, but, if it had ever been built, his Analytical Engine would have been the world’s first mechanical digital computer, as it would have had memory, a central processing unit (including arithmetic and logic units), punched-card input for both data and programs, a printer/typesetter for output, and a bus tying everything together.
Although it didn’t achieve operational status beyond research and development (i.e., “operational” meaning being used to perform utilitarian functions), it’s now generally agreed that the Atanasoff-Berry Computer (ABC) at the University of Iowa may be the closest example of the earliest digital electronic computer, as it predated WW-II, and elements of that work influenced many other projects, most notably ENIAC and Colossus. At the same time, Konrad Zuse had developed the Z-1 through Z-3 binary digital computers (all other computers during this period were decimal, not binary) in his parents’ apartment in Berlin during WW-II, but, it was destroyed during a bombing. The common thread among all of these projects (except Zuse’s) was Hungarian-born Dr. John von Neumann, who was a mathematics professor at the IAS when Alan Turing earned his PhD there, and is namesake of the von Neumann architecture virtually all computers use today. This architecture was described in his “First Draft of a Report on the EDVAC” (EDVAC was to be a follow-on to ENIAC, and directly resulted in construction of the IAC machines, as well as EDSAC in the UK, etc.). BTW, the name of the architecture as “von Neumann” is something he opposed, as he stated that he was only documenting the work being done by many people on the teams in Philadelphia, Bletchley Park, Iowa City, etc.
Von Neumann was probably the only person who was personally and intimately aware of the technical details of all of these efforts, as well as the Manhattan Project to develop the first nuclear weapons at Los Alamos (he was one of only a handful of people allowed to travel to and from Los Alamos – almost all scientists and engineers sent there, and those who brought their families, were not allowed to leave until after the attacks on Hiroshima and Nagasaki).
Like all great things, success has many fathers and mothers, but, failure is always an orphan. That’s unfortunate, because we learn everything from failures – success is simply the result of having eventually overcome many, many failures. Nothing ever comes full-blown from the head of Zeus, and no great achievement has ever occurred on the first try.

Andy Cater avatar

Contact GCHQ – they should know how fast a Colossus is versus a modern machine and they have a smart historian. Tony Sale demonstrated rebuilt Colossus to me and others – wartime paper tape running at 5000 characters per second / 30 miles an hour – the world’s fastest paper tape reader then and possibly now – they tried running it at 60mph but were worried about what happened when it broke. [Unlike the wire based video recorder for the BBC – coper wire at more than 100 mph]. Original selenium used for optical reader. Given that Colossus needed about 10kW power input to work at all, then we have 2k Pi’s == 1 Colossus as a minimum.

Jim Manley avatar

Last I heard, they only perform demonstrations on weekends of decryption on the Collosus replica of actual intercepted Nazi Morse code messages that were encrypted via Enigma machines during WW-II. So, don’t go there on a weekday if you want to see a demo, or at least confirm when they’re doing demos before you plan your travel. There may not be as many visitors on weekdays, though, so, it may be easier to get more questions answered in more detail. That means a Friday-Saturday or Sunday-Monday visit, right? :)

greg avatar

Colossus/Raspberry Pi calculation? I’m not a smartypants. Since the Colossus was single application that’s the only thing that can be compared in the compute power category. Maybe a real smartypants will code Raspberry Pi to do Colossus’ job. Then they can be compared.

Comments are closed