We've got lots of freedom and independence, but you are never on your own when you encounter problems.
Deferred Methods: Accelerating Dynamic Program Analysis on Multicores
Title | Deferred Methods: Accelerating Dynamic Program Analysis on Multicores |
Publication Type | Conference Paper |
Year of Publication | 2012 |
Authors | Ansaloni, D., W. Binder, A. Heydarnoori, and L. Y. Chen |
Conference Name | International Symposium on Code Generation and Optimization (CGO) |
Date Published | 04/2012 |
Publisher | ACM |
Conference Location | San Jose, USA |
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. |
Refereed Designation | Refereed |
Attachment | Size |
---|---|
cgo12-camera_ready.pdf | 346.71 KB |