Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Dynamo: a transparent dynamic optimization system
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
An infrastructure for adaptive dynamic optimization
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Generational Cache Management of Code Traces in Dynamic Optimization Systems
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Planning for code buffer management in distributed virtual execution environments
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design)
DIGITAL FX!32 running 32-bit ×86 applications on alpha NT
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
DistriBit: A Distributed Dynamic Binary Execution Engine
AMS '09 Proceedings of the 2009 Third Asia International Conference on Modelling & Simulation
MobiVMM: a virtual machine monitor for mobile phones
Proceedings of the First Workshop on Virtualization in Mobile Computing
Binary translation using peephole superoptimizers
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Hi-index | 0.01 |
Although dynamic binary translators (DBT) are gaining popularity in the modern virtual execution environments (VEE), the requirement of DBTs' processing and memory resources has seriously hampered the performance of host platform. In this paper, we propose a distributed DBT system--DistriBit for resource-limited thin clients to overcome these challenges. Since thin client always has small memory and cannot cache all translated code, we divide its unified cache into a 2-level cache and design a dual locality cache management scheme to help thin client manage its translated code. Meanwhile, to improve the execution efficiency of thin client and reduce the overhead of network transmission, we not only optimize translated code on the server but also predict those thin client required code with a prediction scheme. Experimental results show that our DistriBit system could effectively improve a thin client's performance of SPECint2000 by 2%~26% relative to a monolithic thin client, and our dual locality cache management scheme that results in miss reduction of about 1.41%~20.6% for a thin client with a 2-level cache over a thin client with a unified cache.