1 / 1

Dimension: An Instrumentation Tool for Virtual Execution Environments

Dimension: An Instrumentation Tool for Virtual Execution Environments. Jing Yang, Shukang Zhou and Mary Lou Soffa Department of Computer Science, University of Virginia {jy8y, zhou, soffa}@cs.virginia.edu. Goals

Download Presentation

Dimension: An Instrumentation Tool for Virtual Execution Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dimension: An Instrumentation Tool for Virtual Execution Environments Jing Yang, Shukang Zhou and Mary Lou Soffa Department of Computer Science, University of Virginia {jy8y, zhou, soffa}@cs.virginia.edu • Goals • A stand alone instrumentation tool for a variety of translation-based virtual execution environments (VEE), which owns: • Flexibility – the effort to use it with diverse VEEs is minimal • Comprehensiveness – can instrument both the source binary and the target binary of a VEE • Easy-of-Use – easy user model to write instrumentation specification • Efficiency – reasonable instrumentation overhead • Challenges • The VEE should be barely touched, since a deep inspection and modification of all its components is no easier than building them from scratch, however, • Without in-depth extensions to the VEE, the built-on instrumentation can hardly be comprehensive, easy-to-use, and efficient Design Decisions • A separate tool which provides instrumentation services to VEEs through specific interfaces • Use probe-based instrumentation technique to avoid interfering a VEE’s code generation and code cache management • Instrument source instructions via instrumenting its corresponding target instructions • Two requirements to the instrumentation unit: single-entry and large enough to hold a jump instruction Organization of Dimension • The whole tool is VEE independent • Three lightweight interface components and three heavyweight core components • Integration into a VEE is easy and information is readily available Implementation • Compiled as a shared object • Integrated into Strata on SPARC/Solaris and Jikes RVM on IA-32/Linux Evaluation • Effectiveness of optimizations (histogram a to c) • Flexibility and efficiency (histogram d) • Dimension in traditional execution environments (histogram e) (a) (b) (c) Slowdown from instrumentation of Dimension. (a) is the for target binary of Strata, (b) is for target binary of Jikes RVM and (c) is for source binary of Jikes RVM. “NO_OPT” stands for no optimization; “INL” stands for inlining; “PCS” stands for partial context switch; and “PC” stands for probe coalescing. (d) (e) (d) Is comparison of slowdown from instrumentation between Jazz and Dimension. (e) is comparison of slowdown from instrumentation in traditional execution environments. • Status • Under active development • First paper will appear in Proceedings of the second ACM/USENIX International Conference on Virtual Execution Environments, Ottawa, June 2006. • Future Work • Handle the source-to-target instruction mapping in case of optimization (e.g., code motion) • Automatic generation of binary manipulation library for new architectures • Catch the runtime context of source binary and represent it as that of the corresponding target binary • Further reduce the efforts to modify VEEs to integrate Dimension in • Retarget Dimension to more VEEs on Different architectures and operating systems

More Related