IBM's zPDT offers developers z/OS on the desktop

IBM's System z Personal Development Tool (zPDT) allows developers to emulate z/OS on their desktops, but could zPDT be more beneficial if it IBM made it available to a broader audience?

After suggesting in a recent column that IBM should offer a "mini mainframe" that makes z/OS available on x86,...

I discovered that the company had introduced Rational Developer for System z (RDz) 7.6.2, which includes a unit test feature. Rational Developer for System z's unit test provides a z/OS environment on developers' desktops, including most of the major subsystems. Lo and behold, underlying the RDz unit test is System z Personal Development Tool (zPDT).

Requirements and configuration of zPDT
System z Personal Development Tool, which is able to emulate Z operating systems and software, runs on an Intel processor and Linux system. According to the zPDT Redbook, it will run on 32-bit or 64-bit distributions of openSUSE and Red Hat Enterprise Linux (RHEL) 5.3 or later. However, IBM recommends the 64-bit distributions for performance and support reasons.

The zPDT machine model is 1090 and it has three model types: L01 through L03. The last two digits signify the number of processors (or cores) available to zPDT. The Linux instance supporting zPDT must have the same number of processors defined to it as the 1090 guest. In addition, the simulated z processors may also assume zIIP, zAAP and IFL specialty engine personalities. A user can start multiple zPDT guests, but the total number of logical processors cannot exceed the 1090 model number. System z Personal Development Tool supports mainframe I/O through device managers. There are 12 managers that emulate everything from system consoles to 3390 and 3380 disks.

IBM, as always, is very careful with licensing. The 1090 will not work without a software key plugged into the PC's USB port and will pause if the user removes it.

A user specifies zPDT's configuration in a device map (devmap) text file, which consists of a list of stanzas. The system stanza denotes the number and types of processors. In this same stanza are parameters for the amount of simulated real memory for the LPAR as well as other miscellaneous data. Another type of system stanza defines the number of cryptography engines.

Device definitions are in manager stanzas. Each manager stanza names the device manager followed by the device addresses and a file system directory, if it applies to unit type.

Lastly, zPDT comes with a series of Linux commands designed to operate and administer the 1090. These commands may be entered through a Linux command window that belongs to the user who started the zPDT instance. The commands fall into these general categories:

  • Move data back and forth between Linux files and simulated Z devices
  • Manipulate cryptographic engines
  • Initial Program Load, terminate, interrupt or restart the 1090
  • Manipulate devices and processors

The Redbook makes several important points about performance. First, the Intel processor must be fast enough to avoid tripping any z/OS timeouts. This would be especially true for any simulated I/O. The system's performance is sensitive to memory reference patterns due to the lack of z internal structure and cache. Finally, the absence of z processor pipelining may also slow down a workload, depending on the instructions it uses and which order it uses them.

Greater opportunities for IBM with zPDT
System z Personal Development Tool is still a bit of an enigma. Searching for zPDT on IBM's website brings up links to documents hidden in "PartnerWorld," to which I have no access. Instead, most of the material for this column came from publically available Redbooks.

My guess is that zPDT was previously meant for internal IBM use or use by a few partners who develop system-level software. This makes perfect sense, because a z platform on a PC is a great boost to a lab technician's productivity. It is also helpful to independent software vendors who can't afford to lease time on a mainframe.

Bundling zPDT with Rational Developer for System z is a step in the right direction, but I think IBM is missing the bigger picture.

Making zPDT available to the general public would strengthen existing systems programming skills and generate some interest outside of traditional mainframe circles. Customers who cherish availability would appreciate having another sandbox for testing changes before they go into production. Finally, zPDT is the perfect size for getting into college classes and onto students' laptops.

IBM may have technical or financial reasons for keeping simulated mainframes purely on the development side. However, I maintain that z/OS on x86 may be one of the best ways to grow the mainframe business if IBM is truly interested in doing so. According to a recent report, there are around 7,000 mainframe users. That's fine, but what will IBM do after it has saturated the high-end computing market?

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 [email protected].

System z Personal Development Tool is also pretty bare-bones when it comes to system administration. The 1090 has RACF and a handful of IDs but very few RACF rules. In addition, the default volumes are not system-managed storage, although the user is free to implement it if desired. The documents I referenced didn't include any advice for "care and feeding" tasks such as Systems Management Facility output or spool maintenance.

Dig Deeper on IBM system z and mainframe systems