Login

ARM The Architecture For The Digital World  

ARM Streamlineパフォーマンス アナライザ

ARM Streamlineパフォーマンス アナライザ Image

System level software optimization for ARM Linux and Android platforms.

ARM Streamline™ Performance Analyzer, part of the ARM DS-5™ toolchain, enables software developers to fully utilize the resources available across their ARM processor-based systems to create high-performance, energy-efficient products. It features an intuitive graphical interface that presents information ranging from CPU and GPU performance counters to source code hotspots to actual power consumption, making it easy for developers to mitigate performance bottlenecks, improve code parallelization, extend battery life, and enhance user experience.

Streamline builds on system tracepoints, hardware and software performance counters, sample-based profiling and user annotations to offer a powerful and flexible system analysis environment for software optimization.

 


Speed Up Your Code

  • Find out where the CPU is spending more time  
  • Improve code parallelization for multicore platforms
  • Tune your code for optimal cache usage, vectorization, and more

Reduce Energy Footprint

  • Monitor actual power, current, voltage with the ARM Energy Probe
  • Spot opportunities to improve power management schemes
  • Optimize compute tasks for best energy efficiency 

 

Utilize System Resources Efficiently

  • Analyze and optimize Mali™ GPU utilization alongside CPU code
  • Monitor CPU and Mali GPU cache usage and system memory
  • Check load distribution across multiple cores

Customize It for Your System

  • Connect your own data into Streamline analysis views
  • Extend the open source driver to monitor variables and components
  • Instrument your code to send printf-like messages to Streamline


System Level Timeline Analysis

The Timeline view combines multiple sources of data to offer a complete performance dashboard for software developers. The time-based graphical visualization allows users to easily observe the evolution of system performance metrics over the time of data capture. Having spotted instant hotspots or spurious changes in performance counters, users can then graphically select the time slice of interest to generate focused profiling reports.

Profile Drilldown

Streamline Performance Analyzer supports both time- and event-based sampling (EBS) to enable in-depth investigation of code hotspots in native C/C++ applications. This capability provides developers with the ability to statistically assign processor time or hardware performance counters, such as cache misses and ARM NEON™ instructions executed, to process, thread, function, source code line and assembly instructions.

Core-Aware Analysis for SMP Systems 

The potential performance gain of a multicore SoC can easily be missed because of issues like poor thread synchronization and sub-optimal concurrency. For SMP platforms, Streamline features per core performance counter charts and the X-Ray visualization mode, which maps process and thread activity per core, making it possible for developers to visualize how their code is being distributed.

Integrated ARM Mali Graphics Performance Analysis

Graphics intensive tasks such as sophisticated user interfaces and gaming content don't run in isolation in just one processor. For this reason, developers need to have visibility of performance across application and graphics processors. The Streamline Performance Analyzer links up to Mali drivers to provide a wide range of statistics on OpenGL® ES 1.1 and OpenGL® ES 2.0 usage, over 300 software and hardware performance counters and to sample the frame buffer, enabling a new breed of high performance, energy efficient content.

User Annotations

Streamline Performance Analyzer reconciles debug and performance analysis with a simple and powerful solution: code annotations. From tracking machine state changes on a timeline to cross-relating the frame buffer content with performance issues, simple code instrumentation links up your software to performance analysis. To do that users just need to write into Streamline's kernel module (gator driver), from either user or kernel space.

Android and Linux Integration 

Provided to users in open source format, gator driver and daemon leverage new capabilities available in the ARM Linux kernel to provide developers with comprehensive information from the operating system. Gator can be used on Linux kernels version 2.6.32 or newer, including the recent version 3.x used by the Android 4.0 (Ice Cream Sandwich) platform. 


The Easy Way To Create Energy Efficient Software

The ARM Energy Probe is an easily deployable Streamline accessory that collects voltage, current and power from up to three probe points in the system to enable software developers to optimize system energy consumption.

The probe does not depend on additional in-circuit emulators or trace units and can monitor up to three power rails simultaneously, correlating in time power data, processor performance counters, OS performance metrics and software hotspots.

Key characteristics

  • Simple setup - No dependency on ICE or trace units means easy connection and cost effectiveness to enable wide deployment
  • Multiple channels - Each of the three channels is independently configured to permit simultaneous measurement of peak and average current, voltage and/or power on key system components 
  • Energy information - Just select any time slice on the Streamline Timeline view to accumulate power readings and estimate the energy consumed within that time window
  • Smart data synchronization - Streamline uses advanced DSP techniques to detect known power consumption patterns on the CPU to synchronize performance data and the probe readings, which are received via an independent USB connection to the host PC.

 

 

 

Technical Specification

Parameter

Value

Parameter

Value

Number of channelsConnection to hostUSB
Maximum voltage  30V Maximum shunt voltage165mV
Error for Vshunt > 20mV±5%Sampling rate per channel10KHz
ADC resolution10 bitCompatibilityDS-5 v5.9+
 

Integrate Streamline's gator to your product

Whether you want to use Streamline Performance Analyzer internally in your development or want to ship it in your product to foster high performance applications in the ecosystem, the integration process is very simple.

Before you start: Have a look at the list pre-configured software platforms that support Streamline out of the box.

1. Download gator's source code

Gator kernel module (driver) and daemon (user space service) source code is available for download under GPLv2 license on the DS-5 Downloads page.

2. Set up your target and build the sources

How to set up your Android target

How to set up your Linux target

 


Getting Started with Streamline Performance Analyzer

Learn how to connect and analyze the performance of your multi-threaded application on a Linux platform

Analyzing CPU and GPU Game Performance on the Odroid-A

Check out how Streamline makes system optimization easy on a multicore Samsung Exynos 4210-based Android tablet

 


Maximise