Part II: Specialty Hardware, Databases, Mainframes, and Service-Oriented Architecture (SOA)
"I feel the need for speed" is a famous movie line that explains why we often turn to hardware acceleration for faster execution of database queries. The favored approach has been to speed up applications by distributing workloads across multiple processors. That can involve exporting analytics or other processing to the cloud or to specialty hardware, such as Oracle Exadata and EMC Greenplum. Another approach that's gained traction with IBM System z users is to add specialty processors to the mainframe. Besides adding more processors to the hardware mix, they provide the advantage of reducing costs per MIPs.For IBM System z users, a Processor Unit (PU) is a Central Processor (CP), Service Assist Processor (SAP) or one of the CMOS-based specialty processors. A high-end System z machine can have up to 96 CPs. The System z supports the addition of four types of specialty processors. One is the Internal Coupling Facility (ICF) that allows coupled systems to communicate using several structures (lists, caches, locks). Another is the Integrated Facility for Linux (IFL), to enable mainframes to support Linux applications. IBM followed the IFL with the System z Application Assist Processor (zAAP) and System z Integrated Information Processor (zIIP).
The processors reside in a Multi-Chip Module (MCM) and all processors in a Central Electronic Complex are identical, with the difference among processors being microcode. Each z10 Enterprise Class can have up to four MCMs. Each PU includes four cores that can be a CP or other processor, such as a zIIP or zAAP. There can be up to twenty cores per MCM. The zIIP and zAAP processors are a separately-priced item, with System z customers being able to order one zIIP and one zAAP per CP.
The newest hardware, the IBM zEnterprise 196 (z196) uses a new 5.2 GHz microprocessor chip with data compression and cryptographic processors right on the chip. The z196 can have as many as 80 configurable cores and support up to 3 TB of real memory.
A prime benefit of the specialty processors is freedom from licensing fees. Most mainframe software pricing, from companies such as BMC, CA and IBM, is based on paying a monthly charge that includes a licensing fee and support costs. The IBM pricing model includes a Workload License Charge, with the monthly charge based on processor usage measured in Million Service Units (MSUs). The specialty processors can be purchased for a one time charge. They support certain types of workloads, such as Java and XML processing, without increasing the MSU rating used to calculate software licensing fees.
The capability to offload work to specialty processors reduces the costs of MIPS (million instructions per second), the primary cost driver in mainframe environments. The hardware and software cost of a zIIP processor, for example, is $150 to $200 per MIPS. That compares favorably with $2200 to $3400 for the CP.
The zAAP processor running a Java Virtual Machine (JVM) can execute asynchronously with the mainframe's general processors. Besides Java processing, it can provide low-cost XML parsing services for XML workloads and z/OS XML System Services.
zIIP IBM restricts the z/OS zIIP-enabling functions to certain types of software. Before disclosing the API for shifting work for zIIP execution, IBM requires software vendors to sign a special license agreement. The zIIP can only assist the CP; they cannot initiate execute an Initial Program Load (IPL). In some System z mainframes, the CP is not configured to run at full capacity; however, knee-capping does not apply to the zIIP specialty engine.
The zIIP processor was originally targeted at DB2 database workloads, whereas the zAAP is the solution for Java applications. So it's possible to reduce the cost of running database and Java workloads using these specialty engines.
Although the zIIP was initially used to lighten the database processing load of the mainframe's central processors, it's now used to offload other z/OS workloads. IBM modified the z/OS Communications Server to use zIIP for IPSec encryption and header processing. This reduces the cost of processing FTP bulk data transfers when the data requires encryption or decryption.
There are several types of DB2 workloads that are candidates for zIIP offloading. These include
- parallel child processes - XML parsing - native SQL stored procedures run via the Distributed Data Facility (DDF) - some maintenance and indexing processes - DDF server threads that handle SQL requests from ODBC and JDBC applications, plus others that connect via TCP/IP.
ISVs The independent software vendors (ISVs) who compete in the mainframe market are leveraging the IBM System z specialty processors to enhance their products. BMC MainView system management software can move a significant portion of its work to a zIIP. BMC CMF Monitor can offload work from the CP to zIIPs and share data collection with MainView for z/OS. CA offers database management systems that can use zIIP specialty engines. These include CA-Datacom/DB Multi-User Facility and CA-IDMS.
In 2009, Information Builders announced support for the zIIP chips in its business intelligence products. These include FOCUS 7.6.10 and WebFOCUS 7.7, and subsequent versions. IBM also announced a program to attract SAP users and released performance tests with SAP workloads using the zIIP engines. Running an SAP OLTP workload with a zIIP processor produced a response time that was about 60% of the response time with no zIIP processor. It also reduced the CP busy percentage by about half.
SOA, WOA For new software development, Service-Oriented Architecture (SOA) and Web-Oriented Architecture (WOA) remain the technology du jour. Building new services and applications is one solution for surfacing information that currently resides in data silos, such as legacy data sources. So there's plenty of interest in tapping mainframe databases for web services and data integration for analytics and business intelligence.
SQL is often the tool chosen for querying the data sources, with XML being the data format of choice for data integration and delivering data for services. SOA typically includes a data services layer to accomplish the SQL and XML work. ODBC and JDBC drivers and .Net providers provide connectivity to a variety of data sources for running SQL queries.
One problem on the mainframe side is that non-relational data stores lack an SQL query processing engine. That means they cannot, for example, natively support queries from ODBC- or JDBC-enabled software. But Shadow from Progress Software offers a solution for System z users. Progress Shadow provides an SQL engine that supports SQL-92 queries with non-relational data and it operates with the zIIP and zAAP specialty processors.
Shadow supports SQL queries over CICS VSAM files and Adabas, IMS and DB2 databases. It supports asynchronous processing of calls from web service requesters and enables IMS transactions to function as web service providers. Mainframe applications can function as web service providers and consumers, meaning COBOL and PL/I applications can play in the web services playground with Java and C#.
When there's Java processing to be done on a System z mainframe, applications can leverage the zAAP to lower costs. Asked about Shadow's use of the zAAP, Progress Software's Gregg Willhoit responded:
In our first usage of the zAAP we integrated the IBM JVM into our common architecture and implemented a BPEL component by porting and integrating Parasoft's Java based BPEL engine into Shadow. This allowed us to offload the orchestration of mainframe and non-mainframe web services to the zAAP, and coincidentally if the mainframe web services being orchestrated where provided by Shadow, they would then be offloaded to the zIIP.
With System z sales increasing, it's apparent the mainframe will continue to be viable for both legacy and new applications. It fits the profile of what's needed for a fast, secure, well-maintained server that has the added benefit of access to legacy data sources. But it's not just a platform for legacy applications. Software such as Shadow and IBM's z/OS XML Systems Services enable mainframes to fully support SOA, and do so while offloading work to specialty processors.
Part I Ken North Blog ArchiveBuilding new services and applications is one solution for surfacing information that currently resides in data silos, such as legacy data sources. So there's plenty of interest in tapping mainframe databases for web services and data integration for analytics and business intelligence.