In 1987, the NYSE had several computer systems in operation. The oldest and most critical one was the Market Data System known as MDS-II. This system gathered trading information from the Trading Floor and drove the traditional ticker tape as well as distributing the trade data over higher speed synchronous lines. Of the various systems, MDS-II was the only one which was absolutely critical to trading. While failure of the other systems was an inconvenience, failure of MDS-II halted trading completely, resulting in a lot of lost revenue for NYSE and its member firms.
When IBM originally built MDS-II in the early ’70s, they promised to support it forever. Evidently, ‘forever’ is a relative term, since by the mid-1980s all the knowledgeable IBMers had moved on – died, retired, left IBM, become upper managers, etc.
The version of the OS was years out of date, but given that it was seriously modified to begin with, that was not a big deal. However, it did mean that support required someone with an expertise in the OS that dated back as far as possible as well as the ability to understand and support the modified system, which is where I came in. I started at NYSE in 1973 doing free-lance work on a mainframe system, then went to SIAC, the IT subsidiary of NYSE/AMEX, formed to do all their computer work. By the late ’70s I was working mostly on MDS-II.
I migrated it from a /360-50 using 2314 disks and a front-end 2703 to a 4341 with 3330-II disks and 3705 front-end. This brought the hardware more or less current, but it was still running ancient software. By the mid 1980s, it was decided the Exchange needed to replace MDS-II and the programmers got busy. It was supposed to go live in ’87, but took longer, as such things usually do.
Someone remarked that MDS-II could not continue forever because it could not support the newer disk systems which were coming out. It was true we were buying old 3330s for spare parts, but I pointed out that we could run the system indefinitely under VM with virtual 3330 disks. I suspect the real reason was that they knew they could not run MDS-II without me. They’d seen the way I ski, heard rumors about how I drive and knew I’d taken up hang-gliding, so they were justifiably nervous.
In any case, MDS-II’s days were numbered and I was scheduled to move to other parts of the company. I wanted to make sure MDS-II had the capacity to handle whatever trading volume might arise during the rest of its lifespan. At the time, NYSE was averaging about 125k trades/day with a high of 180k. MDS-II had a maximum capacity of about 250K trades/day and I thought that insufficient, since the market had become increasingly volatile. Everyone laughed at my concerns, certain that we would never exceed 250k trades before the replacement system went live. They ridiculed my ‘paranoia’ but did not keep me from expanding the capacity, which is probably a reflection on my reputation within the company.
I expanded the capacity of MDS-II to 650k trades/day.
On Black Monday, October 19th, 1987, the market crashed. The transaction rate blew every system in the house completely out of the water – except MDS-II. All the newer, ‘more powerful’ less-critical systems died. The oldest, ‘obsolete’ and only critical system, the ‘dinosaur’ handled the load.
At the end of the day, we had done 635k transactions, so my 650k capacity didn’t look so ‘paranoid’ anymore. The laughter stopped. All the other programmers spent most of the night rebuilding and expanding their systems. I spent about an hour increasing MDS-II capacity by doubling the size of one file and tweaking its speed, effectively providing for a 3-billion-share-day, which did not occur until several years later. I moved on, the new system was eventually brought online and MDS-II rode off into the sunset. (It should be in the Smithsonian, IMO).
At the time, the market crash was severe enough to seriously threaten the economy. I’m not a financial expert but was pretty much in the loop with those were were. I heard considerable talk that the only thing which prevented a complete meltdown was that NYSE was operational to provide liquidity in the market and that without it, the entire system would have collapsed in another 1929 & Great Depression. We were in major competition with the USSR at the time and it was their inability to afford ‘guns and butter’ which led to their downfall. If we had collapsed, we would not have been able to afford ‘guns and butter’ either and the USSR might not have fallen, the Berlin Wall might still be standing and Eastern Europe still be behind the Iron Curtain.
Every historical process has a trigger and starts somewhere. Maybe this one started with a middle-aged programmer being over-cautious and wanting to cover his ass. 😀
Note: One consequence of the high transaction rate was that the ticker was hours behind and we could not start after-hours processing until all data was sent out. When the ticker was originally implemented, it displayed 15 characters/second, as that was determined to be the fastest people could read it. Unfortunately, in times of heavy trading, that wasn’t fast enough. There were commands to reduce the amount of data being sent out. Normally, a trade resulted in – for example – the stock symbol, price and volume: IBM 1023/8 200. With “volume delete” mode, we displayed: IBM 1023/8. In “digits delete” mode, we displayed: IBM 3/8. In “repeat price omitted” mode, we did not display the trade unless the price changed. Thus, the 15 characters of IBM 1023/8 200 was reduced to 11 characters, then 7 characters, then omitted until a new price was set. After Black Monday, a new command was added to stop the ticker and restart it a a later time, reasoning that outdated information was of no value.