MENU

Bare metal performance tools for NetLogic Microsystems’ XLP multi-core, multi-threaded processors

Bare metal performance tools for NetLogic Microsystems’ XLP multi-core, multi-threaded processors

New Products |
By eeNews Europe



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.

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.

The tools focus on the two most useful types of runtime tools that can aid developers for performance optimization: performance profiling and logging.
Profiling helps developers optimize a slow performing application by visualizing runtime hardware constraints caused by the non-optimized source code. 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.

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 behaviour 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.

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.

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.

Visit Enea at www.enea.com

Visit NetLogic Microsystems at www.netlogicmicro.com

If you enjoyed this article, you will like the following ones: don't miss them by subscribing to :    eeNews on Google News

Share:

Linked Articles
10s