Modern prneessors attempt to overcome increasing memory latencies hy anticipating future references and prefetching those hlocks from memory. The behavior and possible negative side effects of prefetching schemes are fairly well understood for uniprocessor systems. However, in a mnltiprocessor system a prefetch can steal read andlor write pennissk~ns for shared hlc~cks 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--seqnential prefetching, content-directed data prefetching, wrong path prefetching and exclusive prefetching-in a bus-based multiprocessor system. Weshow that accuracy and coverageare inadequate melrics for describing prefetching in a multipmccssor; rather, we also need to understand what fraction of prektches interfere with remote processors. We present an upper hound on the performance of various prefetching algorithms if no harmful prefctches are issued, and suggest prefetch filtering schemes that can accomplish this goal.