Linux Possibly Ported to IBM Mainframes
Jah-Wren Ryel writes "
Vnunet is reporting
that IBM has a version of Linux ported to their S/390 mainframe
architecture waiting in the wings. Apparently there are two versions, one that runs under VM (a kind of meta-os, sort of like VMware) and one that runs on the bare hardware." An "anonymous source" and "speculation from analysts" story. Nothing official from IBM. Please read and judge accordingly.
Still, 5 years ago they were talking about how great it would be to have one OS across the board so that you wouldn't have to retrain employees as you scaled systems up from PC's. At the time, they were talking about doing that with OS/2 and we all know where that went, but Linux is out of their control so will continue to gain popularity no matter what they do with it.
It'd be cool to be able to telnet to bldvmb and get a Linux session when I log in, I hope they do this :-)
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
...take it from someone who's discussed it with the guy who actually started it. Linux/390 isn't very special, really. When I last spoke with him (I'm sorry, I've forgotten his name.. I forget names easily. :P) it just ran on the bare hardware, and didn't support much at all. If anything.
Now, some info on the S/390 from someone who's not gotten to play with one, really, but has seen one.
The S/390 is a 'massively parallel' computer. Meaning that everything is parallel. The S/390 is capable of running just about any OS you throw at it, from Linux on an x86 host controller to Windows NT on that same host controller. You can run AIX on an RS/6000 host controller. Or OS/400 on the AS/400 host controller. It's designed to do massive processing while serving up literally thousands of hosts. Usually 'dumb' terminals over twinax (twin-prong coaxial), triax (three-prong coaxial), or RS232/RS242.
No, it's not meant to run Linux instead of OS/390. I wouldn't dare to say that it should, because in truth, it shouldn't. The S/390 is not a 'convenience' machine or a 'play' machine. It is a mainframe, and it needs a mainframe OS.
However, I see absolutely no reason why Linux shouldn't run on the S/390. Bear in mind; running on the S/390 does not mean replacing OS/390. It means SUPPLEMENTING OS/390. Say you have an S/390 handling most of your financial transactions, but accounting wants a website to keep track of it. Running Linux on an x86 host controller on an S/390 is the perfect solution. But say accounting wants to cut some major expenditures out of the budget; eliminating OS/390 isn't a good idea. Plain and simple.
OS/390 is a *VERY* mature OS, pretty much dating back to OS/360 (the similarities between OS/390 and OS/370 are very obvious) and as a direct result, is rock solid stable, extremely secure, and inherently reliable. Add that in to hardware that is designed to have decades of uptime. Add in the power to get the job done and then some. That's what the S/390 is about. It's a big-bucks big-iron machine meant to be your network-edge solution for ERP and transactions and whatever else you want to throw at it. It's not your webserver, it's not your fileserver. It's a mainframe.
However, I've noticed quite a few people are moving away from S/390 to the actually more powerful RS/6000's, which lack some of the features of the S/390. Okay, MOST of the features people look for in the S/390. Some RS/6000 models border on the commodity machine definition. Linux doesn't belong there, either. Yes, that's right, you're hearing it from someone who spends about 99% of his spare time working on porting Linux more thoroughly to the RS/6000. Linux doesn't replace AIX. Period. AIX is a mature OS, probably 7 or 8 years Linux's elder. AIX has a very stable and regular release and development cycle, and is built on principles that have been proven a million times over. It's inherently reliable, stable, and very fast. Unlike Linux, AIX does not just have 'general' releases for all RS/6000's with all architecture support. There is AIX for the RS/6000 F40 (Dual PowerPC 604e) and there is AIX for the RS/6000 Power260 (single POWER3). You can't mix and match those two or components from them. AIX is optimized at the hardware level extensively. Unlike my work, it's built on native platform, optimized on that platform, and meant for that platform.
Yes, every piece of AIX has a common code base. The compilers do the work. That's why it's built on the native platform. You can get AIX C/C++ compilers for PowerPC 604e, POWER2, POWER3, and so on. And they're designed to optimize and compile reliably. ANd they do it well. Better than gcc or egcs could ever hope to.
Linux/390 is a great project. Like I said; there's no reason whatsoever that Linux should NOT be able to run on the S/390. There's no reason Linux should not be able to run on ANY system. The question is, though, do you want to replace what that system is MEANT to run with Linux?
Not yet. Linux is still a long way off from being ready to do that. But maybe someday it will be ready.
-RISCy Business
your company here.
shelby != ford
Not to mention the specialized hardware IBM mainframes use. It's not just a CPU and a few busses you have to be worried about. Literally *everything* has its own controller. Code would need to be written for so many things besides simply the CPU that, when all is said and done, what you'd have would be a far cry from the Linux we all know and love.
To put it bluntly: I'll believe it when I see it.
- A.P.
--
"One World, one Web, one Program" - Microsoft promotional ad
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
Okay, while I was not the person who talked to IBM directly (gee, you went to my website, good for you!), my understanding was that he talked to every person under the sky about getting our system to work with Java. He talked to their marketing people who assured them that Java would be entirely supported by IBM. He then asked for an example (Alan Cox's "show me the code"). Their technical people failed to produce one line of code that would run under OS/390. Eventually after dragging several VPs on both ends into it, we finally got something running on the system (this was mid-summer). Mind you this was on their beta OS running on a test proc. slice - we needed this on our production environment by the end of the summer (a company that dependent on it is not going to run their production m/f on an beta OS - even IBM's). However, by now, I believe that IBM has officially released the OS version that supports Java natively (but I may be wrong - I am no longer at IM).
However, since we used CICS (as do most IBM shops), we wanted CICS/Java connectivity on OS/390. And, that was what ultimately killed it. While Java was technically supported by the OS, their killer app did not support it. What they said is that all of the COBOL would have to be rewritten to conform to Obj. COBOL standards, then the Obj. COBOL could call C++ wrappers which could then call Java (and that was only if we installed every beta they had). In something so performance driven, this was not an option (never mind beta code). We were trying to make this faster NOT slower. At the same time, we had to support the legacy COBOL code. Ingram has so much COBOL code that forcing a rewrite of any subset of the code becomes a logistical nightmare. We eventually settled upon having a J/Gate (Java->CICS) architecture. Far from our ideal, but at the time, it was our only option. IBM failed to deliver what their customer needed when they needed it. Now, in six or seven months, IBM may finally get their heads out of the sand and support Java in CICS in a reasonable manner. But, Ingram is now a lost cause in that respect.
So, to clarify my position a bit, yeah, OS/390 supports it. CICS doesn't. If you aren't using CICS, then why use OS/390? Yeah, DB2 and all of that is supported in OS/390, but IMNSHO CICS is still the lifeblood of the OS/390 series...
BTW, you are indeed correct, IBM's machines kick Sun's ass clear across the room. And, in a place where IBM has so much clout, they should never have let Sun in the door. Now that Sun has their foot in the door, some are seriously considering dumping all IBM products and turning into a strictly Sun shop.
Sun delivered, IBM did not. That is what matters in the end...
Later,
Justin
Mu. P.S. The address you see is real. =)
Err, umm, once upon a time, mainframes were one of the few sorts of "normal computers" around. They don't look like PC's, but PC's are the only type of "normal" computers if you take "normal" literally, as in "average", as in "the average computer, by sheer numbers, is probably a PC" (I neglect embedded systems here, which I suspect may well outnumber even "IBM-compatible PC's").
The S/3x0 instruction set is pretty conventional - 32-bit, 16 general registers, register-register/register-memory/memory-memory instructions, most of which are boring old load, store, add, subtract, multiply, divide, etc., with various more exotic add-ons. Just because something's a mainframe, that doesn't mean its instruction set and CPU are immensely exotic.... (The Burroughs mainframes, and their Unisys A-series successors, have a fairly exotic instruction set, but IBM mainframes don't.) The ESA/390 Principles of Operation manual documents the S/390 instruction set.
If by "the VM" you mean "VM/390" or whatever it's called these days:
Perhaps you're thinking of System/38 and AS/400, where the compilers used by application programmers don't generate native machine code, they generate code for a virtual machine, and the low-level OS code ("system licensed internal code") translates that code into the native machine code for the particular machine, if it hasn't already been done, in order to run it (that native machine code being a System/3x0-like instruction set on older machines, and an extended flavor of PowerPC on newer machines).
A port is in progress, according to the Linux on the IBM ESA/390 Mainframe Architecture page. ("A port of glibc has been started. System calls work. Signals don't.")
Perhaps porting the X server code would make no sense (although there do exist graphical terminals for mainframes - I think they're still used for engineering and scientific work), but the X client code might be useful.
As far as I know, "SMP", meaning "symmetrical multi-processing", as in "multiple processors, without particular processors being devoted to particular tasks such as 'one processor runs OS kernel code and another runs user-mode code' or 'only one of the processors is allowed to ever run kernel code' (as opposed to, say, a single kernel lock allowing only one processor at a time to run kernel code), has, as a term, been around longer than have SMP systems with Intel processors. SMP systems, whatever they've been called, have definitely been around longer than have SMP systems with Intel processors....
If this is true (highly doubtful), this would definitely send shockwaves throughout the enterprise class server industry. If IBM believes Linux is ready to run on their heavy metal boxes, then some serious (re)consideration of Linux is going to occur in the next few months.
However, after personally seeing IBM run away from Java on the mainframes (running OS/390-MVS), I have to doubt this is true. IBM looked scared to death of Java on the mainframes. For the personal computers (i.e. with Jikes), they really seem to embrace Java, but on their enterprise class servers, they seem to be frightened to death of it. After all, if they support Java, then why not just use Sun boxes? Of course if they do such a thing, they'd have to do it better than anyone else (including Sun) - not to say that they aren't capable of this, but they'd have to try really hard. =)
This could also mean the beginning of the end of OS/390 (MVS) - maybe IBM finally decided that they no longer want to mess with having to recompile or support weird programs on their OS. Just give them a little VM (or actually processor slices most likely) and let them run their own little OS that will allow them to run their weird apps. Keep all of the VTAM and CICS stuff under OS/390 though. I'd be pleasantly shocked if they came out with full-blown support for Linux though... Oh, man, CICS Server on Linux/390 - oooh, wow - there would be a lot of people jumping into to learn Linux really quickly if that happened.
But, rumours are rumours for a reason. I'd be curious to know whether Linus knows about stuff like this - would a company tell him that they were porting Linux to XYZ hardware platform?
Later,
Justin
Mu. P.S. The address you see is real. =)
Possibly, but I seem to remember hearing the term before x86 MP systems were common (although they date back at least as far as the Sequent Symmetry, so they do go back a while).
Perhaps Digital^H^H^H^H^H^H^HCompaq don't say "SMP", but they sure say "symmetric multiprocessing" (admittedly, not "symmetrical", if one wants to be fussy) on the Digital^H^H^H^H^H^H^HTru64 UNIX home page.
There exist S/390 machines that have a lot of processors, but the Multiprise 3000 "enterprise servers" (every time I hear some marketoon say "enterprise", I wonder whether they intend to install the "enterprise" product in question on the bridge of NCC-1701) start out as uniprocessors and go up to big honking two-way systems.
I also have the impression that the MP S/390's are "really symmetrical", in the sense that there aren't particular S/390 processors dedicated to specific functions.
I suspect he's thinking of I/O processors, e.g. the processors that run the channel controllers (which I wouldn't be surprised to hear were PowerPCs these days), the communication controllers, etc. - the processors that run the applications, and the bulk of the OS, are S/390s, as far as I know.
I work in the mainframe world and although we run MVS, I have seen references to IBM running Unix on their S/390 line (maybe others). So, it shouldn't be too hard for them to get Linux to run too. Someone posted something about TCP/IP and seemed suprised it might be on a MF. Well even on our MVS box we use TCP/IP for everything. We even have SMTP and FTP servers running on it and it works great. I think it would be wonderful to have Linux as the base OS.
--Scott 8-}
..they're minicomputers. That's not just a nit-pick - programming for a mainframe, at least at the lower levels, is much nastier than on the relatively uniform minicomputer architecture. A mainframe feels closer to a tightly integrated network of special purpose devices than a single CPU system.
From a programming perspective, a VAX is much more like a souped up microcomputer than a mainframe. One reason why virtual machines are popular on mainframes is that they hide the really ugly parts of the system; not just from application programmers but from kernel programmers.
I can believe a Linux port to VM, but I'm much more skeptical about a port to the bare metal.
Caveat - my mainframe penance was on Unisys machines, so correct me if I'm off base about IBM's big iron. No such doubts about the minicomputers though.
This is Old News, in computer terms.
LinuxToday ran a story on this back in mid-October. In it, they referenced an article in the Danish version of ComputerWorld. The feedback comments to LinuxToday are interesting, and several of them pointed out one project's home page.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
What would the purpose of this be?
As the article says (you did read the article, right? *grin*), the main point would be to run Linux in parallel with other S/390 OSes like MVS. As everyone seems to be pointing out, Virtual Machines are very popular in the mainframe world, and it is quite common to run more then one OS at a time. Thus, Linux would be just one more OS.
The suggested application was Lotus Domino. I can also see web servers, application servers, general Internet servers, that sort of thing, being useful. Perhaps a company running a big back-end mainframe database would want to use Linux for the front-end interface, with (for example) Cold Fusion. I can see quite a few uses for it.
Is a big bank going to dump MVS and move to Linux on the S/390? No, of course not. That isn't the point.
Plus, there is hack value. We can now say with a fair amount of confidence that Linux is the most scalable OS on the planet. It runs on everything from large IBM mainframes to hand-held Palm Pilot devices.
I'll believe it when I see it.
It is already partly done, from what I understand. My comment here has links with details.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.