Font Size: a A A

Research On A Master-Slave Multithreaded Framework And Optimizations Of Dynamic Binary Translation

Posted on:2012-10-10Degree:MasterType:Thesis
Country:ChinaCandidate:J X CuiFull Text:PDF
GTID:2218330371462559Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Dynamic binary translation which offers a solution for making an executable compiled on a platform to run on another platform automatically not only resolves the problem of code migration but also plays an important role in prospering the national computer industry, and the decompiling technology in it is widely used on detecting the system vulnerabilities. The current singlethreaded dynamic binary translation systems limit the scope of performance improving. Therefore, the multicore processors and the multithreaded program are fully used for getting the high performance.Aiming at the best effect of multithreaded optimization, this thesis carries out in-depth study on the theory of dynamic binary translation and the key issues of multithreaded program, and then shows the framework of MDT (Master-slave multithreaded Dynamic binary Translation) system and the optimizations implemented on it. The main contributions of this thesis are: first of all, based on the performance analysis and experiments results of a singlethreaded dynamic binary translation system, the MDT framework is designed and implemented. The initialization module and the execution module are assigned to the main thread, the translation module and optimization module are completed by the servant thread. Thereafter, for achieving the speculative translation scheme, the T-Tree (Translation Tree) is built by the servant thread which gives the direction of getting the next pc. Besides that, integrated with the merit of multi-level Cache scheme, the LRU scheme and the full flush scheme, a new management of T-Cache is presented which proves out managing the translated blocks efficiently. Finally, considering the huge potential of performance improvement on cycle optimization, MDT extracts the hot TBs (Translation Blocks) and optimizes them on the levels of the intermediate code and the target code respectively. To diminish the code inflation and raise it to a more desirable quality, the peephole optimization plays an important role during the process of generating the target code.The framework and optimizations of MDT are evaluated wholly and partly across SPEC 2006 under the multicore environment. The results compared with the singlethreaded dynamic binary translation system demonstrate that MDT can reduce the total runtime by nearly 50%, translate 85% TBs speculatively and reduce the rate of code inflation by 50%.
Keywords/Search Tags:Dynamic Binary Translation, Multithreaded Optimization, Speculative Translation, Management of T-Cache, Optimization on Target Code
PDF Full Text Request
Related items