A cache coherence protocol for cluster architectures
In this dissertation we investigate managed message passing for parallel applications. We construct message-passing middleware that takes full advantage of cluster architecture, leading to improved performance of cache-coherent parallel applications. The cache-coherency problem is identified and we show why currently available software and hardware technology does not adequately solve this problem. Both software and hardware cache-coherency protocols are evaluated from a variety of high performance computing platforms. We compare our new cache-coherency protocol to existing protocols and methodologies used in parallel architectures. Hardware coherence mechanisms may be efficient for a given communication protocol and system size, but they do not provide the means to adapt to the various behavior patterns found in many parallel applications, and do not scale well. We present CUP (Conditional Update Protocol) as a new cache-coherency protocol for use on cluster architectures. CUP is combined with a cache-friendly algorithm to provide a scalable, cache-coherent cluster system for high performance computing.