摘 要: | 针对并发程序中锁的不当使用可能导致性能瓶颈的问题,提出检测和优化并发程序中同步瓶颈的方法IdeSync。IdeSync使用静态分析方法获取同步方法和同步块,构建静态同步依赖图,采用基于执行路径的动态分析技术进行同步依赖关系分析,构建同步依赖图。为了暴露性能瓶颈,在同步依赖图上通过增加程序工作负载的方式,监测临界区的性能变化,并针对检测到的同步瓶颈给出优化建议。在实验中通过HSQLDB、SPECjbb2005和RxJava等12个大型实际应用程序对IdeSync的有效性进行验证,共检测到72个同步瓶颈,根据优化建议进行优化后程序性能均有所提升。实验表明,IdeSync能够有效地检测和优化同步瓶颈。
|