Application performance tips: Workload optimization and software pathing
IT pros looking to maximize application performance should look beyond basic software, tuning to products from vendors pathing software and hardware.
Workload optimization allows an application or group of applications (also known as a workload) to exploit the underlying hardware and infrastructure/middleware layers to achieve maximum performance. If your organization wants to extract the highest level of application performance out of the computing platforms that it purchases, you should ensure that workloads are optimized for the hardware they run on—and you should look for vendors who are “pathing” their software and hardware.
Getting on the right path
Vendors and IT buyers use three general approaches to optimize workload performance: tuned to the task, application performance management and hardware/software pathing. Tuned to the task involves matching a workload to the hardware platform best suited to serve it. So, for instance, a workload that is mission critical and must have a very high level of security–and that uses its input/output system extremely heavily–is well suited to run on a mainframe. A workload that is comprised of light, fast threads and has lower quality-of-service requirements (such as lower security or reliability/availability requirements) is well suited to run on x86 servers. Application performance management is, in essence, a set of monitoring and control tools that enable users (rather than vendors) to tune their application environments.
But the focus of this tip is hardware/software pathing, which is usually a vendor-driven effort that involves finding ways to enable a workload to move most expeditiously between middleware and infrastructure layers, through the operating environment, through the hardware, out to the database and back. This kind of pathing is usually performed by vendors and is best accomplished by those who own entire infrastructure/middleware stacks, the underlying hardware and databases–this means major IT players, such as IBM, Oracle Corp. and Microsoft.
Pathing is important when application performance is critical. Imagine that you're a systems integrator–a company that doesn't own its applications, underlying infrastructure/middleware and hardware. In this case, an application/workload would be linked with some third-party middleware program that would be linked with some third-party infrastructure program that would drive through the operating environment to access data. In this example, the person or persons performing integration work would have to know all of the best ways and best practices to streamline that application’s access to a database. Furthermore, to really tune the application, that integrator would have to understand various instructions available at the hardware level that could improve application performance. I rarely see an integrator that is able to perform this level of tuning.
I recently talked with an application developer who works for a company that regularly acquires software companies. This developer told me that his company is frequently able to greatly improve the performance of the software that they acquire, because they figure out how to increase performance through middleware, infrastructure and hardware layers. This tuning gives this particular vendor a performance edge when competing with companies that don't path third-party software.
As an example of software pathing, let’s consider a query issued by IBM’s Cognos software–a family of business analytics software products. IBM has “software pathed” Cognos so that it can query a database for information, and that data can then be placed into very large memory (VLM) for in-memory processing. The CPU is very tightly coupled with the memory subsystem and can take advantage of in-memory processing to process a query in memory, resulting in a 3X speed increase compared with having to constantly perform read and writes to a disk subsystem. By modeling queries on best practices, SAP’s NetWeaver Business Warehouse can respond 55% faster to queries than when using ad-hoc query approaches. By enhancing systems management, IT administrators gain greater visibility into how a query works and can further tune it. An administrator can achieve a 70% faster query response on an Oracle Essbase using management tools to tune the query. And streamlined lifecycle management results in further performance savings—up to 80% faster on Cognos TM1.
Pathing requirements and implications
How do you figure out which vendors are pathing their software? The term “software pathing” is not often used in the computing industry. Some vendors perform “software tuning and integration” as a normal part of their developmental process. They don't think of it as pathing software. Instead, they talk about how they've optimized their software and may point out that their implementation and tuning can result in performance that is far better than their competitors.
Still, if you look under the hood, many of these vendors have figured out how to make certain calls for services within their information infrastructure and to their underlying hardware that result in high performance. In other words, they figured out paths through the infrastructure and middleware layers—and have made special calls to the database—while sometimes using special hardware instructions to achieve high performance.
I see many IT buyers who are unaware that pathing can exponentially improve application performance. These buyers acquire commodity hardware and purchase ISV middleware/infrastructure and management products to run their systems environments. They don’t do a lot of software integration, and they don’t get very high performance out of their systems. Yet they seem happy with their environments, even if those environments are performing at only 30% of capacity. If your organization pays closer attention to efficiency–both by running the right workloads on the right systems and by tuning those applications–your enterprise will be able to get more computing done on the systems it has now. Your computing acquisition costs will be lowered and you’ll be better able to scale your information systems environment in the future. And finally, with the performance benefits that can be achieved through pathing, your organization will be able to establish a competitive edge as compared with inefficient competitors who don’t tune to the task and who don’t software path.
About the expert:
Joe Clabby is the president of Clabby Analytics and has more than 32 years of experience in the IT industry, with positions in marketing, research and analysis. Clabby is an expert in application reengineering services, systems and storage design, data center infrastructure and integrated service management. He has produced in-depth technical reports on various technologies, providing guidance on numerous topics, such as virtualization, provisioning, cloud computing and application design.