
		<paper>
			<loc>https://jjcit.org/paper/9</loc>
			<title>CHARACTERIZATION OF SHARED-MEMORY MULTI-CORE APPLICATIONS</title>
			<doi>10.5455/jjcit.71-1448574289</doi>
			<authors>Mohammed Sultan Mohammed,Gheith A. Abandah</authors>
			<keywords>Multi-core processor,On-the-fly analysis,Shared memory applications,Communication patterns,Performance evaluation</keywords>
			<citation>1</citation>
			<views>5894</views>
			<downloads>1895</downloads>
			<received_date>2015-11-29</received_date>
			<revised_date>2016-01-21</revised_date>
			<accepted_date>2016-02-01</accepted_date>
			<abstract>The multicore processor architectures have been gaining increasing popularity in the recent years.
However, many available applications cannot take full advantage of these architectures. Therefore, many
researchers have developed several characterization techniques to help programmers understand the
behavior of these applications on multicore platforms and to tune them for better efficiency. This paper
proposes an on-the-fly, configuration-independent characterization approach for characterizing the
inherent 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 inherent characteristics of these applications, including memory access instructions,
communication characteristics patterns, sharing degree, invalidation degree, communication slack and
communication locality. The results show that two of the studied applications have high parallelization
overhead, which are Cholesky and Fluidanimate. The results also indicate that the studied applications of
SPLASH-2 have higher communication rates than the studied applications of 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.</abstract>
		</paper>


