Font Size: a A A

Design And Implementation Of Multi-Thread Performance Analysis Tool For Android Applications Based On ARM-DS5

Posted on:2018-02-12Degree:MasterType:Thesis
Country:ChinaCandidate:Y YuanFull Text:PDF
GTID:2348330542951504Subject:Integrated circuit engineering
Abstract/Summary:PDF Full Text Request
With the continuous development of embedded multi-core technology,multi-core multi-threaded has become the development trend of embedded hardware and software design.Because the influencing factors for multi-threaded performance are very complex,in order to help programmers to efficiently analyze the performance bottlenecks in the multithreaded programs,special tools for multi-thread performance analysis began to appear.Although the Streamline profiler in the ARM-DS5 toolchain has a number of multithreading analysis functions,it can not count and analyze the causes of thread blocking and can not provide performance bottlenecks analysis and identification.Based on the Streamline profiler,this thesis designs a performance analysis tool,CT Analyzer,which can analyze performance metrics such as thread blocking time,blocking reason,and normal running time.The work of this thesis mainly includes two parts.Firstly,on the basis of analyzing the characteristics of Streamline sampling data,this thesis compares the multi-thread bottleneck identification models in recent years,and selects the Critical Stacks model as the basis for bottleneck positioning methods.Combined with the structure and characteristics of sampling data and POSIX multi-threaded synchronization principle,we designs a bottleneck indentification method which is suitable for CT Analyzer.Secondly,through the analysis of POSIX multi-thread synchronization implementation mechanism,this thesis takes advantage of Streamline's sampled data,completes a performance tool that can analyze the state change of thread,thread blocking time and thread blocking reasons at multi-threaded application runtime,and use Critical Stacks to analyze and identify bottleneck thread.In order to evaluate the completion of the CT Analyzer performance analysis tool and the accuracy of the bottleneck identification method,this thesis selects Parsec2.1 benchmark suite and Splash2 benchmark suite,and carries on the experiments on a 4-core ARM-A9 platform(Tiny4412).The experiment result shows the CT Analyzer performance analysis tool designed in this thesis can effectively analyze thread blocking time,thread block cause,actual run time and other performance issues in multi-thread application running,the bottleneck thread identification method based on Critical Stacks can accurately locate the bottleneck thread,and the average parallelism calculation error is less than 1%.The performance analysis tool meets the design requirements.
Keywords/Search Tags:Multi-threaded Performance, Multi-threaded Synchronization, Bottle Identification, ARM DS5, Critical Stacks model
PDF Full Text Request
Related items