Prism’s Market Builds Traction Through Analysis, Exploration, and Verification of Embedded Software under Linux to Ease Migration Path to Multicore Platforms
San Jose, CA – October 21, 2009
CriticalBlue, the pioneer in embedded multicore software and platform design systems, has released version 2.0 of Prism, the award winning embedded multicore programming system which allows software engineers to easily assess and realize the full potential of multicore processors without significant change to their development flow. The latest version of Prism can analyze the behavior of code running on either hardware development boards or simulators, under various Linux variants, and dramatically increases the number of software developers who can take advantage of the supported platforms. Prism allows engineers to take their existing sequential code and, without changing it, explore and analyze opportunities for concurrency, implement parallel structures, and verify efficient and thread safe operation.
Prism is a rich, graphical and environmental plug-in that augments existing tool flows and is portable across various multicore processor platforms. The underlying technology utilizes dynamic tracing of user applications where the traces are either extracted directly from the simulation model through a standard API or else via a dynamic instrumentation technique running on top of the simulator or the hardware development board. The system is in use today at leading multicore companies including Freescale, NEC Electronics, Renesas and Toshiba, and is supported by ARM as well as Virtutech®, Inc., provider of the Simics® virtualized system development (VSD) platform.
“With over 100 evaluators and paying customers active since we made Prism available earlier this year, two clear messages have come back from embedded software developers,” commented David Stewart, CEO, CriticalBlue. “First, they require support for both simulators and development boards since they offer different advantages at different stages of projects. Second, they need a methodology to ensure their software is multicore ready and that they can perform Return on Investment (RoI) calculations to determine why, when, and how they should migrate from single core to multicore platforms. The latest Prism release addresses both these areas.”
Prism 2.0 Capabilities
The starting input of the Prism based design flow can be existing sequential software or code that already includes threading constructs. End users of the product divide into two camps, namely new and experienced multicore programmers. Since no code changes are required to commence analysis, Prism is an ideal design system for software developers and product managers who are considering multicore platforms and want to understand the performance and hence power consumption benefits that would be delivered by migrating their Linux based applications onto a multicore architecture.
Prism’s unique what-if analysis capabilities may be utilized to rapidly explore the impact of different parallelization strategies, numbers of cores, dependency removal, and scheduling policies. In real customer environments, this what-if approach has enabled compelling RoI analyses that help product teams assess how best to migrate their existing software applications onto multicore platforms and to establish the time/effort involved in performing such a migration. Once the RoI analysis indicates that the multicore delivers a compelling end product benefit, Prism assists an iterative development strategy where concurrency may be incrementally added, thus accelerating an engineer’s progress through the many possible implementation options.
“With the ARM® Cortex™-A9 MPCore™ processor silicon now available from our Partners, focus is turning towards how to optimize embedded applications in order to get the best out of the underlying platform. Now that Prism supports hardware as well as simulators optimization questions are much easier to answer,” commented Eric Schorn, VP marketing, processor division, ARM. “Many Partners are planning multicore migrations for their existing software and a tool like Prism is very useful for them to analyze existing software and establish the value of ARM MPCore architecture.”
At the upcoming ARM TechCon3 conference (www.armtechcon3.com/2009/), CriticalBlue will be showing Prism running a Linux application on both a QEMU model (www.qemu.org) and a $149 Beagle Board single board computer (www.beagleboard.org)containing a Cortex-A8 processor-based OMAP3530 processor. Both the simulator and the development board are single core solutions and yet can be used to take existing unmodified software and show the performance gains available running that software on a multicore platform such as the ARM Cortex-A9 MPCore processor.
For more experienced multicore software developers, the verification aspects of Prism are extremely valuable. Once the user has implemented the necessary code changes to unlock the required multicore parallelism, Prism can be used to validate performance levels and to verify that the changes produce safe and efficient code. For example, Prism can use dynamic analysis to identify dependencies between disparate code modules with obtuse, indirect communication paths, and can measure their impact as well as check for hard-to-debug race conditions.
Cooperation with Leading Eco-System Partners
The Prism technology is an Eclipse plug-in and is based on dynamic tracing of the users’ software execution, requiring an underlying simulation engine, model, or development board provided by the platform or a third party vendor. Various instruction set Platform Support Packages (PSPs) have already been completed, including the ARM multicore capable devices, with Power Architecture, SH4 and others in development.
Prism is accompanied with a complete range of services including the creation of a best set of programming practices for specific environments, converting sequential code to parallel implementations, and other packages.
CriticalBlue guides software developers through the task of migrating to and optimizing code on multicore platforms through the delivery of innovative and multicore software focused tools, training, and services. The increasing use of complex, multicore processor architectures has accelerated demand for CriticalBlue’s technology and expertise throughout all electronic industry sectors.