Exploiting under-utilized cores with deferred methods
-
Ansaloni, Danilo
Facoltà di scienze informatiche, Università della Svizzera italiana, Svizzera
-
Binder, Walter
Facoltà di scienze informatiche, Università della Svizzera italiana, Svizzera
-
Heydarnoori, Abbas
Facoltà di scienze informatiche, Università della Svizzera italiana, Svizzera
-
Chen, Lydia Y.
IBM Zurich Research Laboratory, Zurich, Switzerland
Show more…
18 p.
English
Effective parallelization of fine-grained tasks, such as in dynamic program analysis, is challenging because thread communication overheads may outweigh the benefits of parallelism. In this paper, we address this issue with deferred methods, a novel Java framework that aggregates invocations of analysis methods in thread-local buffers and processes them altogether when a buffer is full. The framework supports pluggable buffer processing strategies. We present an adaptive strategy that combines synchronous buffer processing (by the thread that has filled the buffer) and asynchronous buffer processing (using a thread pool). This strategy adapts at runtime to the CPU utilization of the workload and exploits under-utilized cores when possible. As case studies, we consider two dynamic program analyses, a profiler and a data race detector, which we apply to standard benchmarks. A thorough performance evaluation confirms that our framework together with the adaptive buffer processing strategy yields an average speedup of factor 2.2–2.7 for our case studies on two different quad-core machines.
-
Language
-
-
Classification
-
Computer science and technology
-
License
-
License undefined
-
Identifiers
-
-
RERO DOC
22096
-
ARK
ark:/12658/srd1318191
-
Persistent URL
-
https://n2t.net/ark:/12658/srd1318191
Statistics
Document views: 50
File downloads: