2006 IEEE International Symposium on Performance Analysis of Systems and Software Friendly fire: understanding the effects of multiprocessor prefetches Austin, TX, USA March 19-March 21 ISBN: 1-4244-0186-0
Modern processors attempt to overcome increasing memory latencies by anticipating future references and prefetching those blocks from memory. The behavior and possible negative side effects of prefetching schemes are fairly well understood for uniprocessor systems. However, in a multiprocessor system a prefetch can steal read and/or write permissions for shared blocks from other processors, leading to permission thrashing and overall performance degradation. In this paper, we present a taxonomy that classifies the effects of multiprocessor prefetches. We also present a characterization of the effects of four different hardware prefetching schemes - sequential prefetching, content-directed data prefetching, wrong path prefetching and exclusive prefetching - in a bus-based multiprocessor system. We show that accuracy and coverage are inadequate metrics for describing prefetching in a multiprocessor; rather, we also need to understand what fraction of prefetches interferes with remote processors. We present an upper bound on the performance of various prefetching algorithms if no harmful prefetches are issued, and suggest prefetch filtering schemes that can accomplish this goal.
Index Terms:
exclusive prefetching, multiprocessor prefetches, memory latency, prefetching scheme, multiprocessor system, permission thrashing, performance degradation, hardware prefetching, sequential prefetching, content-directed data prefetching, wrong path prefetching
Citation:
N.D.E. Jerger, E.L. Hill, M.H. Lipasti, "Friendly fire: understanding the effects of multiprocessor prefetches," ispass, pp.177-188, 2006 IEEE International Symposium on Performance Analysis of Systems and Software, 2006 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||