Exploring the Value of Supporting Multiple DSM Protocols in Hardware DSM Controllers Ravindra Kuramkote, John Carter UUCS-99-024 Computer Systems Laboratory University of Utah The performance of a hardware distributed shared memory (DSM) system is largely dependent on its architect’s ability to reduce the number of remote memory misses that occur. Previous attempts to solve this problem have included measures such as supporting both the CC-NUMA and S-COMA architectures in the same machine and providing a programmable DSM controller that can emulate any DSM mechanism. In this paper we first present the design of a DSM controller that supports multiple DSM protocols in custom hardware, and allows the programmer or compiler to specify on a per-variable basis what protocol to use to keep that variable coherent. The simulated performance of this DSM controller compares favorably with that of conventional single-protocol custom hardware designs, often outperforming the conventional systems by a factor of two. To achieve these promising results, the multi-protocol DSM controller needed to support only two DSM architectures (CC-NUMA and S-COMA) and three coherency protocols (both release and sequentially consistent write invalidate and release consistent write update). This work demonstrates the value of supporting a degree of flexibility in one’s DSM controller design and suggests what operations such a flexible DSM controller should support. 1