Application threading a gate for performance
November 18, 2015
Many an HP 3000 app was designed in an era when threads were expensive. Multi-threading is another way of describing multiprocessing. It's the M in MPE. But few HP 3000 programs use multi-threading. Multi-processing uses multiple processors. These 2-way and greater 3000s could cost upwards of $200,000 over the last complete decade of sales in the 1990s. Since this was the MPE/iX value model, the cost reflected the combo of hardware and system software, during an era with user-count licenses for the OS driving up the capital cost of 3000 computing.
For any customer who had but one CPU propeller to push along their ship of software, a single-threaded app made good sense. But the single threading programs of MPE/iX are a gating device for engaging the full horsepower of virtualization. Dave Clements of Stromasys mentioned the common threading architecture for MPE/iX apps while we talked about VMware's connection with the Charon product. This is a common reason why every 3000 customer's Charon performance is one of those "it depends" solutions.
A user of Charon can sometimes get along with a relatively slow CPU clock speed for the Charon host hardware. At the Conax Technologies datacenter, a 2.7GHz Intel host is standing in for a Series 928 HP 3000. Virtualized CPU power is almost as fast as the original hardware there, according to the system manager — and then any application process that reaches out to the disk screams along, the manager added. But there's not a lot of multi-threading in the 3000 app world.
"We run into a lot of applications that are not multi-threaded," Clements said. "It makes a difference. We see that a lot in database applications. There's not a lot we can do about single-threaded applications," he added, in order to take advantage of the multi-threading abilities in newer and faster host CPUs. What makes Charon an effective emulator is, in part, its ability to excellerate multiple threading of processes. It's the same kind of lift as if the newer Intel chip designs were to give power upgrades to the PA-RISC CPUs. This is the promise of virtualization. Multithreaded apps get more from it.
Stromasys customers and prospects have not been reporting that speed is a barrier to their adoption of the product. Charon has the potential to run 3000 programs even faster if those apps have been written to use multiple threads. "Every customer poses the potential for a unique solution," Clements said. Other aspects can be changed, he said — things that are easier to update than application code which was probably first conceived before the Web was born.
For example, system IO can be improved easily, from new controllers to faster devices to solid state disks. Hardware is cheap compared to the manpower of rewriting an application to take maximum advantage of newer CPU horsepower.
Controllers on the SANs, on the host, and switches for the storage devices to connect — all are hardware gating components in the formula for virtualization. At Conax, the system manager said the advantage to working with legacy software is "the bits don't change." Those are application bits he's referring to. Charon will be upgraded and improved many more times than most MPE/iX apps, here in 2015. Most of that 3000 software is frozen in time, a very stable time. In a growth business like virtualization, there's always room for improvement: of hardware, and of the virtualization software, too.