08.06.2013 Views

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

19. <strong>Bernese</strong> Processing Engine (BPE)<br />

possible to divide up the observation files into groups and have different computers working<br />

on different groups of files. Improvements in speed can be achieved even by running two<br />

groups of observation files on the same computer. This is because while one group is using<br />

the disk I/O of the computer, the other can use the CPU and vice versa.<br />

Parallel PCFs require pairs of scripts that work together in conjunction: a master and a<br />

slave script. The first script of each such pair is the master script and its job is usually<br />

(a) to create a list of files (e.g., observation files) to be processed one-by-one in parallel or<br />

(b) to divide up a list of files that are to be processed in groups. In both cases a control<br />

file is created. The number of lines in this file is equal to the number of slaves that should<br />

run in parallel. Each line contains the information required by the corresponding slave. In<br />

case (a) each line just contains the name of the file that should be processed. In case (b) it<br />

may contain all file names belonging to the group or a name of the file that contains the<br />

list of files belonging to the group. Within the master script the name of the control file is<br />

accessible through the variable CONTROL FILE. The BPE defines the name of the control file<br />

automatically and it ensures that the name is unique.<br />

The second script of the pair is the slave script which actually does the work. The slave<br />

script is executed once for each line in the control file. Each slave script knows exactly one<br />

line of the control file. The content of this line is given in the variable CONTROL FILE LINE.<br />

Let us assume that among the scripts in Figure 19.5 we want to have such a master-andslave<br />

pair: The script <strong>GPS</strong>ESTAP should be the master preparing parallel runs of <strong>GPS</strong>EST,<br />

the script <strong>GPS</strong>EST P should be the corresponding slave executing <strong>GPS</strong>EST. The script is<br />

defined to be a “slave” by specifying a string PARALLEL in the field “Special” in the second<br />

PCF-panel (Figure 19.6). In addition the PID of the master script must be specified in field<br />

“Master”. In our example the script 101 is the master of the script 102. The field “Filename”<br />

is currently not used but the menu program requires a non-blank string here due to the<br />

compatibility with the previous BPE version. The corresponding part of the second section<br />

in the PCF file then looks like:<br />

PID USER PASSWORD PARAM1 PARAM2 PARAM3 PARAM4 PARAM5 PARAM6 ...<br />

3** 12********** 8******* 8******* 8******* 8******* 8******* 8******* 8******* ...<br />

101 $101<br />

102 PARALLEL $101<br />

See Section 19.6.4 for parallel script examples. Perl utilities are provided with <strong>Version</strong> <strong>5.0</strong> to<br />

facilitate the writing of parallel user scripts. See Section 19.6.5.2 for more details or inspect<br />

the example scripts delivered with the software.<br />

19.5.3 Special Actions SKIP and NEXTJOB<br />

In addition to PARALLEL the user may specify two other special actions in the panel displayed<br />

in Figure 19.6. If action SKIP is specified, the script will not execute. In this way scripts<br />

may be disabled without having to renumber the ”Wait for”-PIDs in the PCF. The second<br />

section in the PCF may then look like:<br />

Page 392 AIUB

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!