STOCKHOLM, Sweden and Santa Clara, California, May 3, 2011 – Enea® (NASDAQ OMX Nordic:ENEA) today announced an industry first tools solution for “bare metal” multicore implementations on the NetLogic Microsystems (NASDAQ: NETL) XLP® multi-core processor, called the Enea® Bare Metal Performance Tools (Enea BMP Tools). The term “bare metal” refers to multicore applications whereby a given processor core executes a function or application without any sort of multitasking executive – usually a simple control loop that runs in an OS-free environment for minimal overhead and maximum processing bandwidth.
“As a leading independent embedded software vendor, we are pleased to offer best-in-class bare metal software tools for NetLogic Microsystems’ industry-leading XLP processors,” said Marcus Hjortsberg, vice president of marketing at Enea. “Our new Bare Metal Performance Tools solution complements the NetLogic Microsystems XLP multi-core processor’s software development kit (SDK) with debugging, logging and profiling support that multicore applications require without degrading system performance, the main reason for running on bare metal in the first place,”
“Enea’s Bare Metal Performance Tools, in conjunction with our XLP multi-core processor SDK, will enable customers to maximize performance of our breakthrough XLP processors in high-performance data plane applications,” said Chris O’Reilly, vice president of marketing at NetLogic Microsystems. “We are pleased to have expanded on our collaboration with Enea to closely couple a broad range of their market-leading software products with our industry-leading multi-core processors.”
Enea Bare Metal Performance Tools consists of an Eclipse-based host tools suite called Enea® Optima, a set of runtime libraries and agents for data collection, and an IPC mechanism called Enea® LINX for transport of the collected profiling and logging data to the Optima host tool, or to an external file for later analysis. The Enea Bare Metal Performance Tools solution is designed as an extension to NetLogic Microsystems’ SDK so that all characteristics of the SDK’s software build, boot/load, and bare metal execution environment (NetOS) performance are maintained.
Enea Bare Metal Performance Tools focus on the two most useful types of runtime tools that can aid developers for performance optimization: a) Performance Profiling, and b) Logging.
Bare Metal Performance Profiling
Profiling helps developers optimize a slow performing application by visualizing runtime hardware constraints caused by the non-optimized source code. Enea Bare Metal Performance Tools provide two types of performance profiling visualization tools:
- Source Code Profiling – identifies at the source code level where constraints such as pipeline stalls, TLB misses and cache misses are causing sub-optimal performance, by matching these hardware events/counters to the source code at any level of the application function call tree, even down to individual lines of code in any given function. This includes overall CPU utilization of any function or line of code. Bare Metal Performance Tools offer complete user configuration control of all NetLogic Microsystems’ XLP multi-core processor hardware counters.
- Application Profiling – creates and analyzes application software level statistics with the purpose of profiling the applications overall performance and behavior. Such statistics could be idle time, throughput statistics, extraneous hardware events, or any other user defined statistics that makes sense to the application.
Bare Metal Performance Logging
Logging refers to the ability of the user to insert notifications of interesting events in the application software. Logs are great tools for finding and correcting bugs and otherwise identify faulty behavior in an application even after a software crash, thereby increasing the quality of the software and ultimately enhancing the end user experience. In Enea’s Bare Metal Performance Tools, both text and binary information may be collected in a single circular buffer that may be extracted either continuously or by discreet command. Log data may be forwarded directly to the host Optima tools suite for analysis or to an external termination point (file system) for later analysis. Log data may also be extracted “post mortem” after a crash to help debug the cause of the crash. The logging facility in Enea Bare Metal Performance Tools may be employed in both development and in operational deployment for field debugging and troubleshooting.
The Optima Advantage
Providing some sort of host tool for display of profiling and logging data is easy. Presenting the information in an accessible manner so that the user does not have to view and analyze the data manually is more difficult. Current profiling and logging tools for bare metal applications often present the information in simple text views. Enea Optima goes one step further with 2D-3D performance profiling views and its graphical log analysis views with time sequenced fusion of logs with filtering and display via log source, log type, or even individual log data entries from multiple cores in a multicore device or even multiple multicore devices. With Optima, developers can quickly visualize and find the serious issues or problems in the system and not “hunt” for them.
Future Developments
Further plans for development of the Enea Bare Metal Performance Tools include integration with the recently announced Enea Linux Platform Builder (ELPB-NE) for NetLogic Microsystems’ multi-core, multi-threaded processors, and also with the 6WINDGate™ multicore packet processing software from 6WIND.
The ELPB-NE is a full featured Linux development environment for NetLogic Microsystems’ multi-core, multi-threaded processors that guides the developer from jumpstarting their project, into development and through to deployment. ELPB-NE includes build and configuration of NetLogic Microsystems’ NetOS environment. Future integration of ELPB-NE with the Bare Metal Performance Tools will include the Bare Metal Performance target side components in the overall build and development framework.
“We look forward to the addition of 6WINDGate support within Enea’s Bare Metal Performance Tools debugging environment”, said Eric Carmès, CEO of 6WIND. “6WINDGate is used by OEMs worldwide to maximize the performance of networking, security and telecom equipment. The availability of a bare-metal visualization and debug tool like the Bare Metal Performance Tools will certainly enable our customers to accelerate their time-to-market while ensuring the optimum utilization of their multicore platforms”.