DOI: 10.2298/CSIS100327022M

Code Cache Management Based on Working Set in Dynamic Binary Translator

Ruhui Ma1, Zhichen Ni1, Erzhou Zhu1, Kai Chen1 and Haibing Guan1

  1. Shanghai key laboratory of scalable computing and systems, Department of Computer Science and Engineering
    Shanghai Jiao Tong University, Shanghai, 200240, China
    {ruhuima, hbguan, ezzhu, yongqianggao, liangalei}@sjtu.edu.cn

Abstract

Software code cache employed to store translated or optimized codes, amortizes the overhead of dynamic binary translation via reusing of stored-altered copies of original program instructions. Though many conventional code cache managements, such as Flush, Least-Recently Used (LRU), have been applied on some classic dynamic binary translators, actually they are so unsophisticated yet unadaptable that it not only brings additional unnecessary overhead, but also wastes much cache space, since there exist several noticeable features in software code cache, unlike pages in memory. Consequently, this paper presents two novel alternative cache schemes—SCC (Static Code Cache) and DCC (Dynamic Code Cache) based on working set. In these new schemes, we utilize translation rate to judge working set. To evaluate these new replacement policies, we implement them on dynamic binary translator—CrossBit with several commonplace code cache managements. Through the experiment results based on benchmark SPECint 2000, we achieve better performance improvement and cache space utilization ratio.

Key words

Code cache management, Working set, Replacement strategy, Code block, Bounded code cache

Digital Object Identifier (DOI)

https://doi.org/10.2298/CSIS100327022M

Publication information

Volume 8, Issue 3 (June 2011)
Year of Publication: 2011
ISSN: 1820-0214 (Print) 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Ma, R., Ni, Z., Zhu, E., Chen, K., Guan, H.: Code Cache Management Based on Working Set in Dynamic Binary Translator. Computer Science and Information Systems, Vol. 8, No. 3, 653-671. (2011)