Many scientific applications are iterative and specify repetitive communication patterns. This paper shows how a parallel-language compiler and custom cache-coherence protocols in a distributed shared memory system together can implement shared-memory communication efficiently for applications with unpredictable but repetitive communication patterns. The compiler uses data-flow analysis to identify program points where repetitive communication occurs. At runtime, the custom protocol builds communication schedules in one iteration and uses it to pre-send data in following iterations. This paper contains measurements on three iterative applications (including adaptive programs with unstructured data accesses) to show that custom protocols increase the number of shared-data requests satisfied locally, thus reducing the amount of time spent waiting for remote data.
许多科学应用程序都是迭代的,并指定重复的通信模式。本文说明了并行语言编译器和分布式共享内存系统中的自定义缓存一致性协议如何共同为具有不可预测但重复的通信模式的应用程序有效地实现共享内存通信。编译器使用数据流分析来识别重复通信发生的程序点。在运行时,自定义协议在一次迭代中构建通信计划,并使用它在随后的迭代中预发送数据。本文包含对三个迭代应用程序(包括具有非结构化数据访问的自适应程序)的测量,以表明自定义协议增加了本地满足的共享数据请求的数量,从而减少了等待远程数据的时间。 P>
机译:用于并行化面向对象应用程序的并行迭代器
机译:用于并行化面向对象应用程序的并行迭代器
机译:共享内存多处理器上的应用并行
机译:面向迭代并行应用程序的编译器定向共享内存通信
机译:通信交易计算:使用距离分解,嵌套迭代和自适应网格细化的PDE并行解决方案的低通信算法
机译:运行共享内存应用程序的现代多核系统上的时间能量测量数据
机译:面向迭代并行应用程序的编译器定向共享内存通信