Abstract
Instruction traces play an important role in analyzing and understanding the behavior of target applications; however, existing tracing tools are built on specific platforms coupled with excessive reliance on compilers and operating systems. In this paper, we propose a precise thread level instruction tracing approach for modern chip multi-processor simulators, which inserts instruction patterns into programs at the beginning of main thread and slave threads. The target threads are identified and captured in a full system simulator using the instruction patterns without any modifications to the compiler and the operating system. We implemented our approach in the GEM5 simulator and evaluations were performed to test the accuracy on x86-Linux using standard benchmarks. We compared our traces to the ones collected by a Pin-tool. Experimental results show that traces extracted by our approach exhibit high similarity to the traces collected by the Pin-tool. Our approaches of extracting traces can be easily applied to other simulators with minor modification to the instruction execution engines.
Keywords
Download to read the full chapter text
Chapter PDF
References
Bach, M.(M.), Charney, M., Cohn, R., Demikhovsky, E., Devor, T., Hazelwood, K., Jaleel, A., Luk, C.-K., Lyons, G., Patil, H., Tal, A.: Analyzing Parallel Programs with Pin. Computer 43(3), 34–41 (2010)
Virtutech. Simics User Guide for Unix 3.0, Virtutech (2007)
Binkert, N., Beckmann, B., Black, G., Reinhardt, S.K., Saidi, A., Basu, A., Hestness, J., Hower, D.R., Krishna, T., Sardashti, S., Sen, R., Sewell, K., Shoaib, M., Vaish, N., Hill, M.D., Wood, D.A.: The GEM5 simulator. SIGARCH Computer Architecture News 39(2), 1–7 (2011)
Bellard, F.: QEMU, a fast and portable dynamic translator. In: Proceedings of the Annual Conference on USENIX Annual Technical Conference, Berkeley, CA, USA, pp. 41–41 (2005)
Uhlig, R.A., Mudge, T.N.: Trace-driven memory simulation: a survey. ACM Computing Surveys 29(2), 128–170 (1997)
Borg, A., Kessler, R.E., Wall, D.W.: Generation and analysis of very long address traces. SIGARCH Computer Architecture News 18(3a), 270–279 (1990)
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, New York, NY, USA, pp. 190–200 (2005)
Chen, X.: SimSight: a virtual machine based dynamic call graph generator. Technical Report TR-UNL-CSE-2010-0010, University of Nebraska at Lincoln (2010)
Browne, S., Dongarra, J., Garner, N., London, K., Mucci, P.: A scalable cross-platform infrastructure for application performance tuning using hardware counters. In: Proceedings of the 2000 ACM/IEEE Conference on Supercomputing, Article 42, Washington, DC, USA (2000)
Nanda, A., Mak, K.-K., Sugarvanam, K., Sahoo, R.K., Soundarararjan, V., Smith, T.B.: MemorIES3: a programmable, real-time hardware emulation tool for multiprocessor server design. SIGARCH Computer Architecture News 28(5), 37–48 (2000)
Chalainanont, N., Nurvitadhi, E., Morrison, R., Su, L., Chow, K., Lu, S.L., Lai, K.: Real-time l3 cache simulations using the programmable hardware-assisted cache emulator. In: IEEE International Workshop on Workload Characterization, pp. 86–95 (2003)
Yoon, H.-M., Park, G.-H., Lee, K.-W., Han, T.-D., Kim, S.-D., Yang, S.-B.: Reconfigurable Address Collector and Flying Cache Simulator. In: Proceedings of the High-Performance Computing on the Information Superhighway, Washington, DC, USA, pp. 552–556 (1997)
Bao, Y., Chen, M., Ruan, Y., Liu, L., Fan, J., Yuan, Q., Song, B., Xu, J.: HMTT: a platform independent full-system memory trace monitoring system. In: Proceedings of the 2008 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, New York, NY, USA, pp. 229–240 (2008)
Woo, S.C., et al.: The SPLASH-2 programs: Characterization and methodological considerations. ACM SIGARCH Computer Architecture News 23(2), 24–36 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 IFIP International Federation for Information Processing
About this paper
Cite this paper
Ji, W., Liu, Y., Huo, Y., Wang, Y., Shi, F. (2013). Extracting Threaded Traces in Simulation Environments. In: Hsu, CH., Li, X., Shi, X., Zheng, R. (eds) Network and Parallel Computing. NPC 2013. Lecture Notes in Computer Science, vol 8147. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40820-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-40820-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40819-9
Online ISBN: 978-3-642-40820-5
eBook Packages: Computer ScienceComputer Science (R0)