With a 40 MIPS minimum entry-point, the 64-bit world provided by IBM’s zSeries processors is beyond the reach of most small VM and VSE enterprises, as well as z/OS developers. Pentium-based z/Architecture emulation addresses this gap and provides a lowcost, 64-bit solution for small environments. This article provides an overview of the FLEX-ES emulator architecture from Fundamental Software and discusses my company’s systems programming, performance, and compatibility experiences with FLEX-ES on a zDev server as part of IBM’s PartnerWorld for Developers (PWD) program.
The ever-increasing capacity and price/ performance of IBM’s zSeries processors presents a paradox to small VM and VSE enterprises as well as to z/OS developers. Small users who are considering the zSeries family of processors face the Sam’s Club paradox. To understand the implications of this paradox, consider the price of peanuts at Sam’s Club. On a per-pound basis, Sam’s Club offers a very low price. However, peanuts are available only in package sizes ranging from five-pound bags to 250-pound pallets.
Like Sam’s Club, IBM is competing in a commodity marketplace. The smallest member of the zSeries product family is the 40 MIPS z800-0E1. At the high end, the 32-processor z990-332 is expected to provide approximately 9,000 MIPS. While these systems offer substantial price/performance advantages to large users, the price of an entry-level z800-0E1 and a small 2105 storage subsystem is more than $250,000. Unfortunately, this configuration is far beyond the budget constraints of most small users. As Stan King observed in his February/March 2003 z/Journal article, “The Future of IBM S/390 Mainframe Entry-Level Platforms,” the zSeries processor family does not provide a cost-effective entrypoint into the 64-bit z/Architecture world for the thousands of small VM and VSE enterprises and z/OS developers.
Fortunately, this gap has been addressed by Fundamental Software’s FLEX-ES emulator, which was verified by IBM as part of its NUMA-Q product development process. Cornerstone Systems currently provides four zFrame commercial servers, ranging from approximately 8 to 60 MIPS and four PWD-eligible zDev development models, ranging in performance from approximately 28 to 100 MIPS. All of these implementations are based on selected IBM xSeries (Netfinity) Pentium e-servers. This article reflects Performance Associates’ z/OS experiences with single- and dualprocessor models of Cornerstone’s zDev family installed under the auspices of IBM’s PWD program. These systems replaced an IS/390 and a PC Server 500 S/390 that supported Performance Associates’ development environment.
THE FLEX-ES EMULATOR
Conceptually, FLEX-ES may be regarded as a layer of software that emulates S/390 images on an underlying layer of non-S/390 hardware and software. The Cornerstone Systems implementation of FLEX-ES is comprised of Caldera Open Unix 8 executing on an IBM xSeries Pentium e-server. Figure 1 provides an overview of a FLEX-ES implementation for a 64-bit z/OS environment.
The principal components of the FLEX-ES emulator are:
- An Architectural Level Set-3 (ALS-3)- compliant S/390 instruction emulator that can operate in either 31- or 64-bit addressing mode
- A resource manager that manages the interfaces between the emulated S/390 CPU complexes, emulated I/O devices, physical channel adapters, and system memory
- I/O device emulators that are collectively managed by the resource manager
- A Unix console component for managing FLEX-ES
- A terminal solicitor program that emulates local non-SNA 3270 terminals for operating system IPLs, local access, and remote access via TN3270
- A collection of stand-alone utilities for defining FLEX-ES CPU complexes, formatting emulated CKD disks, and other administrative functions
- Optional PCI bus hardware components— today, these include Parallel Channel Adapters (PCA) and Integrated Communication Adapters (ICA).
While both the S/390 and Pentium are complex instruction set computer (CISC) processors, their underlying processor architecture, elementary data formats, I/O subsystem, and instruction sets are fundamentally different. Hence, the FLEX-ES emulator must translate each S/390 instruction into the IA32 instruction set of the underlying Pentium. While Fundamental Software has not provided a detailed description of the FLEX-ES emulator architecture, it has been described as a just-in-time translation schema that employs caching techniques similar to those employed by CMOS S/390 processors. The key to this process is that the S/390 operating system and applications are unaware of the emulation. That is, they operate just as if they were running on either a real 31- or 64-bit S/390 ALS-3-compliant zSeries hardware platform.
Another interesting aspect of FLEXES is the resource manager, which can simultaneously share resources of the underlying Pentium server between multiple S/390 instances. This facility introduces a level of flexibility for the concurrent installation, operation, and maintenance of multiple S/390 images.