The contents expressed in this column are solely those of Robert Crawford and do not reflect the opinions of his employer.
Last month's column on running z/OS on x86 generated enough feedback that my editor sent me a fair-sized sample of reader comments on my "mini-mainframe" idea. I enjoyed most of them and I also understood the criticisms they contained. It made me feel that I ought to reply to a few of them because I wasn't clear enough the first time.
For those who pointed out that z/OS on x86 and the mini-mainframe is not a new idea, I call your attention to the second paragraph in last month's column:
The idea is to create "mini-mainframes," or z/OS running on x86, aimed at a departmental or office level -- areas currently dominated by Windows, Intel and variants of Unix. The idea is not new. Years ago, I saw an IBM demonstration of OS/390 running on a desktop computer. Third parties have created MVS-compatible hardware that ran pretty well until IBM stopped them. Then there's Hercules, an open source emulator, which claims to be able to simulate mainframe operating systems from now and back to the 1980s.
A couple readers justly took me to task for not doing enough research. While it is true that I knew of several efforts to put the mainframe on smaller machines, I was not aware of many others. One reader mentioned System z Personal Development Tool (zPDT), which led me to this article containing a succinct history of mainframe emulators. The full article also mentions one of IBM's own forays into emulation, the P/390, which was probably the system I saw at Share in the 1990s.
When I stopped to admire the P/390, the man in the booth said it was free for universities and would cost everyone else $50,000 -- a good buy for an independent software vendor (ISV) but not so much for a small office or hobbyist. From the name, I would assume IBM intends zPDT for the same market, which I think is misguided.
A few other respondents pointed to the complicated relationship between the mainframe operating system and its hardware, particularly the I/O subsystem. It is very true that IBM has spent a lot of time and money tinkering with the hardware to make the software run faster. When I started in 1981, there were, perhaps, a little more than 100 machine instructions. Now it seems like every new hardware generation adds more instructions, each more arcane than the last. Some of them, such as Update Tree, seem to exist for no other reason than to speed up some complicated general algorithm by putting it into miilicode.
There's no denying the mainframe I/O subsystem is very complicated. It is designed that way to take as much burden as possible from the central processor. Its asynchronous nature also ensures that all the I/O components, from the Unit Control Block to the spindle, can be driven to the highest levels of utilization.
But the point here is that to run z/OS on x86, the mini-mainframe doesn't need to be built and wired together out of thoroughbred components, it just needs software or firmware that can pretend to act like them. A mini-mainframe can run z/OS and accompanying programs in the equivalent of a virtual machine that emulates any instruction in the playbook. Also remember that z/OS doesn't talk to a disk, it talks to an I/O card. As long as the I/O card makes the right noises, z/OS is none the wiser.
Maybe an emulated move character long instruction takes 30% longer than the real thing. Maybe the I/O to a hard drive pretending to be a 3390 mod 64 takes a few milliseconds longer. It won't matter in a mini-mainframe running a homogenous workload at low utilization levels.
Finally, I return to the premise of the article, which I must not have explained very well. My recent experience has been that IBM is more intent on expanding mainframe usage by marketing Integrated Facility for Linux (IFL) engines combined with zLinux and zVM. This is a good thing, but it only addresses half of the problem. The other half is z/OS.
Z/OS, 45 years in the making, is a wonderfully efficient, robust, secure and intelligent system. I think it would be a great loss to see this tremendous technology left in the dust because of greed.
The difference between my idea and those that came before is the packaging. My idea for z/OS running on x86 would be designed for customers other than universities and ISVs that need a machine to run an office. Getting into the tiny markets can only be good for IBM. Not only will they reap more software revenue, albeit in much smaller bites, but its professional services business will grow as well. Finally, IBM will be able to provide a smooth migration path, on z/OS, from the small office to the worldwide enterprise.
The ultimate question is would it sell? That's up to IBM. Does it truly want the mainframe's operating system market to expand beyond captive enterprise users? In a few years, I think it will have to. The case for cheap hardware, green or otherwise, is too compelling to ignore. Yes, a mainframe can be monstrously more efficient than other platforms, but does that really matter in the 21st century?
ABOUT THE AUTHOR: For 24 years, Robert Crawford has worked off and on as a CICS systems programmer. He is experienced in debugging and tuning applications and has written in COBOL, Assembler and C++ using VSAM, DLI and DB2.
What did you think of this feature? Write to SearchDataCenter.com's Matt Stansberry about your data center concerns at firstname.lastname@example.org.