SuperNEC

Parallel MoM User Reference Manual

 

Version 2.7

Document Status: Release



1         Introduction

This user reference manual gives an overview of the parallel version of SNEC, detailing the installation procedure, giving a brief tutorial and summarising the limitations of the package. The program interface (the commands used to drive the program) is identical to the sequential version, and thus the user is referred to that document for the program commands.

The parallel version of SuperNEC (SNEC) is an object-oriented program based on the FORTRAN program NEC-2.

The advantage of being able to operate in parallel is two fold. First, there is a reduction in the time taken to solve a problem. Secondly, a network of processors generally has more memory at its disposal than a single processor, thus much larger problems may be solved on a network of processors.

SNEC has been run on the distributed memory, parallel IBM-SP2 machine located at Southampton University. The principle problem analysed on this occasion was a DC-3 at 90 MHz. This structure was modelled using 5500 segments and generated an interaction matrix of 240 Mbytes. The simulation requested 3 radiation pattern cuts at 2 degree increments (181 points) and a single 3-D pattern in 4 degree theta and phi increments (4186 points). The run time on 12 processors was about 19 minutes.

The largest problem tackled with this software to date, was the simulation of the DC-3 at 160 MHz. Solving this problem on a sequential machine would require 2.3Gbytes of memory and take about 4 days of computer time to simulate. Distributing the problem onto 21 processors, reduces the memory per processor requirement to 110 Mbytes and a solution was found in 5.3 hours.

This manual is targeted at a network of Windows-NT machines. It is possible to connect UNIX workstations to the virtual machine as well, however, this requires that the SNEC executables be specially compiled for these platforms.

1.1       A Brief History of Parallel SuperNEC

In 1989 the FORTRAN program, NEC-2, was modified to operate in parallel on a network of transputers. During this project, all the numerically intensive routines were re-written to operate in parallel. The performance of the parallel algorithms was very satisfactory and it was clear that parallel processing was a simple means of reducing the time required to simulate a structure. As explained in the history of SNEC in the sequential manual, the original FORTRAN code was found to be difficult to modify. The code was therefore redesigned and re-implemented in C++. The result of this exercise was a computer code that was relatively easy to extend and maintain. One of the extensions made to the C++ code was parallel execution.

The original parallel code was implemented on a network of transputers. Transputer technology has, however, severe limitations. The most overbearing being that a transputer machine is not an all-purpose machine and hence is not widely available (when compared to workstations). Thus restricting SNEC to a network of transputers was not a good long term prospect for the program.

Currently there are a number of communications libraries that allow processors to communicate with one another over a local area network. One of these libraries is PVM (Parallel Virtual Machine). This library allows one to build up a parallel machine using a heterogeneous collection of existing processors. For example, one could connect a number of SUN 10’s and RISC 6000 machines to form a fairly powerful parallel machine.

SNEC was freed from the limitations of the transputer by using PVM to implement the required communications. Subsequently, SNEC has been adapted to incorporate a hybrid MOM-UTD method, MBPE, fast iterative solvers and many other features. These features are in prototype form and will be added to the core program in due course.

2         Installing Parallel SuperNEC

This manual describes the process required to get the parallel SuperNEC running on Windows-NT. It assumes that you have installed the software from the SuperNEC CD.

It is suggested that you follow the process described in this manual with the aim of getting a two-processor parallel machine up and running. Once you have achieved this, it is relatively easy to set up the other machines.

The set up procedure involves the following :

1.        Setting your NT user rights

2.        Installing the TCP Services

3.        Running PVM

2.1       Setting your NT user rights

NOTE : This is NOT applicable to  Windows 2000 users.

For set-up purposes, you are required to have administrator rights on the machine. If you do not, then you must log in as administrator.

Open the “User Manager”. This is done by going to Start | Programs | Administrative Tools | User Manager.

2.1.1        Ensure that “Power Users” are able to log on as a service

Click on the Policies | User rights menu item.

Tick the “Show Advanced User Rights” check box.

Select the right “Log on as a service” from the top “Right” pull down menu at the top of the window.

Ensure that Power Users exists in the list box labelled “Grant To”. If it does not then click on the “Add” button and add Power Users. Then close the “User Rights Policy” dialog box.

2.1.2        Make yourself a user

Ensure that you are a user on this machine and that you are a member of the “Power Users” group.

This process must be repeated on all machines that you wish to include in the network.

2.2       Installing the TCP Services

Open a DOS box and change directory to INSTALL_DIR\pvm\atrls (where the INSTALL_DIR is the directory in which you installed SuperNEC, e.g., c:\snec).

