We have seen how three issues unique to multiprocessing have affected our prefetching algorithm. First, by using non-binding rather than binding prefetches, our algorithm is not burdened with concerns over violating correctness, and consequently the original uniprocessor algorithm serves as a viable starting point. Second, to account for the coherence misses that result from multiprocessor communication, we extended our analysis to use explicit synchronization as a hint that communication may be taking place. Finally, we exploit exclusive-mode prefetching whenever data are written, both to hide the latency of gaining ownership of a line, and to eliminate unnecessary bandwidth consumption in read-modify-write situations.