Abstract
Execution replay of virtual machines is a useful method for debugging applications in the cloud computing environment. The traditional methods to reproduce a bug is recording every details during the system runtime. However, these methods will incur much overhead and affect the system performance, especially in a multicore processor system. In this paper, we present a virtualization-based execution replay method consisting of three steps. First, we only record some necessary events in the runtime and take a memory checkpoint in a regular interval. Second, we search for execution paths between every two adjacent checkpoints. Third, we reproduce the bugs according to these paths. We can decrease the logging overhead in the runtime by searching instead of logging. We have implemented the method and evaluate it on Xen. The experimental results demonstrate that our method can reduce the runtime overhead by 30 % effectively.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bressoud, T.C., Schneider, F.B.: Hypervisor-based fault tolerance. ACM Trans. Comput. Syst. 14, 80–107 (1996)
Dunlap, G.W., King, S.T., Cinar, S., Basrai, M.A., Chen, P.M.: Revirt: enabling intrusion analysis through virtual-machine logging and replay. In: Proceedings of the 5th Symposium on Operating Systems Design and Implementation, ser. OSDI 2002, pp. 211–224. ACM, New York (2002)
Dunlap, G.W., Lucchetti, D.G., Fetterman, M.A., Chen, P.M.: Execution replay of multiprocessor virtual machines. In: Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, ser. VEE 2008, pp. 121–130. ACM, New York (2008)
Park, S., Zhou, Y., Xiong, W., Yin, Z., Kaushik, R., Lee, K.H., Lu, S.: Pres: probabilistic replay with execution sketching on multiprocessors. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, ser. SOSP 2009, pp. 177–192. ACM, New York (2009)
Leblanc, T., Mellor-Crummey, J.: Debugging parallel programs with instant replay. IEEE Trans. Comput. 36(4), 471–482 (1987)
Laadan, O., Viennot, N., Nieh, J.: Transparent, lightweight application execution replay on commodity multiprocessor operating systems. In: Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, ser. SIGMETRICS 2010, pp. 155–166. ACM, New York (2010)
Bhansali, S., Chen, W., De Jong, S., Edwards, A., Murray, R., Drinic, M., Mihocka, D., Chau, J.: Framework for instruction-level tracing and analysis of program executions. In: Proceedings of the 2nd International Conference on Virtual Execution Environments, pp. 154–163. ACM (2006)
Ronsse, M., De Bosschere, K.: Recplay: a fully integrated practical record/replay system. ACM Trans. Comput. Syst. 17(2), 133–152 (1999)
Lee, D., Wester, B., Veeraraghavan, K., Narayanasamy, S., Chen, P.M., Flinn, J.: Respec: efficient online multiprocessor replay via speculation and external determinism. In: Proceedings of the Fifteenth Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS 2010, pp. 77–90. ACM, New York (2010)
Olszewski, M., Ansel, J., Amarasinghe, S.: Kendo: Efficient deterministic multithreading in software. SIGPLAN Not. 44(3), 97–108 (2009)
Bocchino, R.L., Jr., Adve, V.S., Dig, D., Adve, S.V., Heumann, S., Komuravelli, R., Overbey, J., Simmons, P., Sung, H., Vakilian, M.: A type and effect system for deterministic parallel java. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, ser. OOPSLA 2009, pp. 97–116. ACM, New York (2009)
Berger, E.D., Yang, T., Liu, T., Novark, G.: Grace: safe multithreaded programming for C/C++. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, ser. OOPSLA 2009, pp. 81–96. ACM, New York (2009)
Acknowledgment
This work was supported in part by the National Natural Science Foundation of China under Project 61402450, and the Beijing Natural Science Foundation under Project 4154088.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Wang, T., Zhang, J., Zhang, W., Xu, J., Wei, J. (2015). Efficient Search-Based Automatic Execution Replay for Virtual Machines. In: Yao, L., Xie, X., Zhang, Q., Yang, L., Zomaya, A., Jin, H. (eds) Advances in Services Computing. APSCC 2015. Lecture Notes in Computer Science(), vol 9464. Springer, Cham. https://doi.org/10.1007/978-3-319-26979-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-26979-5_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-26978-8
Online ISBN: 978-3-319-26979-5
eBook Packages: Computer ScienceComputer Science (R0)