Content area

Abstract

This paper proposes a divide and conquer skeleton which aids parallel system programmers by (1) reducing programming complexity, (2) shortening programming time, and (3) enhancing code efficiency. To do this, the proposed skeleton exploits three mechanisms of (1) work-stealing, and (2) communication/computation overlapping, and (3) architectural awareness in the proposed divide and conquer skeleton. Using the work-stealing mechanism, when a processing element reaches a low-load condition, the processing core fetches a new job from the waiting queue of other cores. The second mechanism uses special threads to enable the proposed skeleton to overlapping computations with communications. The third mechanism considers the architectural parameters of the host system e.g., size of L1 cache, network bandwidth, network latency to maximally match a divide and conquer problem with the proposed skeleton. To evaluate the proposed skeleton, three benchmarks of merge sort, fast Fourier transform, and standard matrix multiplication are developed by the proposed skeleton as well as customized programming. Experiments are done in both simulation and real implementation environments. The set of six codes are simulated using COTSon simulator and also implemented on 28 dual-core real system. Obtained results from simulations showed an average of 12.6% speed-up of the proposed skeleton as compared to the customized programming; obtained speed-up in real environment is 9.6%. Furthermore, programming aided by the proposed skeleton, is at least 70% faster than custom programming while this difference increases as the program volume increases.

Details

Title
An Efficient Programming Skeleton for Clusters of Multi-Core Processors
Author
Mina Hosseini Rad 1 ; Patooghy, Ahmad 2   VIAFID ORCID Logo  ; Fazeli, Mahdi 3 

 School of Computer Science, Institute for Research in Fundamental Sciences (IPM), Tehran, Iran 
 Department of Computer Engineering, Iran University of Science and Technology, Tehran, Iran; School of Computer Science, Institute for Research in Fundamental Sciences (IPM), Tehran, Iran 
 Department of Computer Engineering, Iran University of Science and Technology, Tehran, Iran 
Pages
1094-1109
Publication year
2018
Publication date
Dec 2018
Publisher
Springer Nature B.V.
ISSN
08857458
e-ISSN
15737640
Source type
Scholarly Journal
Language of publication
English
ProQuest document ID
2132193904
Copyright
International Journal of Parallel Programming is a copyright of Springer, (2017). All Rights Reserved.