December 2008

AONews: Mission Critical Newsflash •

Featured Products

 

Aonix Delivers Java™ Multiprocessor Virtual Machine

Aonix announced the release of PERC Ultra SMP with support for multicore hardware. PERC Ultra SMP responds 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.

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.

 

 

 

Aonix Releases PERC® Pico Tool Chain with Real-Time Memory Analysis Tools for Java™ Programmers

Aonix® announced a new release of its PERC Pico product—the first commercial offering based on an emerging Java Specification Request (JSR)-302 for development of hard real-time safety-critical code. Rivaling the capabilities of optimized C-language programs, PERC Pico 1.1 enables developers to use the Java language in low-level code requiring small memory footprint, fast performance, and predictable tight response-time latencies.

PERC Pico 1.1 offers developers a new memory-use analysis tool. For the first time, developers of real-time Java systems can statically analyze memory requirements and the memory footprint implications associated with source-code changes without resorting to traditional test and debug activities. The PERC Pico tools enforce programming disciplines that enables the PERC Pico analyzer to calculate the total stack memory requirements for every running thread. This kind of analysis and enforcement is extremely beneficial to development of deeply embedded, real-time systems where memory allocation and predictability are important.

As well, PERC Pico 1.1 delivers important developer productivity enhancements, providing new Eclipse plug-ins for building, launching, and debugging PERC Pico applications. These plug-ins enable users to quickly develop and test new PERC Pico applications on a target system in a familiar, flexible and industry standard environment. An important Debug facility new in this release, automatically translates executable symbol names in a PERC Pico application to the Java names shown in the Eclipse editor. Being able to easily view and identify source-level code associations dramatically expedites debugging activities.

“PERC Pico enables developers to take the benefits of Java right down to the processor level,” said Gary Cato, Aonix director of strategic alliances. “Previously, embedded application engineers weren’t able to consider Java for other than larger soft real-time systems. We’re proud to be the first to offer a complete, real-world solution for hard real-time projects.”

PERC Pico components used in conjunction with the PERC Ultra virtual soft real-time product, Aonix’s industry-leading virtual machine technology for mission-critical applications, makes it possible to address all levels of the embedded real-time application, from high-level application complexity to the lowest levels of hardware. Although traditional virtual machine technologies operate on top of an operating environment like Linux or a traditional real-time operating system (RTOS), PERC Pico run-time is the only one that can also execute on the bare hardware.

For the first time, developers can now code their entire application in the Java language, avoiding the mix of low-level C code into their Java applications. This top-to-bottom Java solution eliminates awkward and performance robbing interchanges via the Java Native Interface (JNI), one of the most frequent points of failure in mixed-language embedded Java applications.

 

 

 

 

 

 

 

 

Aonix User Interface Management System Delivers GUI Development for 64-bit Platforms

Aonix® released TeleUSE® version 4.0, the latest version of its object-oriented User Interface Management System environment, for 64-bit architectures. New platform support in TeleUSE 4.0 enables seamless cross-platform Motif graphical user interface (GUI) application development on the latest 64-bit systems running Linux, Solaris, and HPUX. A 32-bit edition of TeleUSE 4.0 continues to support development of applications on 32-bit platforms.

TeleUSE, one of the premier Motif development environments available, supports WYSIWYG graphical editing, widget design editing, as well as font, color, and pixmap picture editing. It provides a full production-quality environment that supports interactive development, design, debug and maintenance of applications containing a Motif GUI. Using TeleUSE, developers can build large-scale enterprise GUI applications using a template facility for the construction of user interface elements and an easy-to-program dialog scripting language to implement user interface logic.

Recognizing the need for more than source code output generation for a GUI, TeleUSE offers comprehensive facilities for building a full and final application executable using a platform-independent approach. TeleUSE also provides full support for integration of third-party Motif widgets, such as the industry-leading XRT® Professional Developer's Suite (XRT PDS), which is used by thousands of professional developers around the world to build informative, attractive and functional user-interfaces.

“With the use of 64-bit operating systems on high-performance, relatively inexpensive hardware platforms becoming commonplace, a number of Aonix customers have been asking for 64-bit support,” noted Gary Cato, Director of Marketing. “With this latest version of TeleUSE, we are addressing their need and giving them the capability to combine the power of these newer, faster machines and latest operating system versions with the well-proven scalability and robustness of TeleUSE.”

With this release, TeleUSE continues its leadership role as a premier tool for development and maintenance of large-scale applications that use Motif for their user interface. Recognizing the diverse needs of customers in the mission- and safety-critical space, Aonix stands committed to implementing the latest technology into its enterprise-level software development tools on open-source platforms and enabling access to the latest technology.

Cato added, “With the release of TeleUSE 4.0, Aonix delivers the 64-bit capability our customers require while maintaining upward compatibility that preserves the investment customers have in the mission-critical applications developed using earlier versions of TeleUSE.”

Brand new with this release of TeleUSE is support for the HPUX operating system for the Itanium processor. This port was partially funded by a customer in the European Community and has since been in high demand from several other customers in the aerospace and defense industries, making it among the highest priority development efforts for Aonix.

Included with 64-bit TeleUSE 4.0 are 64-bit TeleUSE runtime libraries and the associated C/C++ header files used in the construction of 64-bit application executable files. Enhancements within the TeleUSE 4.0 C/C++ header files enable seamless compilation of generated C/C++ code for either 64- or 32-bit applications using the latest C++ compilers such as Sun Studio 12 on either SPARC or Intel/AMD 64 Solaris 10 and GCC 4.1.2 on Linux. Application developers using TeleUSE enjoy increased virtual memory address space and the performance benefits that 64-bit computing offers.

In addition to support for 64-bit processors, TeleUSE 4.0 delivers an update to support Red Hat Enterprise Linux 5.0 for Intel and AMD 64-bit machines and is designed specifically to support Solaris 10.