Performance-based parallel loop self-scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters

Chao Tung Yang, Chao-Chin Wu, Jen Hsiang Chang

Research output: Contribution to journalArticle

10 Citations (Scopus)

Abstract

Parallel loop self-scheduling on parallel and distributed systems has been a critical problem and it is becoming more difficult to deal with in the emerging heterogeneous cluster computing environments. In the past, some self-scheduling schemes have been proposed as applicable to heterogeneous cluster computing environments. In recent years, multicore computers have been widely included in cluster systems. However, previous researches into parallel loop self-scheduling did not consider certain aspects of multicore computers; for example, it is more appropriate for shared-memory multiprocessors to adopt Open Multi-Processing (OpenMP) for parallel programming. In this paper, we propose a performance-based approach using hybrid OpenMP and MPI parallel programming, which partition loop iterations according to the performance weighting of multicore nodes in a cluster. Because iterations assigned to one MPI process are processed in parallel by OpenMP threads run by the processor cores in the same computational node, the number of loop iterations allocated to one computational node at each scheduling step depends on the number of processor cores in that node. Experimental results show that the proposed approach performs better than previous schemes.

Original languageEnglish
Pages (from-to)721-744
Number of pages24
JournalConcurrency Computation Practice and Experience
Volume23
Issue number8
DOIs
Publication statusPublished - 2011 Jun 10

Fingerprint

Multiprocessing
Programming
Scheduling
Cluster computing
Heterogeneous Computing
Cluster Computing
Parallel programming
Parallel Programming
Vertex of a graph
Processing
Iteration
Shared-memory multiprocessors
Parallel Systems
Hybrid Approach
Thread
Weighting
Distributed Systems
Partition
Data storage equipment
Experimental Results

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Computer Science Applications
  • Computer Networks and Communications
  • Computational Theory and Mathematics

Cite this

@article{2c40aea4ab454573bbe75fcbdfbb3f43,
title = "Performance-based parallel loop self-scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters",
abstract = "Parallel loop self-scheduling on parallel and distributed systems has been a critical problem and it is becoming more difficult to deal with in the emerging heterogeneous cluster computing environments. In the past, some self-scheduling schemes have been proposed as applicable to heterogeneous cluster computing environments. In recent years, multicore computers have been widely included in cluster systems. However, previous researches into parallel loop self-scheduling did not consider certain aspects of multicore computers; for example, it is more appropriate for shared-memory multiprocessors to adopt Open Multi-Processing (OpenMP) for parallel programming. In this paper, we propose a performance-based approach using hybrid OpenMP and MPI parallel programming, which partition loop iterations according to the performance weighting of multicore nodes in a cluster. Because iterations assigned to one MPI process are processed in parallel by OpenMP threads run by the processor cores in the same computational node, the number of loop iterations allocated to one computational node at each scheduling step depends on the number of processor cores in that node. Experimental results show that the proposed approach performs better than previous schemes.",
author = "Yang, {Chao Tung} and Chao-Chin Wu and Chang, {Jen Hsiang}",
year = "2011",
month = "6",
day = "10",
doi = "10.1002/cpe.1627",
language = "English",
volume = "23",
pages = "721--744",
journal = "Concurrency Computation Practice and Experience",
issn = "1532-0626",
publisher = "John Wiley and Sons Ltd",
number = "8",

}

Performance-based parallel loop self-scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters. / Yang, Chao Tung; Wu, Chao-Chin; Chang, Jen Hsiang.

In: Concurrency Computation Practice and Experience, Vol. 23, No. 8, 10.06.2011, p. 721-744.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Performance-based parallel loop self-scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters

AU - Yang, Chao Tung

AU - Wu, Chao-Chin

AU - Chang, Jen Hsiang

PY - 2011/6/10

Y1 - 2011/6/10

N2 - Parallel loop self-scheduling on parallel and distributed systems has been a critical problem and it is becoming more difficult to deal with in the emerging heterogeneous cluster computing environments. In the past, some self-scheduling schemes have been proposed as applicable to heterogeneous cluster computing environments. In recent years, multicore computers have been widely included in cluster systems. However, previous researches into parallel loop self-scheduling did not consider certain aspects of multicore computers; for example, it is more appropriate for shared-memory multiprocessors to adopt Open Multi-Processing (OpenMP) for parallel programming. In this paper, we propose a performance-based approach using hybrid OpenMP and MPI parallel programming, which partition loop iterations according to the performance weighting of multicore nodes in a cluster. Because iterations assigned to one MPI process are processed in parallel by OpenMP threads run by the processor cores in the same computational node, the number of loop iterations allocated to one computational node at each scheduling step depends on the number of processor cores in that node. Experimental results show that the proposed approach performs better than previous schemes.

AB - Parallel loop self-scheduling on parallel and distributed systems has been a critical problem and it is becoming more difficult to deal with in the emerging heterogeneous cluster computing environments. In the past, some self-scheduling schemes have been proposed as applicable to heterogeneous cluster computing environments. In recent years, multicore computers have been widely included in cluster systems. However, previous researches into parallel loop self-scheduling did not consider certain aspects of multicore computers; for example, it is more appropriate for shared-memory multiprocessors to adopt Open Multi-Processing (OpenMP) for parallel programming. In this paper, we propose a performance-based approach using hybrid OpenMP and MPI parallel programming, which partition loop iterations according to the performance weighting of multicore nodes in a cluster. Because iterations assigned to one MPI process are processed in parallel by OpenMP threads run by the processor cores in the same computational node, the number of loop iterations allocated to one computational node at each scheduling step depends on the number of processor cores in that node. Experimental results show that the proposed approach performs better than previous schemes.

UR - http://www.scopus.com/inward/record.url?scp=79955641642&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=79955641642&partnerID=8YFLogxK

U2 - 10.1002/cpe.1627

DO - 10.1002/cpe.1627

M3 - Article

AN - SCOPUS:79955641642

VL - 23

SP - 721

EP - 744

JO - Concurrency Computation Practice and Experience

JF - Concurrency Computation Practice and Experience

SN - 1532-0626

IS - 8

ER -