Leveraging its technology leadership in multi-core embedded systems, QNX Software Systems introduced a new class of visualization tools that radically simplify the job of migrating, debugging, and optimizing software for multi-core processors.
The new QNX(R) visualization tools for multi-core systems leapfrog existing tools by offering an intuitive, system-wide view of multi-core behavior. Rather than focus on individual programs or processor cores — the conventional approach — the new tools analyze how the multi-core system behaves as a whole. The net result: developers can now comprehend the highly complex system interactions that characterize multi-core designs and focus their efforts on areas that yield the greatest boost in parallelism and performance.
“Conventional tools may indicate a problem exists in one part of the multi-core system when, in fact, the problem resides somewhere else. The new QNX visualization tools eliminate these blind alleys by helping the developer understand what is happening at any instant in time, even if hundreds of threads are communicating or sharing resources across multiple cores,” said Bill Graham, development tools product manager at QNX Software Systems.
By taking a holistic view of system behavior, QNX multi-core visualization tools can pinpoint problems unique to multi-core systems. They can, for example, help identify opportunities for parallelism, reduce unnecessary thread migration between cores, reduce excessive IPC between cores, and isolate complex resource-contention problems that often occur in multi-core environments. Moreover, they offer multiple levels of analysis to provide the most appropriate information for each phase of multi-core debugging and optimization.
“QNX visualization tools can capture the wealth of system information needed to understand multi-core behavior, including hardware interrupts, kernel calls, scheduling events, thread-state changes, and various forms of IPC. But just as important, they let you filter out background noise and focus on events relevant to the job at hand,” said QNX’s Graham.
To simplify migration of legacy applications, the visualization tools also allow developers to interactively lock any process or thread to a specific core, then measure the performance improvements in real time. Using this feature, developers can take full advantage of bound multiprocessing (BMP), a new form of multiprocessing invented by QNX that combines the transparent scalability of symmetric multiprocessing (SMP) with the power to selectively bind any process (and its associated threads) to selected cores.
Optimizing Secure, Partitioned Systems
Using the new QNX visualization tools, developers can also take full advantage of QNX Adaptive Partitioning, an innovative technology that builds secure compartments around applications and provides them with guaranteed access to CPU time.
Besides monitoring the performance and behavior of each partition, the tools allow the developer to dynamically modify partitions from directly within the integrated development environment (IDE). Developers can, for example, adjust the CPU budget for each partition or move a process from one partition to another, then immediately gauge how much performance has improved. Compared to conventional partitioning solutions, this interactive approach yields much simpler — and significantly faster — system optimization.
QNX Momentics IDE 4
The new multi-core visualization tooling is part of a major upgrade to the QNX Momentics(R) IDE. The new release, version 4, offers many new features, including an innovative memory analysis tool that instantly detects memory errors and provides a unique record-and-play feature for optimizing long-term memory usage. The release also offers the first fully componentized IDE in the embedded market, allowing developers to download the latest QNX tool updates without having to wait for, or migrate to, a new version of the IDE. No other RTOS vendor offers this flexibility.
The QNX Momentics IDE 4 is the first IDE for embedded development that incorporates the most current versions of the Eclipse platform (v3.2) and the Eclipse CDT C/C++ development tools (v3.1), both of which form part of the landmark Eclipse Callisto release. As a result, QNX developers can now enjoy an immense boost in scalability (the time to index large projects has now improved by orders of magnitude) and leverage the latest third-party Eclipse tools.
The QNX Momentics IDE 4, including the new multi-core visualization tools, is available now.
About QNX Software Systems
QNX Software Systems, a Harman International company (NYSE: HAR), is the industry leader in realtime, embedded OS technology. The component-based architectures of the QNX(R) Neutrino(R) RTOS and QNX Momentics(R) development suite together provide the industry’s most reliable and scalable framework for building innovative, high-performance embedded systems. Global leaders such as Cisco, DaimlerChrysler, General Electric, Lockheed Martin, and Siemens depend on QNX technology for network routers, medical instruments, vehicle telematics units, security and defense systems, industrial robotics, and other mission- or life-critical applications. Founded in 1980, QNX Software Systems is headquartered in Ottawa, Canada, and distributes products in over 100 countries worldwide.
QNX, Momentics, and Neutrino are trademarks of QNX Software Systems GmbH & Co. KG, registered in certain jurisdictions, and are used under license.