Font Size: a A A

Research And Implementation On The Hot Code Identification For The Binary Program

Posted on:2016-01-20Degree:MasterType:Thesis
Country:ChinaCandidate:S Y JiangFull Text:PDF
GTID:2308330473455050Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
In order to further improve the processing performance of computer, the architecture of computer system is gradually developed toward heterogeneous multi-core architecture, such as Heterogeneous computing architecture. In order to make full use of these computer resources, we are greatly in need of a hot spot identification tools, which is used to identify the hot code of software. Then we can modify the hot code using computer resources to improve the performance of software.In this thesis, we research the dynamic binary translation technology and analyze the main framework of the dynamic binary translation technology, such as Dynamo Rio which is developed by MIT and HP, Cross Bit which is developed by Shanghai Jiao Tong University. After we analyze their strengths and weaknesses, we design and implement the binary hot spot identification tool based on their technical framework,. The tool is able to identify the hot code of binary executable program which do not have source code such as c/c++/java on ARM platform.In order to implement the binary hot spot identification tool, firstly we analyze related technologies which are needed for designing the tool. We study the ARM architecture, especially the ARM instruction set and work patterns in the ARM architecture, these have been studied by the way we using the software program to simulate the ARM instruction set. We research the role of elf file in compiling, linking and loading a program. And also we research tools which are used to analyze the performance of program, such as gprof, Dynamorio, Cross Bit. Secondly, needs analysis for the binary hot spot identification system is analyzed through the data flow graph. In the needs analysis, we analyze the performance requirements and functional requirements. Based on the data flow graph, we get functional modules and the relationship between the functional modules in our hot spot identification system. Finally, we design and implement he binary hot spot identification system. According to the functions each functional module provides, we find out technical problems needed to be solved in each functional module, such as the problem how to load two programs into the same address space in the initialize module, the problem how to choose the replacement algorithm in the cache module, the problem how to simulate the call on a virtual register in the system call module, and the problem how to choose hot spot algorithm in the hot spot identification module. For the problems above, we design solution for each problem, and code to implement these problem.In testing stage, we design different cases to test the binary hot code identification system. We use simple program and firefox browser to test our system, the results show that our system can identify hot code for different cases. At the same time we obtain the time used by the binary hot code identification system for each case and analyze the time, the results were analyzed to give the system the future direction of optimization.
Keywords/Search Tags:ARM, ELF header, dynamic binary translation, binary hot code
PDF Full Text Request
Related items