Watson-Inspired Pattern Matching Drives IBM i Performance Breakthrough
June 9, 2021 Alex Woodie
What do human diseases and IBM i performance problems have in common? For starters, they both can generate quite a bit of data. In the case of the humans, it was enough for IBM to train its AI technology, Watson, to find patterns buried in the data and come up with diagnoses. Now the Danish software company iPerformance is using a variation on that approach with GiAPA, its Global i Application Performance Analyzer.
When iPerformance founder Kaare Plesner saw a demo of IBM Watson developing medical diagnoses, he figured a similar approach could work for sorting through the reams of performance data generated by IBM i servers.
“We were inspired by IBM talks telling about how Watson could be used to let medical doctors enter some symptoms and then get a list of diagnoses,” Plesner told IT Jungle. “We thought we must be able to do the same with performance problems. It was tougher than I thought, but we made it.”
Plesner has already seen a measure of success with GiAPA, which he started selling as a package in 2003, but is based on a series of performance tools he has created over the years, starting in the 1980s on S/38 machines, as we told you last year. Then and now, GiAPA specializes in finding the parts of IBM i programs that are not running well, that are taking too much time, and are consuming too many computing resources, including CPU, memory, and disk I/O.
Armed with samples of actual IBM i job data taken every 15 seconds, and stored in a highly compressed binary format, GiAPA has helped hundreds of IBM i clients around the world pinpoint the sections of RPG, CL, Java, or SQL code (among others) that are suspected roots of their performance woes. iPerformance has always focused on inefficiencies in third-party software or homegrown code; hardware bottlenecks are already well-served by IBM tools, according to Plesner.
The one drawback to GiAPA in its previous incarnation is that it didn’t run automatically. While it ran continually in the background, with some types of problems, the services of a performance expert were required to be able to pull apart the source code and identify the culprit of the performance snafu. This is where Plesner wanted to apply the Watson-like cognitive capabilities: to recreate an automated expert that could learn from the performance mistakes of technologies’ past.
According to Plesner, the new automated performance diagnostic capability introduced in GiAPA this year does not employ machine learning technology, as IBM used with the development of the Watson for healthcare application. But it is relying on the “pattern matching” born out of the analysis of a very large corpus of IBM i performance data that iPerformance has collected over the years, Plesner says.
“We analyzed 7 million or 8 million call stacks we had received from a bunch of servers. We kind of boiled that down to as a little as possible, and that’s the research,” Plesner said. “We had a very, very broad base that we could use to create a table that can translate symptoms to a diagnose and what can be done.”
In addition to analyzing call stack, which tells the user which functions the programs use the time for, GiAPA is also analyzing open file data, which informs the user about the efficiency of file access processes.
When the GiAPA software is installed, it monitors the customer’s IBM i system for about two or three days to determine a baseline of activity, Plesner said. After that, the software will start pinpointing problems and suggesting improvements.
“It knows all the jobs that are using a given file or program. It adds it together, and checks, do we have a pattern [of this] bad behavior?” Plesner said. “Then it goes out and gives a warning.”
In a way, it’s like having the inference side of a machine learning algorithm that acts on real-world data, albeit without the automated learning part. But Plesner is reticent to use that term. “We’re not doing real machine learning,” Plesner said. “We were inspired by the AI and we’re using that kind of idea. But since it’s not running on a central machine.”
Plesner said the automated performance add-on is like having an X-ray for your server. “We have data every 15 seconds about absolutely everything moving on the computer, including internal operating system tasks,” Plesner said. “This is not only internal usage data, or how many I/Os or CPU times. It is also what programs are used down to the statement number, what files are used down to the relative record number.”
According to Plesner, a French IBM i performance expert told him the automated add-on can be expected to find about 80 percent of commonly seen performance problems. “Nobody ever did this before,” the expert told Plesner.
The interesting thing about GiAPA is that it works across all jobs, he said. “Normally, you go in for analytics and look at one job,” Plesner said. “We look at the whole computer. You don’t have to say, please look at this application because we think we have problem here.”
Early adopters of the new automated performance function have found inefficiencies in IBM i programs that they thought were running fine, Plesner said. For example, by changing one line of code, a user can prevent a job from writing to the QTEMP library hundreds of millions of times, thereby cutting hours off a long-running batch job.
In addition to new software, iPerformance is introducing free trials for the first time. Interested parties will be free to download GiAPA and run it on their system. GiAPA will then generate a report that includes the third-best suggestion for optimizing IBM i jobs. If user wants to see the top two suggestions (as measured by the amount of performance can be reclaimed), they can buy a license.
For more information, see the company’s website at www.giapa.com