PERC Ultra SMP exploits performance potentials of multicore systems
Oct 28, 2008 - 16:06 PM
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 Aonix’s PERC Ultra SMP virtual machine, developers are able to leverage full SMP benefits without rewriting code originally designed to run in older, uniprocessor systems. PERC Ultra’s real-time garbage collector ensures that real-time microsecond response can be guaranteed even in mission-critical applications.
“We are very encouraged with initial benchmark results for PERC Ultra SMP,” said Gary Cato, Aonix director of marketing. “Using an internally created and computationally intensive benchmark, PERC shows better than eight-times performance improvement on an eight-core multiprocessor system compared to the same test running in a single core. PERC Ultra’s efficiency guarantees that customers can take advantage of the performance gains promised by modern multicore systems.”
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.
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. 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. 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.
Atego is a world leading software tools and professional services company, focused on helping organizations engineer complex, mission- and safety-critical systems and software. With today’s systems and software engineering projects continually growing in complexity, Atego Vantage collaborative design and development environment, Atego Perspective MB-PLE process and expert professional services enable abstraction, optimization and automation – dramatically increasing quality, security and productivity.
- Beverley McFarlane, Marketing Manager
Atego, 701 Eagle Tower, Montpellier Drive, Cheltenham, GL50 1TA, UK
Tel: +44 (0) 1242 229 300