{"title":"Communication characteristics of parallel shared-memory multicore applications","authors":"Mohammed Sultan Mohammed, Gheith A. Abandah","doi":"10.1109/AEECT.2015.7360553","DOIUrl":null,"url":null,"abstract":"Multicore processor architectures have been gaining increasing popularity in recent years. However, many available applications cannot take full advantage of these architectures. Therefore, many researchers have developed several characterization techniques to help programmers to understand the behavior of these applications on multicore platforms and to tune them for better efficiency. Characterizing the communication characteristics is important to help programmers to avoid the expensive communication patterns. This paper proposes an on-the-fly, configuration-independent characterization approach for characterizing the inherent communication characteristics of multicore applications. This approach is fast because it does not depend on the details of any specific machine configuration and does not require repeating the characterization for every target configuration. It just keeps track of memory accesses and the cores that perform these accesses through piping memory traces on-the-fly to the analysis tool. We applied this approach to characterize eight applications drawn from SPLASH-2 and PARSEC benchmark suites. This paper presents the communication characteristics of these applications including communication patterns, sharing degree, invalidation degree, and communication locality. The results indicate that SPLASH-2 has higher communication rates than PARSEC and these rates generally increase as the number of used threads increases. Most of the sharing and invalidation occurs in small degrees. However, two of SPLASH-2 applications have significant fraction of communication with high sharing degrees involving four or more threads. Most of the applications have some uniform communication component and the initial thread is generally involved in more communication compared to the other threads.","PeriodicalId":227019,"journal":{"name":"2015 IEEE Jordan Conference on Applied Electrical Engineering and Computing Technologies (AEECT)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE Jordan Conference on Applied Electrical Engineering and Computing Technologies (AEECT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/AEECT.2015.7360553","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Multicore processor architectures have been gaining increasing popularity in recent years. However, many available applications cannot take full advantage of these architectures. Therefore, many researchers have developed several characterization techniques to help programmers to understand the behavior of these applications on multicore platforms and to tune them for better efficiency. Characterizing the communication characteristics is important to help programmers to avoid the expensive communication patterns. This paper proposes an on-the-fly, configuration-independent characterization approach for characterizing the inherent communication characteristics of multicore applications. This approach is fast because it does not depend on the details of any specific machine configuration and does not require repeating the characterization for every target configuration. It just keeps track of memory accesses and the cores that perform these accesses through piping memory traces on-the-fly to the analysis tool. We applied this approach to characterize eight applications drawn from SPLASH-2 and PARSEC benchmark suites. This paper presents the communication characteristics of these applications including communication patterns, sharing degree, invalidation degree, and communication locality. The results indicate that SPLASH-2 has higher communication rates than PARSEC and these rates generally increase as the number of used threads increases. Most of the sharing and invalidation occurs in small degrees. However, two of SPLASH-2 applications have significant fraction of communication with high sharing degrees involving four or more threads. Most of the applications have some uniform communication component and the initial thread is generally involved in more communication compared to the other threads.