Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Parallelization of a multi-blocked CFD code via three strategies for fluid flow and heat transfer analysis

Jia, Rongguang LU and Sundén, Bengt LU (2004) In Computers & Fluids 33(1). p.57-80
Abstract
This paper 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 paper 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. The parameters of the present code is studied in detail to facilitate the explanation of the speedup results. Two examples are provided to show the speedup and load balancing of the parallel calculation. Detailed comparison is made to evaluate the efficiency of different strategies. (C) 2003 Elsevier Ltd. All rights reserved. (Less)
Please use this url to cite or link to this publication:
author
and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
multi-block, multi-thread, heat transfer, cluster, parallel, MPI
in
Computers & Fluids
volume
33
issue
1
pages
57 - 80
publisher
Elsevier
external identifiers
  • wos:000185555400004
  • scopus:0041340564
ISSN
0045-7930
DOI
10.1016/S0045-7930(03)00029-X
language
English
LU publication?
yes
id
bbf1a2a3-1f33-41bf-a1f2-a2ff877dadae (old id 300593)
date added to LUP
2016-04-01 16:28:22
date last changed
2022-02-27 21:29:30
@article{bbf1a2a3-1f33-41bf-a1f2-a2ff877dadae,
  abstract     = {{This paper 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. The parameters of the present code is studied in detail to facilitate the explanation of the speedup results. Two examples are provided to show the speedup and load balancing of the parallel calculation. Detailed comparison is made to evaluate the efficiency of different strategies. (C) 2003 Elsevier Ltd. All rights reserved.}},
  author       = {{Jia, Rongguang and Sundén, Bengt}},
  issn         = {{0045-7930}},
  keywords     = {{multi-block; multi-thread; heat transfer; cluster; parallel; MPI}},
  language     = {{eng}},
  number       = {{1}},
  pages        = {{57--80}},
  publisher    = {{Elsevier}},
  series       = {{Computers & Fluids}},
  title        = {{Parallelization of a multi-blocked CFD code via three strategies for fluid flow and heat transfer analysis}},
  url          = {{http://dx.doi.org/10.1016/S0045-7930(03)00029-X}},
  doi          = {{10.1016/S0045-7930(03)00029-X}},
  volume       = {{33}},
  year         = {{2004}},
}