We found a match
Your institution may have access to this item. Find your institution then sign in to continue.
- Title
An Efficient Programming Skeleton for Clusters of Multi-Core Processors.
- Authors
Hosseini Rad, Mina; Fazeli, Mahdi; Patooghy, Ahmad
- 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.
- Subjects
COMPUTER workstation clusters; MULTICORE processors; PARALLEL computer software; ALGORITHMS; COMPUTER architecture
- Publication
International Journal of Parallel Programming, 2018, Vol 46, Issue 6, p1094
- ISSN
0885-7458
- Publication type
Article
- DOI
10.1007/s10766-017-0517-y