Type atrls install

Go to the Control Panel (Start | Settings | Control Panel) and open the “Ataman TCP R.L. Services”.

Click on the “Users” tab :

Click on the “Add User” button :

Fill in the following :

1.        User Name : The user name that you use to log onto your computer.

2.        NT User Name : Also set to the user name that you use to log onto your computer.

3.        NT User Domain : Type in a dot (.)

4.        Home directory : c:\temp

5.        Interactive Cmd Processor : Leave blank

6.        Batch Cmd Processor: Leave blank

7.        Environment File: Leave blank

8.        NT Passwork : Enter the same password that you use to log onto this machine.

9.        Host Equivalence List : In this edit box you must type in the IP addresses (or host names) of all machines that will make up the parallel machine (separated by commas). If you are not concerned about which machines may access the computer, you may type *.*.*.* into the host equivalent box. The star acts as a wild string, and therefore entering the above string will allow all computers to link to your computer. If the machines you wish to add to the parallel machine have common numbers in their IP addresses, then you may hard code part of the IP address and use the wild string to designate the variable part. For example, assume the IP addresses of the machines you have are 146.141.16.89, 146.141.16.101 and 146.141.16.32, then you can enter 146.141.16.* as the host equivalent list. This will allow all three of the above machines to access your computer. In addition all other machines that have the same first 3 numbers in their IP address will also be able to access your computer (assuming you use the correct login name and password for these machines).

The dialog box should look something like this :

Push OK to accept the data.

Each user wanting to use the Parallel SuperNEC program must be added as users of the Ataman service.

Once you have finished entering all users, you must type “atrls start” at the command prompt (in the same directory as you typed “atrls install”).

This process must be repeated on all machines that you want to add to the network.

2.2.1        Checking the installation of the TCP Services

Once you have set yourself up as a user on all the machines you wish to include in the network and set up yourself as a TCP user, then perform the following test.

Let us assume that you have two computers set-up. I will assume that your user name is fred and that the (DNS) names of the two machines are Maxwell and Bohr. I will assume that you are logged in on the Maxwell machine.

1.        Open a DOS box

2.        Type “ping bohr” at the command line. Ensure that you get text that looks like the following:

Pinging bohr.ee.wits.ac.za [146.141.16.104] with 32 bytes of data:

 

Reply from 146.141.16.104: bytes=32 time<10ms TTL=128

Reply from 146.141.16.104: bytes=32 time<10ms TTL=128

Reply from 146.141.16.104: bytes=32 time<10ms TTL=128

Reply from 146.141.16.104: bytes=32 time<10ms TTL=128

 

If you get the text

Bad IP address bohr

then your domain name server is unable to locate your machine and you must ask your network supervisor to fix the problem.

If this command does not result in a reply from the bohr machine then you must request help from the network supervisor.

DO NOT GO PASSED THIS POINT UNTIL YOU GET THIS TO WORK

If the ping test is successful, then try the following :

Type “rsh    Maxwell    -l    fred     -n dir” at the command line (without the quotes).

You should get a directory listing of the c:\temp directory on your own machine (Maxwell).

If you do not then check that you have followed the above instructions properly. If this still fails then read the document called userman.doc in the INSTALL_DIR\pvm\atrls directory.

Try this same test on the bohr machine. i.e type “rsh   bohr       -l fred      -n dir” at the command line of the machine named bohr.

DO NOT GO PASSED THIS POINT UNTIL YOU GET THIS TO WORK

Then try the following :

Type “rsh    bohr    –l fred    –n dir” at the command line on the Maxwell machine (without the quotes).

You should get a directory listing of the c:\temp directory on the machine named bohr.

If you do not then check that you have followed the above instructions properly. If this still fails then read the document called userman.doc in the INSTALL_DIR\pvm\atrls directory.

DO NOT GO PASSED THIS POINT UNTIL YOU GET THIS TO WORK

Type the following at the command line

 “rsh       bohr       –n dir” at the command line, without the quotes.

Again you should get a directory listing of the temp directory on the bohr machine.

This completes the installation of the TCP services.

DO NOT GO PASSED THIS POINT UNTIL YOU GET THIS TO WORK

2.3       Checking the Installation of PVM

2.3.1        Checking the registry settings

PVM requires three variables to be set in the registry. You can check that they are correct by doing the following (this is not really necessary as it should have been done when you installed SuperNEC).

1.        Open a DOS box.

2.        Type “regedit” at the command prompt, this opens a window that looks like :

3.