Wood, David A.Chandra, SatishFalsafi, BabakHill, Mark D.Larus, James R.Lebeck, Alvin R.Lewis, James C.Mukherjee, Shubhendu S.Palacharla, SubbaraoReinhardt, Steven K.2009-04-062009-04-062009-04-06199310.1145/165123.165151https://infoscience.epfl.ch/handle/20.500.14299/36894This paper explores the complexity of implementing directory protocols by examining their mechanisms - primitive operations on directories, caches, and network interfaces. We compare the following protocols: Dir<inf>1</inf>B, Dir<inf>4</inf>B, Dir<inf>4</inf>NB, Dir<inf>n</inf>NB, Dir<inf>1</inf>SW and an improved version of Dir<inf>1</inf>SW (Dir<inf>1</inf>SW<sup>+</sup>). The comparison shows that the mechanisms and mechanism sequencing of Dir<inf>1</inf>SW and Dir<inf>1</inf>SW<sup>+</sup> are simpler than those for other protocols. We also compare protocol performance by running eight benchmarks on 32 processor systems. Simulations show that Dir<inf>1</inf>SW<sup>+</sup>'s performance is comparable to more complex directory protocols. The significant disparity in hardware complexity and the small difference in performance argue that Dir<inf>1</inf>SW<sup>+</sup> may be a more effective use of resources. The small performance difference is attributable to two factors: the low degree of sharing in the benchmarks and Check-In/Check-Out (CICO) directives.Mechanisms for cooperative shared memorytext::conference output::conference proceedings::conference paper