Loading...
Please wait, while we are loading the content...
Similar Documents
Dynamic optimization of interpreters using DynamoRIO
| Content Provider | Semantic Scholar |
|---|---|
| Author | Baron, Iris |
| Copyright Year | 2003 |
| Abstract | Interpreters are widely used in domain-specific, dynamic, and scripting languages. While their implementation is relatively simple, their performance is poor. In this thesis we improve the performance of interpreters using dynamic optimization techniques. This task is challenging because the information regarding the interpreted program is not known until the interpreter is run. Efficient implementations of interpreters (such as Just-in-Time compilers) require a runtime system that performs optimization dynamically, using program specialization. Such solutions incur high engineering cost. Furthermore, they are usually language-specific and hardware-dependent, and thus are not portable or reusable. We create a single software dynamic optimizer that can be applied to different interpreters. Our system, DynamoRIO-with-LogPC is based on DynamoRIO's infrastructure, which is a dynamic optimization tool. While DynamoRIO is very efficient in a broad range of applications, typical interpreters' implementation foils DynamoRIO's strategy of trace collection. In addition, DynamoRIO's low-level optimization is unable to extract sufficient high-level semantics of the interpreted program to perform many of the necessary optimizations. We provide simple annotations to the interpreters and modify the trace creation methodology of DynamoRIO such that its traces correspond to frequent sequences of code in the high-level program (the interpreted program), rather than in the interpreter. Then, we use standard optimization techniques such as constant propagation, dead code elimination, and partial evaluation to further improve the traces created. We also present two techniques to avoid unrolling native loops. Such loops might create too long traces that harm performance. Our experimental results on Kaffe and TinyVM interpreters show that DynamoRIO-withLogPC outperforms DynamoRIO and is faster than the native program by 50-90%. While these results are not comparable with those of a hand-crafted native compiler, we believe that it provides an appealing point on the language implementation spectrum. Thesis Supervisor: Saman Amarasinghe Title: Associate Professor |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://groups.csail.mit.edu/cag/rio/iris-sm-thesis.pdf |
| Alternate Webpage(s) | http://groups.csail.mit.edu/commit/papers/2003/iris-SMthesis.pdf |
| Alternate Webpage(s) | http://dspace.mit.edu/bitstream/handle/1721.1/87441/54863587-MIT.pdf?sequence=2 |
| Alternate Webpage(s) | http://cag.lcs.mit.edu/commit/papers/03/iris-SMthesis.pdf |
| Alternate Webpage(s) | http://groups.csail.mit.edu/commit/papers/03/iris-SMthesis.pdf |
| Alternate Webpage(s) | http://www.cag.lcs.mit.edu/rio/iris-sm-thesis.pdf |
| Alternate Webpage(s) | http://www.cag.lcs.mit.edu/commit/papers/2003/iris-SMthesis.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |