Sciweavers

CGO
2005
IEEE

Maintaining Consistency and Bounding Capacity of Software Code Caches

13 years 10 months ago
Maintaining Consistency and Bounding Capacity of Software Code Caches
Software code caches are becoming ubiquitous, in dynamic optimizers, runtime tool platforms, dynamic translators, fast simulators and emulators, and dynamic compilers. Caching frequently executed fragments of code provides significant performance boosts, reducing the overhead of translation and emulation and meeting or exceeding native performance in dynamic optimizers. One disadvantage of caching, memory expansion, can sometimes be ignored when executing a single application. However, as optimizers and translators are applied more and more in production systems, the memory expansion from running multiple applications simultaneously becomes problematic. A second drawback to caching is the added requirement of maintaining consistency between the code cache and the original code. On architectures like IA-32 that do not require explicit application actions when modifying code, detecting code changes is challenging. Again, consistency can be ignored for certain sets of applications, but ...
Derek Bruening, Saman P. Amarasinghe
Added 24 Jun 2010
Updated 24 Jun 2010
Type Conference
Year 2005
Where CGO
Authors Derek Bruening, Saman P. Amarasinghe
Comments (0)