Abstract | ||
---|---|---|
Parallelization is attractive for speeding up dynamic program analysis on multicores. However, inter-thread communication overhead may outweigh any benefit from parallel execution. We propose deferred methods, a high-level Java framework to accelerate dynamic analysis on multicores. To minimize inter-thread communication overhead, invocations to analysis methods are automatically aggregated in thread-local buffers that are processed when full. In contrast to other approaches, our framework supports custom buffer processing strategies, eases pre-processing of buffers to reduce contention on shared data structures, and offers a synchronization mechanism to wait for the completion of previously invoked deferred methods. We also present a novel adaptive buffer processing strategy that parallelizes the analysis only when the observed workload leaves some CPU cores under-utilized. Using a profiler as case study, we show that deferred methods with the adaptive buffer processing strategy yield an average speedup of factor 4.09 on a quad-core machine. The speedup stems both from parallelization and from reduced contention. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1145/2259016.2259048 | CGO |
Keywords | Field | DocType |
average speedup,deferred method,dynamic analysis,thread-local buffer,dynamic program analysis,analysis method,novel adaptive buffer processing,custom buffer processing strategy,inter-thread communication overhead,adaptive buffer processing strategy,data structure,parallelization | Data structure,Synchronization,Java collections framework,Workload,Computer science,Parallel computing,Real-time computing,Multi-core processor,Dynamic program analysis,Speedup | Conference |
Citations | PageRank | References |
2 | 0.38 | 11 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Danilo Ansaloni | 1 | 296 | 23.78 |
Walter Binder | 2 | 1077 | 92.58 |
Heydarnoori Abbas | 3 | 229 | 20.32 |
Lydia Y. Chen | 4 | 432 | 52.24 |