The Community for Technology Leaders
Green Image
<p>The Cray T3D and T3E are <it>non-cache-coherent</it> (NCC) computers with a NUMA structure. They have been shown to exhibit a very stable and scalable performance for a variety of application programs. Considerable evidence suggests that they are more stable and scalable than many other shared-memory multiprocessors. However, the principal drawback of these machines is a lack of programmability, caused by the absence of the global cache coherence that is necessary to provide a convenient shared view of memory in hardware. This forces the programmer to keep careful track of where each piece of data is stored, a complication that is unnecessary when a pure shared-memory view is presented to the user. We believe that a remedy for this problem is advanced compiler technology. In this paper, we present our experience with a compiler framework for automatic parallelization and communication generation that has the potential to reduce the time-consuming hand-tuning that would otherwise be necessary to achieve good performance with this type of machine. From our experiments, we learned that our compiler performs well for a variety of applications on the T3D and T3E and we found a few sophisticated techniques that could improve performance even more once they are fully implemented in the compiler.</p>
compiler, array privatization, dependence analysis, multiprocessors, noncoherent caches, shared-memory programming, Put/Get
A. Navarro, J. Hoeflinger, E. Zapata, Y. Paek, D. Padua, "An Advanced Compiler Framework for Non-Cache-Coherent Multiprocessors", IEEE Transactions on Parallel & Distributed Systems, vol. 13, no. , pp. 241-259, March 2002, doi:10.1109/71.993205
312 ms
(Ver 3.3 (11022016))