You are currently on IBM Systems Media’s archival website. Click here to view our new website.

MAINFRAME > Tips & Techniques > Systems Management

SIMD 101 on the IBM z13 Mainframe


The nice thing about my job with IBM is that I get a chance to work with some of the most intelligent people on the planet. My current team consists of eight exceptional minds that are paid to ply the art and science of z Systems architecture. IBM's current mainframe behemoth, the IBM z13 system, was also a brainchild of some of the smartest people on the planet.

The z13 mainframe was built to withstand the processing that is consistent with our mobile society. And let's be perfectly clear, the mobile society consists of all of us—young and old. I recently presented to a group of university students at Wentworth Institute of Technology in Boston. The topic of my presentation was all around the value of z Systems servers and basically how to get a job in the world of z Systems “techies."

To drive home the point of why z Systems mainframes are so important, I talked about how many of them had already used a mainframe today. Things like checking balances in their checking accounts, ordering something online or using a credit card all touch the mainframe. I asked them how many had used their smartphones in any of that activity and nearly all of them raised their hands. I rest my case.

The z13 mainframe has a multitude of very cool features but one of the coolest features is that of the single instruction, multiple data (SIMD) architecture. Make no mistake, SIMD has been around for quite a while but the new z13 introduces SIMD in an entirely new light. The z13 platform brings to bear a new architectural extension with instructions that allow reduced processor quiesce effects, lower cache misses, lower pipeline disruption and increased parallelism with instructions that process several operands in a single instruction. This is the heart of SIMD and where the name originates.

Increased Analytic Processing

The z13 superscaler processor has 32 vector registers that include an instruction set containing 139 new instructions. The enhanced instruction set allows a better flow for increased number of operands to be processed in a single instruction. z/OS V2.2 is planned to provide support for utilizing the new instruction set and SIMD. It will also be available with z/OS version 2.1 with PTFs. This is all intended to provide support for increased analytic processing. With the boom in big data and analytics, the timing could not be better.

As stated earlier, SIMD allows for the processing of more operands in a single instruction. This is important because it allows for more interactions to occur. This is also important because it decreases the amount of code and accelerates code with integer string, character as well as floating point data types. SIMD instructions improve the performance of complex mathematical models as well as permitting the integration of business models and analytic workloads on z Systems. This all spells speed of processing.

The 32 new vector registers each have 128 bits. The 139 new instructions work on string operations, vector floating point operations and vector integer operations. Each register has multiple data elements of a fixed size. The code in the instructions shows the data format and the size of the elements (see Figure 1). The elements can be in byte (16 8-bit operands), halfword (eight 16-bit operands), word (four 32-bit operands), doubleword (two 64-bit operands) or quadword (one 128-bit operand). The collection of the elements in a register is called a vector.

All of the enhancements to the notion of vector processing can be used for increased speed with the processing of analytics-based use cases in utilizing SIMD architecture. Functionally speaking, a single instruction can and does operate on all of the elements in a register. The new instructions have a non-destructive design the allows the addition of the vector A register and vector B register, thus storing the result in register vector A, which equals A plus B. Geek speak for, "Man, this thing smokes!".

SIMD architecture is one of myriad enhancements that the z13 system brings to the table. With the off-the-roof demand in the areas of mobility processing and advanced analytics, SIMD is a very promising enhancement. The z13 system is the first to offer SIMD technologies. As of today, code can be developed to take advantage of the new SIMD capability. The following compilers have support and built-in functions for SIMD:

  • IBM Java
  • XL C/C++
  • Enterprise COBOL V5.2
  • Enterprise PL/I

COBOL V5.2 and C++ will use SIMD for string operations. XML system services will use SIMD on the z13 platform for character and string manipulation. Additionally, there will be applications for Java V8 and z/OS 2.1.

Assists Workloads

SIMD is now integrated into the new z13 mainframe. This gives the ability to accelerate workloads by using new instructions that act on many data elements at once. This can even occur at the single instruction level. This can help an organization meet shrinking batch windows by increasing throughput times. This helps the workloads keep up with new incoming transactions and allows extraction of real-time insight from consumer and financial transactions. Another nice benefit with the SIMD is that it allows workloads from earlier z Systems servers to run unchanged on the z13 mainframe. Workloads can now also be changed and enabled for higher throughput with SIMD acceleration.

SIMD has some very interesting opportunities with processing applications related to analytics, as throughput is extremely important to harvest the insight of the transaction. Analytic transactions can be run in close proximity to z Systems data with efficiency and maximum performance. This also increases programmer productivity when developing analytics workloads where speed is paramount.

IBM is currently engaging with ISVs to allow the enablement of their products and solutions for use with SIMD acceleration. All IBM products and solutions that are enabled for SIMD acceleration will be announced as SIMD capable when released. IBM will also create documentation about SIMD to be included in a new IBM Redbooks publication in late 2015, “The SIMD Accelerator for Business Analytics on the z13.” The new SIMD instruction set will be included and documented in the next release of z/Architecture Principles of Operations.

Patrick Stanard is a mainframe integration architect for IBM Global Technology Services. He’s a 35 year professional in the industry spanning roles as a systems programmer, developer, manager, business unit executive, affiliate faculty member and director of operations. He has a Bachelor of Science in CIS from Saginaw Valley State University and an MBA from Michigan State University.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Optimal Service Delivery

Overcome eight key challenges and reduce costs

MAINFRAME > TIPS & TECHNIQUES > SYSTEMS MANAGEMENT

An Accurate Benchmark Is Important

Advice for the Lazy Administrator

Steps you can take to avoid late nights and system frights.

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
Mainframe News Sign Up Today! Past News Letters