National Oilwell Varco Selects Aonix PERC for Java-based Robotic Drilling

Aonix, the provider of the PERC technologies for embedded Java(TM) developers, announced that National Oilwell Varco has selected the Aonix PERC Ultra(TM) virtual machine (VM) for its Java(TM)-based control system that manages automated robotic drilling. National Oilwell Varco, a leading designer and manufacturer of a broad range of technologically advanced drilling equipment, AC and DC drives, pipe-handling equipment, controls and instrumentation, made an extensive evaluation of embedded Java offerings. Varco selected PERC based on its very fast, predictable performance and small memory footprint.

To meet current application needs, Varco's engineering team converted an existing Varco design for automated robotic drilling equipment using a Java-based control system running on embedded Linux. This design consists of a Java-based robotic control system on various x86 SBC platforms with a 2.6.11 Linux kernel. Varco required jitter below 3 ms in executing its software application over a one-hour period using its embedded computing platform. The engineering team tested numerous JVMs on its platform, but only PERC could meet the need for very fast, predictable performance without a tremendous memory or hard drive footprint.

"J9 from IBM could not come close to the performance that I was able to achieve with PERC," noted Kent Hulich, Varco software development manager. "We needed timing intervals below 10 ms, and Aonix provided a version of PERC that takes advantage of POSIX CLOCK_REALTIME timers in Linux 2.6 to provide very accurate timing to the application."

But, accurate timing alone was not enough. Varco needed to preempt memory reclamation at any point in time. To do this, Varco configured PERC to place all Java threads in a real-time scheduling class and set critical thread priorities above the PERC garbage collector so they could interrupt the garbage collector as needed. Aonix' support team assisted Varco engineers in achieving optimal configuration quickly and easily and with no changes to the source code of the Varco Java test program.

"We're very pleased that PERC was flexible enough to manage the jitter and easily achieve Varco's specifications," noted Dave Wood, Aonix marketing director. "This ability has enabled the PERC Developers at Varco to create a highly stable and accurate control loop in which to implement their software applications. It's always gratifying each time customers confirm the superior technology of PERC, particularly for technically challenging projects like the Varco robotic drilling system."

First introduced nine years ago, PERC Ultra is the most widely used real-time virtual machine available for Java(TM) developers, with fielded installations in telecommunications, telematics, avionics, deep space exploration, industrial automation, and office automation applications. PERC supports most major real-time operating systems and a variety of target processors including PowerPC, XScale, ARM, and Intel x86 architectures.

PERC is a clean-room virtual machine expressly created for demanding embedded and real-time systems requiring J2SE(TM) support. PERC delivers the ease and efficiency of Java(TM) Standard Edition support without sacrificing integrity, performance, or real-time behavior. It offers AOT and JIT compilation, remote debug support, deterministic garbage collection, standard graphics and extended commercial RTOS support.

PERC Ultra is the ideal solution for embedded applications of high complexity, thanks to PERC Ultra's predictable performance and its extensive support of off-the-shelf J2SE libraries and components. Its sister product, PERC Pico, meets the needs of resource-constrained hard real-time applications, featuring performance and footprint characteristics comparable to C. PERC Pico is smaller and faster than any other real-time virtual machine, yet it preserves key virtues of Java(TM) such as portability, reliability, and scalability.

PERC Ultra and PERC Pico are interoperable within a single application. For the first time, it is now possible for Java developers to create complete complex applications from infrastructure to the device level, without resorting to the use of other languages with less portability and robust memory use for specialized components.