admin:daemon [Promethee]

Computing back-end installation guide

This component is to be installed on all computing resources you want to merge in the Promethee environment. Unlike the front-end, no [R] math. engine is required on this side of the infrastructure.

Core installation

The back-end core installation is made using the dedicated installer archive : prometheed-XXX-1.X-x.zip, to be decompressed from a command from a shell (e.g. DOS or bash) or using an integrated desktop program.

Configuration

Startup scripts of back-end service

The startup of the back-end service is basically done by hand, using the prometheed.sh / prometheed.bat script. A more complete script, adapted for multi-CPU usage is also available for bash environment : prometheed_start.sh (and prometheed_stop.sh), which accepts an arbitrary number of CPU as first argument, and properly manage shutdown of its subprocesses.It is also possible to use these scripts for automatic service startup:
  • on Unix / Linux: create a daemon startup script (in /etc/init.d directory for example) calling prometheed.sh or prometheed_start.sh :
    #!/bin/sh
     
    echo " * Launching PROMETHEE daemon ..."
     
    PROMETHEE_HOME=/opt/Promethee
     
    . /home/user/.bash_profile
    start-stop-daemon --start --chuid user --exec "$PROMETHEE_HOME/prometheed_start.sh 4" --chdir $PROMETHEE_HOME  > /var/log/prometheed.log 2>&1 &
    echo " * PROMETHEE daemon running ..."
     
    exit 0
    fi
  • on Windows: you can use the SC.exe, to record prometheed.bat as a service: sc.exe create “Prometheed” binPath= “C:\Program Files\Promethee\prometheed.bat” (pay attention to keep space between binpath= and C:\… )

Network access & proxy

To enable network connection between this back-end and all user front-end interfaces, the following firewall rules have to be checked:
  • for computing front-end discovery feature: open 8001-8004 outgoing UDP ports,
  • for computing back-end data transfer: all incoming, or specified in calculator.xml TCP ports (see below).

Configuration file

The Promethee daemon configuration XML file (say calculator.xml) holds:
  • the list of hosts and network port allowed for users to run calculations,
  • the list of codes available on the server,
  • spool directory path,
  • [optional] TCP port used for front-end file transfer.
Each HOST element contains:
  • the network name of the user computer where graphical interface is installed (IP address or hostname), possibly a multicast IP (in this case, needs special configuration on front-end side),
  • a port1) of this computer, waiting for Promethee service (tipically 8001 8002, …), matching the front-end configuration,
Each CODE elements contain:
  • the name of the code to launch,
  • the shell command used to launch code:
    • Using shell alias commands, even well configured in environment is highly discouraged, prefer a complete path call: /path/to/my/startup/script.sh instead
    • It is often preferable to modify the startup script code to adapt it to Prometheus. For example, applying a dos2unix on the input files is often necessary to limit the problems of portability of data files
  • [optionally] a plugin for better support of code startup, error, kill or running status report.
Then, the calculator.xml file lists all hosts and codes in this format:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<CALCULATOR spool="/tmp" port="10000" >
   <HOST name="123.456.780" port="8001" />
   <HOST name="123.456.780" port="8002" />
 
   <HOST name="123.456.781" port="8001" />
   <HOST name="123.456.781" port="8002" />
 
   <HOST name="123.456.782" port="8001" />
   <HOST name="123.456.782" port="8002" />
   <HOST name="123.456.782" port="8003" />
 
   <CODE command="cristal.v1.2 -p" name="Cristal_1.2" />
 
   <CODE command="/opt/Promethee/scripts/mcnp5" name="MCNP"
         cplugin="file:./plugins/calc/MCNP.cplugin.jar"/>
</CALCULATOR>

Code wrapper installation

Besides the core installation, Promethee may integrate some code wrapper to extend the usage of the code installed on this daemon host.
On the back-end side, this optional extension (a .cplugin.jar file) provides dedicated methods to launch, stop, and report progress of a given calculation with a code.
To activate a code plugin in a running Promethee back-end instance:
  • put the .cplugin.jar (if available) file inside the Promethee installation path, in plugins/calc directory,
    Note: or just unzip the plugin archive within Promethee installation path
  • update the calculator XML file (as described in previous chapter): add
    <CODE name="CODENAME" cplugin="file:./plugins/calc/CODENAME.cplugin.jar" command="/PATH/TO/CODE/SCRIPT" />
    line (replacing CODENAME) in the Promethee installation path, calculator.xml file, inside <calculator> tag,
  • wait 5 seconds for automatic update of configuration.
Note: of course, besides this activation in the back-end, the front-end needs to be configured in a consistent manner.

FAQ

Is Promethee computing back-end suitable for scientific cloud computing ?

What are the limitations of the "free" version ?

How can I integrate Promethee in the queueing system of my cluster ?

What operating systems are supported by this back-end ?

1) note that the same network name can be used in different HOST elements, if the port varies
© IRSN - All right reserved - Legal information