Tuesday 27 September 2011

Heroes in computing

I've kind of gone through life with a leery skepticism of hero worship, but I do have at least one person who is a genuine hero to me. I'm not sure whether it was just one conversation or many over the years, but Phil Steele of TAB NSW/Limited helped form my actual knowledge rather than anything I had picked up before.

The conversation was about the use of an old IBM mainframe OS - DOS/VSE (probably VS when they actually made the decision). VSE was limited to running a few partitions - the equivalent of a few threads or processes in contemporary terms. The much more expensive MVS would allow more - and the logic was that it would therefore do more and was worth the price jump.

However, TAB was not a rich organisation and could only afford a few disks and a CPU per mainframe. The semantics of the operating system at the time meant that if you performed a disk write you would be blocked until the write completed. And naturally a CPU could only do one thing at a time. Therefore the number of processes you needed to saturate your kit is thus a fairly straightforward formula of (number of disks + number of CPUs).

This saved TAB money and lead down a particularly efficient path. Today the maths is a little more complicated but the principles are the same - something that is worth holding close in the pursuit of performance.

Phil's crystal clear explanation - which I think I've mangled - was a key click moment for me - forcing me to think hard about how things actually worked.

Phil Steele - my personal computing hero.