Java performance profiling requires special attention for select IT shops moving to higher-performance applications that assign Java compute and memory resources as shared network services. The industry-wide move to multi-core hardware could aggravate this trend. And for developers and testers, this may require new profiling tools.
Server appliance maker Azul Systems has fashioned an innovative monitoring system for special code optimization and application tuning needs.
Although Java has improved garbage collection for object-oriented applications, there is still an inherent performance penalty in Java Virtual Machine (JVM) garbage collection. It puts stress on Java in so-called "real-time" or high-performance applications. Start-up Azul has forged a business addressing the issues based on its Azul Compute Appliance, which features Azul-designed multiple processor cores specialized for dealing with Java's unique garbage collection traits.
Last month, the company released the Azul Real-Time Performance Manager (RTPM). It is a diagnostic tool -- embedded in Azul's specialized JVM -- that continually monitors applications, virtual machines, I/0 sockets and file caches.
It is said to provide development and administration teams with information that can help identify and resolve performance bottlenecks. A company founder suggests it acts something like a logic analyzer, long the handy bench-top companion of the hardware developer.
"It's like logic analyzer for Java," said Azul Founder and CTO Gil Tene. "The RPTM lets you pinpoint bottlenecks quickly."
A development team that used Azul's built-in performance profiler to simulate user load discovered flaws in the Spring Java/JEE application framework as they ported to the many-core Azul appliance. In a blog entry on program parallelism, Leo Kim, senior software developer at LimeWire, a file sharing software maker, wrote, "We took advantage of Azul's built-in performance profiler and began simulating a load of 40 users simultaneously hitting the appliance each second. After about 10 simulated users, we saw that each request was taking 10-plus seconds to process."
"We were averaging out at a dismal 15 to 20 users a second, at which point all other requests to the server were blocking," Kim wrote.
Among things LimeWire discovered via the Azul monitor's view of thread activity was lock contention related to the methods employed. Changes in methods, not more hardware, solved the problem.
While Azul's monitoring system may save money based on ROI considerations, clearly, this is a high-end solution. What the company features as aggressive pricing on its appliance bundled with RTPM ($34,995 for a 96-core 48GB appliance) may seem steep to many development managers. But for those who've already entered the realm of "many-bladed" high-performance computing, it may bear watching.