Font Size: a A A

Research And Analysis Of Code Cache Management Policy In Dynamic Binary Translator

Posted on:2010-03-12Degree:MasterType:Thesis
Country:ChinaCandidate:L J PanFull Text:PDF
GTID:2178360302466814Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Dynamic binary translator stores translated code block in Code Cache to reuse the block and reduce the translation overhead. The using of Code Cache dramatically promotes the translator's performance. In this paper, we research and analyze the Code Cache management policy to help developer choose a proper policy and direct the designer how to design a Code Cache management policy.The novel contributions of our work are:1. A description of the problem of code-cache management in dynamic binary translator and a discussion of the issues that complicate the problem domain. Finally we give a Code Cache performance formula.2. An exploration of a range of granular code cache eviction policies. We lay out a quantitative approach to how to choose a proper eviction granularity.3. A description of working-set based flushing policy and its application. 4. A description of 2-level code cache model. We analyze the key point of it and validate its efficiency.After all, we got the following conclude:1. The basic principles of Code Cache management are to reduce Visit counts, Eviction counts, Miss rate and Eviction penalty.2. The 2Units eviction granularity has a better performance under pressure of Code Cache space.3. The working-set based flushing policy works well on the programs showing good temporal and spatial locality, but not good for others.4. Two-level code cache management categorizes code block based on the execution counts. Normal code blocks are stored in a single Code Cache; other hot traces are stored in a different Code Cache. Experiments show that two-level code cache management policy is efficient and effective.
Keywords/Search Tags:Dynamic Binary Translator, Code Cache, Cache Management
PDF Full Text Request
Related items