Advanced

Parallelization of a multi-blocked multithreaded general CFD code for heat transfer analysis

Jia, Rongguang LU and Sundén, Bengt LU (2002) Seventh International Conference on Application of High-Performance Computing in Engineering, HPC VII In Advances in High Performance Computing 7. p.157-166
Abstract
This article reports on a parallel implementation of a general 3D multi-block CFD code. The parallelization is achieved by using three strategies. Firstly, it is done on dual-processor PC-clusters where Windows NT systems are running. A multi-thread programming model is adopted for the multi-block code, where one thread corresponds to a block. Shared memory is used for the exchange of inner-boundaries between neighboring blocks (threads) on the same node, while WinSockets are employed for those on different nodes. Secondly, the parallelization is extended to UNIX operating system. MPI is applied for all the message passing between different processors, including those on the same node. Thirdly, Pthreads (POSIX threads), a standardized... (More)
This article reports on a parallel implementation of a general 3D multi-block CFD code. The parallelization is achieved by using three strategies. Firstly, it is done on dual-processor PC-clusters where Windows NT systems are running. A multi-thread programming model is adopted for the multi-block code, where one thread corresponds to a block. Shared memory is used for the exchange of inner-boundaries between neighboring blocks (threads) on the same node, while WinSockets are employed for those on different nodes. Secondly, the parallelization is extended to UNIX operating system. MPI is applied for all the message passing between different processors, including those on the same node. Thirdly, Pthreads (POSIX threads), a standardized application interface for threads, are adopted to take the advantage of the shared-memory feature of the SMP nodes, while MPI is only applied for the message passing between processors on different nodes. In all the strategies, a static load-balancing method is employed for equitable distribution of computational work to specified nodes. An example of turbulent heat transfer and fluid flow in a 3D straight channel is provided to show the speedup of the parallel calculation. Detailed comparison is made to evaluate the efficiency of different strategies. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
in
Advances in High Performance Computing
volume
7
pages
157 - 166
publisher
WIT Press
conference name
Seventh International Conference on Application of High-Performance Computing in Engineering, HPC VII
external identifiers
  • wos:000180302300016
  • scopus:2942709982
ISSN
1368-7638
ISBN
1-85312-924-0
DOI
10.2495/HPC020161
language
English
LU publication?
yes
id
1aa6a153-f06e-4865-98c4-06658fd6321e (old id 611754)
date added to LUP
2007-11-27 15:36:51
date last changed
2017-01-01 07:25:30
@inproceedings{1aa6a153-f06e-4865-98c4-06658fd6321e,
  abstract     = {This article reports on a parallel implementation of a general 3D multi-block CFD code. The parallelization is achieved by using three strategies. Firstly, it is done on dual-processor PC-clusters where Windows NT systems are running. A multi-thread programming model is adopted for the multi-block code, where one thread corresponds to a block. Shared memory is used for the exchange of inner-boundaries between neighboring blocks (threads) on the same node, while WinSockets are employed for those on different nodes. Secondly, the parallelization is extended to UNIX operating system. MPI is applied for all the message passing between different processors, including those on the same node. Thirdly, Pthreads (POSIX threads), a standardized application interface for threads, are adopted to take the advantage of the shared-memory feature of the SMP nodes, while MPI is only applied for the message passing between processors on different nodes. In all the strategies, a static load-balancing method is employed for equitable distribution of computational work to specified nodes. An example of turbulent heat transfer and fluid flow in a 3D straight channel is provided to show the speedup of the parallel calculation. Detailed comparison is made to evaluate the efficiency of different strategies.},
  author       = {Jia, Rongguang and Sundén, Bengt},
  booktitle    = {Advances in High Performance Computing},
  isbn         = {1-85312-924-0},
  issn         = {1368-7638},
  language     = {eng},
  pages        = {157--166},
  publisher    = {WIT Press},
  title        = {Parallelization of a multi-blocked multithreaded general CFD code for heat transfer analysis},
  url          = {http://dx.doi.org/10.2495/HPC020161},
  volume       = {7},
  year         = {2002},
}