Code Cloning Tracing: a New Approach to Trace Collection
نویسندگان
چکیده
Trace-driven simulation is a widely used technique to evaluate microprocessor architecture and/or memory hierarchy performance. However, software trace collection induces signiicant execution slowdown. As on-line simulation induces an even more disastrous slowdown, simulating applications incurring trillions of instructions can not be considered without trace sampling. Therefore continuous software trace collection of the complete workload of a desktop computer cannot be envisaged. The Code Cloning Tracing method is aimed at allowing trace collection on time consuming applications. Sampling the execution is performed through a static duplication and instrumentation of the source code. A rst copy of the code is nearly identical to the original code and will execute most of the time. The second code copy is further instrumented by the trace user and will be parsimoniously executed in order to collect traces without slowing down too much the overall application. At execution time, some events make the execution switch to the instrumented code copy. Other events make the execution return to the original-like code copy. The choice of these events determines the execution overhead, therefore making the approach very exible. This paper presents in details the Code Cloning Tracing method. We also present calvin, the rst prototype implemented to validate the approach. Experiments show that Code Cloning Tracing could be applied on all applications running on desktop computer without signiicantly aaecting user response time when traces are not collected. This opens the way to punctual (let us say one second of CPU) collection of the whole activity of a desktop computer. Code Cloning Tracing: une nouvelle approche pour la collecte de traces de programmes R esum e : La m ethode Code Cloning Tracing expos ee dans cet article permet la collecte de traces sur de grosses applications (co^ uteuses en temps). Un echantillonnage est r ealis e par l'ex ecution alternative de deux copies du code. Une des copies est presque identique au code original et s'ex ecute la plupart du temps ((a une vitesse proche de celle de l'application originale). La seconde copie du code est instrument ee plus lourdement pour permettre la collecte eeective de la trace. Celle-ci est ex ecut ee avec parcimonie pour ne pas trop ralentir l'application test ee. A l'ex ecution, certains ev enements permettent le saut d'une copie a l'autre. L'article pr esente aussi un premier prototype, appel e calvin, pour impl ementer la m ethode Code Cloning Tracing. Pour le moment, …
منابع مشابه
Code Cloning Tracing: A "Pay per Trace" Approach
Code Cloning Tracing is a new software annotation method that makes it possible to collect traces from time consuming applications. To this end, Code Cloning Tracing provides instrumented programs with two execution modes: a low overhead “no-trace collection” mode which serves to position the application in an interesting state with regard to tracing, and a “trace collection” mode. This paper d...
متن کاملA Fay: Extensible Distributed Tracing from Kernels to Clusters
Fay is a flexible platform for the efficient collection, processing, and analysis of software execution traces. Fay provides dynamic tracing through use of runtime instrumentation and distributed aggregation within machines and across clusters. At the lowest level, Fay can be safely extended with new tracing primitives, including even untrusted, fully-optimized machine code, and Fay can be appl...
متن کاملIntegrated Runtime Measurement Summarisation and Selective Event Tracing for Scalable Parallel Execution Performance Diagnosis
Straightforward trace collection and processing becomes increasingly challenging and ultimately impractical for more complex, longrunning, highly-parallel applications. Accordingly, the kojak measurement system for mpi, openmp and shmem parallel applications is incorporating runtime management and summarisation capabilities. This offers a more scalable and effective profile of parallel executio...
متن کاملDesign of Bee Products Quality Monitoringinformation Service Platform
The bee products quality monitoring and tracing information service platform was researched and developed. This paper describes the design concept and critical technologies for the construction of the bee products quality monitoring and tracing information service platform. The system has functions of remote information collection, production-purchase-processing automatic coding, bar code gener...
متن کاملEfficient Tracing for On-the-Fly Space-Time Displays in a Debugger for Message Passing Programs
In this work we describe the implementation of a practical mechanism for collecting and displaying trace information in a debugger for message passing programs. We introduce a trace format that is highly compressible while still providing information adequate for debugging purposes. We make the mechanism convenient for users to access by incorporating the trace collection in a set of wrappers f...
متن کامل