Search papers, labs, and topics across Lattice.
This paper introduces CW-Ghost, a novel approach to optimize helper-thread prefetching by dynamically selecting iteration granularity based on cache capacity constraints. By utilizing a single offline profiling run to estimate cache line fill volume and incorporating a cache capacity budget, CW-Ghost adapts to varying workloads and processors without the need for exhaustive configuration evaluations. The method achieves significant performance improvements, yielding geometric mean speedups of 1.54x on Intel and 1.33x on AMD platforms, while also surpassing previous techniques like Ghost Threading by over 15% in performance metrics.
CW-Ghost achieves over 99% of optimal performance while adapting prefetching granularity to cache constraints, outperforming traditional methods by up to 15.8%.
Helper-thread prefetching hides the latency of irregular memory accesses by executing address dependency chains ahead of the main thread. However, its effectiveness depends on the range of future iterations covered by the helper thread. A fixed coverage range cannot consistently accommodate different workloads and processors, whereas exhaustively evaluating candidate configurations incurs substantial configuration cost. This paper presents CW-Ghost, which uses a single offline profiling run to estimate the average demand cache line fill volume generated per target iteration in a target region. CW-Ghost combines this estimate with a cache capacity budget to derive a Capacity Window, which determines the iteration granularity of each prefetch chunk. In addition, bounded chunk-level synchronization limits the number of chunks by which the helper thread may run ahead of the main thread. Across 14 workload instances evaluated on Intel and AMD CPU platforms, CW-Ghost achieves geometric mean speedups of 1.54x and 1.33x, respectively, over the original programs. Compared with Ghost Threading, it improves geometric mean performance by 15.8% and 10.8%, respectively, while achieving more than 99% of the empirically optimal performance within the candidate set on both platforms. These results demonstrate that cache capacity constraints can effectively guide the selection of granularity for helper-thread prefetching.