fluent.com home page

   
 

Parallel Computingon a Windows® Cluster

 

By Diana L. Collier, Fluent Inc.

View the pdf of this article

The primary goal of running FLUENT in parallel is to reduce calculation turnaround times by using multiple processors (CPUs). There are two ways to run FLUENT in parallel in the Windows environment. In one model, multiple processors on the same machine are used, and in the other model, multiple machines in a cluster are used. The way in which memory is accessed is different for these two models:

Memory (CPU and/or cache memory) is shared between the processors on a single machine. Communication between the processors is handled locally on the machine.
Each processor has it's own (private) memory associated with it. Communication between the processors occurs through a messagepassing interface (MPI). The MPI is an interface for a set of library functions that processors in a distributedmemory multiprocessor can use to communicate with each other. Message passing software is required for this task.

Last year, Fluent News featured a section on parallel processing, and the support corner offered tips on how to initiate a parallel processing run in FLUENT. Since that time, many calls have come in with questions about how to set up the hardware - single multi-processor machines or a cluster of machines (remote processors) on a network - especially when PCs running Windows are being used. The following questions are typical of those that have been asked.

Q. I have a dual processor computer. How do I start FLUENT using shared memory?

A. Once FLUENT 6.1 is installed, open up a Command Prompt and browse to your working directory. Type: FLUENT 2d (or 3d, 2ddp, 3ddp) -t2 (The qualifier t2 starts up the two-process version of FLUENT. The qualifiers 2ddp and 3ddp make use of the double precision solvers.)

Q. I have access to more than one computer, and I'd like to make use of these for parallel computing. How do the processors communicate with each other?

A. In this type of parallel implementation each processor has it's own memory. The processors communicate with each other through a socket communicator, or MPI. Message-passing software is loaded on every computer in the cluster and a Windows process is started. Through the interface, computers coordinate their tasks, such as sending and receiving arrays, synchronizing, and performing global operations (such as summations over all cells), by sending and receiving messages to and from one another.

Q. Which socket communicators and message-passing applications does FLUENT support?

A. FLUENT supports three of these tools: RSHD, MPICH, and MPI/Pro.

  • RSHD gets copied to the \FLUENT.INC\ntbin\ntx86 directory when FLUENT 6.1 is installed.
  • MPICH is freely available from Argonne National Labs and can be downloaded from their web site: www-unix.mcs.anl.gov/mpi/mpich
  • MPI/Pro can be purchased directly from MPI Software Technology, Inc. For more information, visit their web site: www.mpi-softtech.com

Q. What are the advantages and disadvantages of the three communicators that FLUENT supports?

A. The advantages and disadvantages are summarized in the following table:

Q. What is the difference between a "hosts" file and an "rhosts" file?

A. A hosts file is a text document that contains the names of all the computers (and processors) on the network cluster on which you want to run FLUENT. An rhosts file is the same, but is only required when you are using the RSHD message passing software and you have concerns about security. Note that there are restrictions regarding the naming, storage, and configuration of the rhosts file. These are described in the Security section of the RSHD installation guide, which can be found at: www.FLUENT.com/support/installation/winfaq/rshd.htm

Q. What does it mean to "spawn nodes"?

A. A node is another name for a processor. To spawn means to initiate a process. A parallel-processing system divides a complex problem into smaller component tasks. The tasks are then assigned to the available nodes. Spawning divides the computational workload into many tasks, and assigns the tasks to the individual nodes. When the RSHD message- passing software is used, compute nodes on the network can be selected by opening the Configure panel from the Parallel/Network menu item in the FLUENT GUI.

Q. How do I configure FLUENT to run across a network using remote processors? A. The following steps outline the procedure for configuring FLUENT network parallel:

1. Install FLUENT 6.1. (It is only necessary to install FLUENT on one of the computers on the network.)

2. Set the FLUENT.INC environment variables.

  • Click on the Start Menu, Programs, Fluent Inc Products, Fluent 6.1, Set Environment. This will open a panel with default environment settings.Click on Yes to modify the settings to the values shown in the panel.
  • In order for all of the computers on the cluster to "see" these necessary environment variables, you have to change the local path to a network path. To do this, click on Start, Settings, Control Panel, System. Choose the Advanced Tab, and then choose Environment Variables. Edit the FLUENT_INC and Path variables using the network path format as shown in the panel below (where computer1 represents the name of the computer where FLUENT is installed).

3. Share the FLUENT.INC directory.

  • Right-click on the FLUENT.INC directory and choose Sharing from the menu.
  • Click "Share this folder"
  • Click OK.

4. Install the message passing software, making use of the comprehensive instruction guides available on the Fluent web site:

5. Create a host file (required if you are using MPICH or MPI/Pro).

To create a host file, use a plain text editor, such as Notepad. The file can have any name you wish as long as it does not include any spaces. Save the host file to a working directory.

Below is an example of a host file that uses two computers in the cluster. computer1 has two processors, and must be listed twice if both processors are to be used, and computer2 has one processor.

Q. Once I have set up FLUENT and the necessary communication software, how do I start FLUENT to run in network parallel mode?

A. Open up a command prompt and CD to your working directory.

Type: FLUENT version version -tnprocs -pcomm -path\\machine\share -cnf=host.txt

Where
version specifies the version of FLUENT you want to run (2d, 3d, 2ddp, or 3ddp);

-tnprocs specifies the number of processors you want to use (-t2 indicates that you want to use two processors);

-pcomm specifies the network communicator you are using (see the table below for the correct -pcomm command based on your installed software);

\\machine specifies the name of the computer on which FLUENT is installed, and \share is the name assigned when the directory FLUENT.INC was shared (for example, in part 2 of the previous question, machine is computer1 and share is fluent.inc);

hosts.txt specifies the name of the hosts file listing the computers on which you plan to run FLUENT parallel. If you are not in the directory where the hosts file is located you must specify the complete path to this file.

Sound confusing? It isn't, once you go through the process. All of these steps (and more details) are available in the following comprehensive instruction guide to setting up FLUENT network parallel: www.FLUENT.com/support/installation/winfaq/fluentpar61.htm

If you have questions or encounter any difficulties with the setup, please don't hesitate to contact Installation Support at installsup@fluent.com for assistance.


Previous Article FluentNEWS Next Article