Boston, Mass. ” At the ESC Fall show here, Aonix announced the release of PERC Ultra SMP with support for multicore hardware, designed to respond to the need for multiprocessor and multicore solutions in complex mission-critical embedded and real-time Java applications.
Early adopters of the technology are in the military, aerospace, and telecommunications sectors.
According to Gary Cato, Aonix director of marketing, developers in large time-critical applications require multiple processors to deliver dramatic gains in performance.
“When the Java language, initially designed for multithreaded programming environments, is coupled with PERC Ultra SMP virtual machine, developers are able to leverage full SMP benefits without rewriting code originally designed to run in older, uniprocessor systems,” he said. A real-time garbage collector ensures that real-time microsecond response can be guaranteed even in mission-critical applications.
“Using an internally created and computationally intensive benchmark,” said Cato, “PERC shows better than eight-times performance improvement on an eight-core multiprocessor system compared to the same test running in a single core.”
To highlight the parallel execution capability of PERC Ultra SMP, Aonix implemented a Java Mandelbrot benchmark. A Java program generated the Mandelbrot set using parallel threads on a multiprocessor system in order to determine the performance benefits of concurrent execution of the threads.
“Results showed that using PERC Ultra SMP with eight parallel threads on a dual quad-core Xeon-based Linux real-time system improved execution speed by a factor of eight compared to the same benchmark using a single thread,” he said.
With PERC Ultra SMP, all Java threads access the same shared objects, making them free to relocate themselves within memory. It also allows threads to migrate between processors, a crucial element to load balancing in multicore systems.
To handle these needs, Aonix has developed a special patent-pending synchronization technique that ensures that an application thread on one processor does not attempt to access an object while another process is relocating the desired object as part of the garbage collection process.
Cato said this performance-optimized solution hinges on the generation of specialized code sequences by the PERC Ultra SMP JIT compiler and on an enhanced real-time garbage collection algorithm.
To ensure real-time, predictable performance, Aonix altered PERC Ultra SMP's patented garbage collection to run on multiple processors in parallel while remaining:
* preemptible by higher priority threads
* incremental so that, when garbage collection is preempted and resumed, it resumes with the next increment of work rather than restarting itself
* accurate, guaranteeing to reclaim all dead memory
* defragmenting through relocation of live objects in order to coalesce discontiguous free segments
* paced so that the memory pool is replenished at a pace consistent with the application's need for new memory allocation
“PERC Ultra SMP exploits the capacity of multiple processors while reducing the interference of garbage collection on application threads,” he said. “As a highly parallel process, the garbage collector uses idle processors to carry out the garbage collection, working in tandem so that one processor can scan stack memory in search of pointers to live objects while another processor relocates previously identified live objects.”
PERC Ultra SMP is immediately available for early adopter delivery with general product release expected in December 2008. PERC Ultra SMP is initially available for commercial Linux RTOSs and will subsequently be released for traditional proprietary RTOSs.
PERC development tools are available at no charge in combination with a maintenance contract. Target execution and deployment license pricing starts at $25K based on projected volume. To learn more, go to www.aonix.com.