The star of the PartnerWorld 2000 tradeshow in San Diego last January, at least as far as AS/400 customers are concerned, was a new option for the AS/400 called Portable Application Solutions Environment (PASE). PASE is a UNIX runtime environment that is an add-on feature for OS/400. It is something that the AS/400 has needed for years: an easier way to get UNIX applications up and running natively on the AS/400. J.D. Edwards & Company is among the first midrange vendors to use PASE to port a UNIX application to the AS/400. The company plans to use it to port its Active Supply Chain suite (which it got by virtue of buying supply chain management software vendor Numetrix last year) from AIX to OS/400. Similarly, SPSS, the business intelligence (BI) and statistical software vendor that announced last March that it would be moving its applications to the AS/400, will be using the PASE runtime environment within OS/400 V4R4 to get its AIX applications running on the AS/400. Undoubtedly, others will quickly follow suit.
The fact that IBM even bothered to tell its AS/400 customers and Business Partners that PASE exists shows that IBM is capable, when it sees benefits to its business, of being quite open about how it uses hardware and software technology to accomplish a task. It would be difficult to imagine the IBM of 1988 actually admitting that PASE existed, much less admitting that modern AS/400 and RS/6000 servers are essentially the same machine geared for different uses and users. (In some respects, IBM has come a long way, baby.) PASE is possible for a number of different reasons, but the biggie is that since the Apache generation was announced in September 1997 AS/400 and RS/6000 servers have used essentially the same hardware (e.g., processors, memory cards, and system buses). The basic differences between an AS/400 and an RS/6000 symmetric multiprocessing (SMP) server are that the AS/400 and RS/6000 applications use different instructions that are embedded into the 64-bit PowerPC chips (Apache, Northstar, and Pulsar) and the RS/6000 has a slightly different I/O setup (high-end AS/400s use proprietary SPD peripheral connections; the RS/6000 uses PCI technology like other UNIX servers and all PC servers).
PASE has moved from a toy to a strategic porting environment. Early last year, I heard a story about how the techies at Rochester had taken an AIX implementation of the Asteroids video game and ported it to the AS/400. Exactly how they did this was unclear to me at the time, and I didn’t give a lot of thought to it because these kinds of research projects are always going on behind the scenes. For instance, IBM has been similarly
playing around with non uniform memory access (NUMA) clustering and Very Long Instruction Word (VLIW) programming techniques for AS/400s since the early 1990s, and while that research has led to improvements in the AS/400, it has not yet resulted in NUMA or VLIW products. Anyway, since I first heard about Asteroids for AS/400, AS/400 Division General Manager Tom Jarosh has pushed developers to expand the minimal UNIX runtime environment that was running Asteroids to the point where it can be used to support full-blooded AIX applications natively on AS/400 iron. Officially, IBM says that PASE was first used to support programs written in the Smalltalk object-oriented programming environment and compiled on AIX servers; this early PASE implementation was embedded in OS/400 V4R3.
Wheels Within Wheels
The AS/400’s new PASE runtime environment is important because it does not require recompilation of AIX source code. Because the Apaches and Northstars have both the AS/400 and RS/6000 instruction sets in them, AIX applications, when properly surrounded with a minimal AIX environment to support AIX binaries and libraries, can reach down into the AS/400-RS/6000 iron and run. The AIX kernel has not been ported to OS/400, so this is not a case of IBM running both AIX and OS/400 on a single box. PASE does not require an OS/400 logical partition to isolate the PASE environment from other OS/400 workloads. OS/400 remains firmly in control of AIX applications, and these AIX applications are running, at least during preliminary tests, at native speeds compared to RS/6000 implementations of the same applications.
The first pass of PASE includes over 900 AIX APIs that AIX applications typically talk to to get access to Apache and Northstar hardware. These APIs are what comprise the minimal AIX runtime environment, and the whole shebang is woven into OS/400’s Systems Licensed Internal Code (SLIC). This runtime environment gives AIX binaries the things they expect to see—such as support for the ASCII character set, 32-bit pointers, and so forth—and, for all intents and purposes, looks like AIX as far as the application is concerned. Figure 1 shows conceptually how PASE is integrated into OS/400. The APIs that make up PASE are comprised of AIX shared libraries and a subset of the syscall microcode that is the functional equivalent of the AS/400’s Technology Independent Machine Interface (TIMI). This syscall interface rides on top of the OS/400 kernel (rather than the AIX kernel) that resides in OS/400’s SLIC, and instead of asking the processor to use the AS/400 tags-active 64-bit memory addressing to run applications, it switches to the RS/6000 tags-inactive 32-bit mode and executes the program in main memory. The PASE environment doesn’t hog the whole Apache or Northstar processor, either. A single processor can support multiple PASE and native OS/400 applications running concurrently, and PASE works equally well on model 170 Invader or Bumblebee servers or 6XX, SXX, or 7XX high-end AS/400e servers. And it is already built into OS/400 V4R4. All you have to do is pay $100 (which covers royalty fees to the Open Group, which owns the UNIX brand name) and activate option 33 of OS/400, and you’re good to go.
The important thing about PASE is the fact that application developers don’t have to go through the process of examining their UNIX C code and comparing C features supported in AIX with those supported in the AS/400’s ILE C compilers to port their code. They also don’t have to worry so much about whether or not OS/400 has the UNIX APIs that other UNIX environments have, which is how UNIX code has been moved to the AS/400 up until now. The AS/400 has long since offered support for all but the supercomputing APIs in the so-called Spec 1170 group of popular UNIX APIs; OS/400 also supports the open systems POSIX standard, which describes file types among other things. These UNIX features help make it easier for UNIX developers to get their code running under OS/400. But moving from UNIX to OS/400 was often no easier, and sometimes harder, than moving from one UNIX variant to another. Just because an API exists doesn’t mean it works well, and performance differences in APIs is one of the things
that drive application software vendors crazy. The APIs have to work well for these vendors to announce a port to a new platform like the AS/400.
PASE is a much simpler approach: Load the AIX application in the AS/400’s QOpenSys file system within the Integrated File System (IFS) and invoke it from an ILE API. If the application uses only those 900-plus AIX APIs supported by PASE, it loads into a private address space in the AS/400’s memory and runs. The AIX applications within PASE can access AS/400 databases just like other AS/400 applications, and they can call ILE RPG, C, and Java programs written specifically for the OS/400 environment, too. IBM says that as it evolves the PASE software, it will add more AIX APIs, which should broaden the number of AIX applications that can be run on the AS/400. In particular, expect IBM to add APIs to PASE so it can support 64-bit RS/6000 modes. Incidentally, one thing that won’t run in PASE is an alternative RDBMS, like DB2 UDB for AIX or Oracle 8i for AIX.
Anyone who thinks about this for more than a minute will realize that if the AS/400 can support AIX binaries, it should be possible, in theory, to support OS/400 binaries on RS/6000 servers that are based on the 64-bit PowerPC processors. Neither the AS/400 nor the RS/6000 development teams are working on such a project, says IBM, and it is unlikely that they will now that IBM has made it clear to its Business Partners and customers at PartnerWorld 2000 that there will not be an exit strategy for the AS/400 line. The AS/400 line is far too profitable, even with revenues down in recent quarters, to walk away from. The current level of shared hardware integration between the AS/400 and RS/6000 lines is what we can continue to expect (with obvious exceptions, like the AS/400 not using the Pulsar processors that are branded the S80 in the RS/6000 line) in the foreseeable future. Even when IBM moves to the Power4 servers in late 2001 or early 2002, OS/400 will remain a distinct operating system from AIX. However, you can expect that the OS/400 microcode developers in Rochester will continue to steal as much of AIX as makes sense to boost the application portfolio of the AS/400.
Linux, Linux Everywhere...
Sam Palmisano, the new head of IBM’s Enterprise Systems Group, is under the gun to deliver growth in IBM’s server businesses. It seems that Palmisano, like many other people in the computer business, has come to the conclusion that IBM’s best hope in generating increased server sales is to hitch the Enterprise Systems Group’s hopes to a rising star like Linux. And in mid-January, Palmisano took the first steps to do just that when he created a new Linux-UNIX organization, which will be headed up by Irving Wladawsky-Berger, the former head of IBM’s Internet Division and arguably the man who, in the mid-1990s, breathed life into IBM’s struggling RS/6000 UNIX server business with the advent of the SP parallel supercomputer line.
Palmisano made up his mind about Linux weeks after taking his new job, and he announced a sweeping reorganization that will, so he said at the PartnerWorld trade show in San Diego, have Linux running on all of IBM’s strategic platforms by the end of 2000. The speed with which he set the new organization rolling to figure out what IBM needs to do is a good indication that Palmisano and IBM are not fooling around anymore when it comes to Linux. Well, to qualify that further, maybe they are not fooling around. The proof will be in the results, not in the pronouncements.
IBM is putting together the people and the money to bring Linux to the three platforms that fall under the Enterprise Systems Group—S/390 mainframes and AS/400 and RS/6000 midrange servers. More importantly, IBM has also committed to working with the open source community to bring its enterprise hardware and systems software expertise to bear on Linux so it will be a more useful enterprise operating system and work more transparently with OS/400, OS/390, and AIX.
Unfortunately, IBM is being cagey about the nature of Linux support on these platforms, and that is not something you’ll read anywhere else because no one else in the
press or analyst community thought to press IBM on the details. They just swallowed IBM’s pronouncements and then regurgitated them and moved on to other topics. I didn’t do that.
IBM is not saying exactly what its Linux plans are for the AS/400—you can get lots of IBMers to dance around the issue like a sombrero tossed on the ground, but you can’t get them to say what is and what is not in development when it comes to Linux for the AS/400. It looks increasingly likely that IBM will extend the AS/400’s PASE AIX runtime environment to support Linux binaries, but IBM could plop lxrun emulation within OS/400 or the PASE AIX runtime to offer Linux binary support. IBM’s AS/400 Division has said flat out that, at this time, it has no plans to support Linux on the Integrated Netfinity Server (INS). There was some initial confusion on this point when the Linux-UNIX organization was announced, since it was telling members of the press that the INS card was the Linux option for the AS/400.
Officially, IBM’s AS/400 position is that it will support interoperability with Linux clients and servers. If that doesn’t exactly excite you, join the club. Complain to IBM. I did.
IBM is similarly vague about its plans for the S/390 and RS/6000 servers. Linux for S/390 is already in beta on IBM’s S/390 mainframes and can be run as the sole operating system on S/390 G2 through G6 series mainframes. It can also be a guest operating system under the VM operating system or run from within OS/390’s logical partitions. Linux for S/390 is an open source GNU Linux license that has been beefed up to support mainframe-style peripherals. Officially, trying to quell overenthusiasm for Linux on mainframes, IBM is saying that it is trying to establish whether or not it makes sense for Linux for S/390 to be a full commercial alternative to VM, VSE, MVS, or OS/390 on mainframe iron. That was not the party line just as the Linux for S/390 beta was quietly put out on the Web, and it is likely that the OS/390 folks, who have to sell really expensive one-time or monthly software licenses for a living, are about ready to have a stroke now that they have free Linux created by IBM to contend with.
Big Blue is being equally obscure about exactly how Linux will run on RS/6000 servers. IBM supports a variant of Yellow Dog Linux on the 64-bit Power3-based 43P technical workstations and servers and on the 32-bit PowerPC 604e-based F50 servers. It does not support Linux on the mainstream servers that use its 64-bit Apache, Northstar, and Pulsar PowerPC processors, nor does it support Linux on its SP parallel supercomputers, which use a mix of 32-bit and 64-bit Power and 32-bit PowerPC chips in their processing nodes. IBM says that it currently does not have any plans to offer native Linux on the 64-bit PowerPC family of chips used in the RS/6000 line at this point, either, but adds that, with the Monterey/64 implementation of AIX for Intel’s 64-bit Itanium chips, it will be using the lxrun Linux emulation environment to support Linux binaries. It may do the same for future releases of AIX for Pulsar and I-Star PowerPC and Power4 servers as well as on the SP parallel supercomputers.
AS/400 ILE Applications OS/400 Services AIX
Shared Libraries
Syscall
PowerPC 64/32 Bit
PASE Applications
OS/400
AS/400 Server
Technology Independent Machine Interface
OS/400 SLIC Kernel
PowerPC AS 64 Bit
Figure 1: The Portable Applications Solutions Environment (PASE) within OS/400 V4R4 completely surrounds AIX applications and makes them look like OS/400 applications.
LATEST COMMENTS
MC Press Online