The ARM® DS-5 Streamline performance analyzer enables you to get the best out of your system’s resources and create high performance, energy efficient products. The innovative user interface combines system performance metrics, software tracing, statistical profiling and power measurement and presents a system dashboard to you where you can quickly identify code hotspots, system bottlenecks and other unintended effects of your code or the system architecture. With Streamline you can:
Explore where the CPU is spending the most time, improve code parallelization for multicore platforms and tune code for optimal cache usage.
With the ARM Energy Probe you can monitor actual power consumption, spot where you can improve power management and optimize compute tasks for efficiency.
Analyze the Mali™ GPU utilization for optimization, monitor CPU and GPU cache usage and system memory. Check load distribution across multiple cores.
Configure your own data to Streamline analysis views. With the open source driver to monitor variables you can extend the views. You can also augment your code to send printf-like messages to Streamline.
We are great fans of ARM® CoreSight™ trace. It is the best technology for so many use cases. But on today’s very fast and complex multicore SoCs, the instruction level is just the wrong level of abstraction for system analysis. Streamline for Linux and Android uses a hassle-free architecture, based on a software agent (named Gator), to collect all statistical data you need to analyze your system, at a fraction of the cost of a high-end trace unit. Gator is open source (therefore extensible) and typically does not take more than 3% of CPU time on a single core device.
The potential performance gain of an extra core can be easily missed because of issues like poor thread synchronization and sub-optimal parallelization. For SMP platforms, Streamline features per-core and per-cluster statistics to help you quickly verify your system utilization. Moreover, the X-Ray mode makes you see through the software threads’ tracing to find out on which core they were running at any moment.
ARM is very proud of their processor technology and its indisputable energy efficiency leadership. However, between the IP design and your final product shipping, many things can dramatically impact the energy consumption. In this respect, your software can be either the hero or the villain of the day.
Paired with an ARM Energy Probe or National Instruments DAQ unit, Streamline can acquire real power data from your hardware and correlate this data with all the other software and hardware statistics, including DVFS and cpuidle. This shows you the true picture of your power management. Streamline can also read and display these measurements directly from your Linux hwmon subsystem. Learn more about how to use the Energy Probe with the hwmon subsystem in this blog. Watch the Energy Probe introduction video.
Graphics intensive tasks, such as sophisticated user interfaces, do not run in isolation in just one processor. Therefore you need to have visibility of the performance across application and graphics processors. Streamline links directly to ARM Mali GPU drivers and provides a wide range of statistics on OpenGL® ES 1.1 and 2.0 usage. Over 300 software and hardware performance counters and samples of the frame buffer are part ofThis enables a new breed of high performance, energy efficient content.
The visualization of OpenCL dependencies is supported by Streamline to help you to balance resources between GPU and CPU better than ever. By making clever use of processor loading, significant performance gains are possible. This gives your customers a slicker, more responsive, more engaging experience on the latest generation of mobile devices.
Last but not least, Streamline highlights bottlenecks coming from fabric resources such as cache memories and the CoreLink CCI-400 by also reading and displaying its performance counters.
Visibility of software high-level events is prvided by Streamline. This is important to measure time between events and understand the relationships between events, thread activity and system resources. From tracking machine state changes on a timeline, to correlating frame buffer content with performance issues, all you need to do is to write (yes, printf style) into the gator driver from either user or kernel space.
Learn how to connect and analyze the performance data of your multi-threaded application on a Linux platform.
Learn how to customize Streamline's Timeline view charts to carry out advanced performance analysis.
Check out how Streamline makes system optimization easy on a multicore Samsung Exynos 4210-based Android tablet.
Truly successful software is optimized for energy efficiency and not just performance. Learn how to get the best of both worlds in this video.