摘要
随着多核处理器的发展,大规模并行程序已经成为了主流。然而与单线程程序不同,并行程序并不能保证程序每次执行的路径都相同。路径不确定性却给程序的性能评估和错误调试带来了许多问题和挑战。而Java虚拟机本身的即时编译,垃圾收集等机制,更是加剧了程序的不确定性。如何解决不确定性的影响,一直是性能评估和错误调试两个领域的重要课题。从这两个方面,分别对处理Java并行程序不确定性的方法进行分析和总结。在此基础上,进一步比较了各项技术的优劣,也对性能评估和确定性重放两项技术的可能发展方向进行了展望。
With the development of multi-core processor, large scale parallel programs have become prevalent. However, unlike serial programs, parallel programs cannot guarantee that the execution paths are the same during different runs. The uncertainty of the execution paths has brought many problems and challenges to the evaluation and debugging. Meanwhile, mechanisms inside the Java virtual machine such as just-in-time compiler and garbage collection also amplify the variability of the program. Therefore, how to deal with the variability during execution has become an important issue in the fields of both performance evaluation and debugging. From these two aspects, this paper analyzed and summarized the methods to deal with the variability of Java parallel programs. Further, this paper presented the prospects of the possible development direction of Java performance evaluation and deterministic replay.
作者
季晓枫
宋昶衡
李弋
Ji Xiaofeng,Song Changheng,Li Yi(1.School of Software, Fudan University, Shanghai 201203,China;2.Shanghai Key Laboratory of Data Science, Fudan University, Shanghai 201203, Chin)
出处
《计算机应用与软件》
北大核心
2018年第8期9-16,30,共9页
Computer Applications and Software
基金
国家重点研发计划项目(2016YFB0200501)
上海市科委科研计划项目(17511102200)