An approach for matching communication patterns in parallel applications

Chao Ma, Yong Meng Teo, Verdi March, Naixue Xiong, Ioana Romelia Pop, Yan Xiang He, Simon See
2009 2009 IEEE International Symposium on Parallel & Distributed Processing  
Interprocessor communication is an important factor in determining the performance scalability of parallel systems. The communication requirements of a parallel application can be quantified to understand its communication pattern and communication pattern similarities among applications can be determined. This is essential for the efficient mapping of applications on parallel systems and leads to better interprocessor communication implementation among others. This paper proposes a methodology
more » ... poses a methodology to compare the communication pattern of distributed-memory programs. Communication correlation coefficient quantifies the degree of similarity between two applications based on the communication metrics selected to characterize the applications. To capture the network topology requirements, we extract the communication graph of each application and quantifies this similarity. We apply this methodology to four applications in the NAS parallel benchmark suite and evaluate the communication patterns by studying the effects of varying problem size and the number of logical processes. Abstract Interprocessor communication is an important factor in determining the performance scalability of parallel systems. The communication requirements of a parallel application can be quantified to understand its communication pattern and communication pattern similarities among applications can be determined. This is essential for the efficient mapping of applications on parallel systems and leads to better interprocessor communication implementation among others. This paper proposes a methodology to compare the communication pattern of distributed-memory programs. Communication correlation coefficient quantifies the degree of similarity between two applications based on the communication metrics selected to characterize the applications. To capture the network topology requirements, we extract the communication graph of each application and quantifies this similarity. We apply this methodology to four applications in the NAS parallel benchmark suite and evaluate the communication patterns by studying the effects of varying problem size and the number of logical processes. capacity required by applications, application performance will degrade. However, over provision of communication requirements increases the overall system cost. Both performance and cost are important to users and system vendors. To achieve good cost-performance trade-off, it is important to understand the underlying communication behavior and patterns of parallel applications [2, 8, 21] . Researchers and practitioners in parallel computing also recognized that understanding application communication patterns play an important role in application performance [9, 11, 17, 20, 23] . The process of studying communication patterns, application tuning, and configuring new parallel systems, is both time-consuming and costly. Thus, it is desirable to reuse communication performance characterization to reduce the time and cost in tuning new applications and systems. To address this issue, we propose an approach where by design the communication properties are independent of system characteristics. This allows our characterization of communication patterns for an application to be reused to estimate its performance on different systems. The main contribution of this paper is an approach for matching communication patterns of scientific parallel applications. In our PACPM (Parallel Application Communication Pattern Matching) approach, a communication pattern comprises of four main properties, namely, temporal, spatial, volume, and communication graphs. All these properties are by design system independent. Given two applications, we first measure their four properties using a profiling tool. Next, we apply rank transformation on the measured temporal, spatial, and volume properties to normalize the impact of problem size [7, 14] . Communication similarity between applications is quantified using two metrics, (θ and ε). The first metric, θ , where −1 ≤ θ ≤ 1, quantifies similarity based on the temporal, volume, and spatial properties. This metric measures, for each communication property, the correlation coefficient between the two applications. The second metric, ε, where 0 ≤ ε ≤ 1, quantifies the similarity between two communication graphs (or maximum common subgraphs). We tested our approach using four applications in the NPB (NAS Parallel Benchmark) 3.0 benchmark suite [4], namely BT (Block Tri-diagonal), SP (Pentadiagonal Solver), MG (Multi Grid), and LU (LU Decomposition). We observe that communication patterns are similar for each application run with a different problem size. When comparing among different applications, we find that BT and SP exhibit the highest level of similarity for temporal, volume, and spatial properties, compared to other application combinations. In addition, we show that MG has a distinct communication graph, and BT, SP, and LU have a remarkably common subgraph. The remainder of this paper is organized as follows. In section 2, we discuss the related work. Section 3 presents our proposed approach. An evaluation of our approach using the NPB benchmarks is discussed 2 in section 4. Section 5 contains our conclusions. Related Work To the best of our knowledge, this is the first paper on matching the communication patterns of parallel applications. Existing related work focuses either on the characterization of collective and point-to-point communication of parallel applications [11, 20, 23], or amelioration of the efficiency of the communication of parallel applications [2, 3, 17]. A number of research has been done in describing the significant role that the communication pattern plays in current scientific parallel applications. Researchers employed various strategies to characterize the communication patterns of current parallel applications. For example, Zamani et. al. characterize the temporal, spatial and volume properties of six parallel applications [23]. Visualization of communication patterns is discussed in [9]. A different method of characterizing communication patterns by extracting the causal relationships from the group of logical processes (LPs) is proposed in [6]. Kim et. al. introduce the term "locality" to describe the possibility of certain kind of events occur during the execution of the parallel application [11]. In [3], Afsahi et. al. ameliorate the communication efficiency of parallel applications by using message prediction based on the message communication locality which exists at the receiver sides of message-passing parallel applications. Shalf et. al. propose a reconfigurable hybrid interconnect based on an application's communication characteristic to achieve a better performance [17]. However, these studies discussed attempts to characterize the communication of parallel applications from different aspects or ameliorate the efficiency of current applications but without detecting the similarity between the communication patterns which is also important for users and developers. On the other hand, our work aims to detect and quantify the similarity of communication pattern between different parallel applications.
doi:10.1109/ipdps.2009.5161035 dblp:conf/ipps/MaTMXPHS09 fatcat:b7ftuu5u7fcfzowtgzx3fzs54q