6/18/2010

QNX system runs 15 years nonstop until...

Let me tell you a story about a QNX-based computer that ran 24 hours a day, 7 days a week, for 15 years. The computer was running just fine until… well, I’ll get to that part in a minute.

The story begins in the mid 1990s, when a paper manufacturing company installed the computer to monitor pressures, temperatures, and a variety of other parameters at a rate of 5000 times per second. A few years later, the company installed a second QNX computer and configured it as a hot standby for the first. That way, if the first computer ever went down, the second one could immediately take over.

For more than a decade, this safeguard proved unnecessary. But recently, the second computer reported that it could no longer communicate with its partner. Assuming that a software error had occurred, the company called in an IT consultant to fix the problem.

Assuming that a software error had occurred,
the company called in an IT consultant.
But what they really needed was a detective.

Just one thing: The consultant couldn’t find the first computer. And that’s because it was no longer there. Evidence suggested that someone had stolen the machine, so the company called in the police to investigate.

To make a long story short, the police tracked down and returned the stolen computer. Upon booting it, the consultant discovered that thief had tried, unsuccessfully, to install Windows Vista — imagine doing this on a machine that dates back to the early days of the Clinton administration.

The computer itself still seemed to be in working order. So the consultant cloned the disc from the second (and still-running) QNX computer and re-connected the first computer to the network. The two machines automatically synchronized with each other and have been running ever since.

Personally, I don’t know what impresses me most: that the OS never crashed in 15 years or that the hardware didn’t wear out. Either way, the story is a testament to embedded design done right.

11 comments:

Who would want to steal a 20-year old computer? And which police force would want to expend energy in tracking one down? It's not that I don't believe your story Paul ... but it certainly has all the makings of an urban legend.

I have two stories to add. I was called a couple of years ago by an oil company employee. He wanted me to fix a QNX2 system. The system was one of four QNX 2 computers on an oil tanker. There were two duplicate computers for two separate systems. The one that went down was part of the engine monitoring system. If the 2nd one went down, they would not be able to leave port. I spent an hour going through the refinery security to get to the dock, where I had to put on a hard hat and ear plugs to get into the engine room. There in the noisiest room I've every been in, while standing upright looking over a protective window at the screen I had to use a chichlet keyboard to try to fix the system. The solution was the same as in Paul's story. I copied some files from the duplicate system over the QNX Arcnet network and bingo, it was working again. I'm pretty sure they retired the system now but it was amazing to see it up and running still.

But I still personally run an even older QNX 2 system on a daily basis. If you ever call my home or office and end up leaving a voice message, it's being saved on a 40Mhz 386 system that's been running trouble free for over 20 years. I wrote the driver for the Dialogic card and the simple answer machine application back then. The only significant change to the system over the years has been to change the hard drive to CF card.