Algorithms for categorizing multiprocessor communication under invalidate and update-based coherence protocols