Viswanathan, GuhanLarus, James R.2013-12-232013-12-232013-12-23199610.1145/369028.369047https://infoscience.epfl.ch/handle/20.500.14299/98744Many scientific applications are iterative and specify repetitive communication patterns. This paper shows how a parallel-language compiler and a predictive cache-coherence protocol in a distributed shared memory system together can implement shared-memory communication efficiently for applications with unpredictable but repetitive communication patterns. The compiler uses static analysis to identify program points where potentially repetitive communication occurs. At runtime, the protocol builds a communication schedule in one iteration and uses the schedule to pre-send data in subsequent iterations. This paper contains measurements of three iterative applications (including adaptive programs with unstructured data accesses) that show that a predictive protocol increases the number of shared-data requests satisfied locally, thus reducing the remote data access latency and total execution time.Compiler-directed Shared-Memory Communication for Iterative Parallel Applicationstext::conference output::conference proceedings::conference paper