RspServer(1)

NAME
rspserver - RSerPool Server (PE) for multiple example services

SYNOPSIS
rspserver [-local=address:port,address,...] [-asapannounce=address:port] [-identifier=PE_identifier] [-policy=policy_specification] [-poolhandle=pool_handle] [-quiet] [-registrar=address:port] [-rereginterval=milliseconds] [-runtime=milliseconds] [-uptime=seconds] [-downtime=seconds] [-logcolor=on|off] [-logappend=filename] [-logfile=filename] [-loglevel=0-9] [-cspserver=address:port] [-cspinterval=milliseconds]
rspserver [-calcapp] [-capcapacity=calculations_per_second] [-capcleanshutdownprobability=probability] [-capcookiemaxcalculations=calculations] [-capcookiemaxtime=seconds] [-capkeepalivetransmissioninterval=milliseconds] [-capkeepalivetimeoutinterval=milliseconds] [-capmaxjobs=max_jobs] [-capobject=name] [-capscalar=scalar_file] [-capvector=vector_file]
rspserver [-chargen] [-chargenmaxthreads=threads]
rspserver [-daytime]
rspserver [-discard]
rspserver [-echo]
rspserver [-fractal] [-fgpcookiemaxpackets=messages] [-fgpcookiemaxtime=milliseconds] [-fgpfailureafter=messages] [-fgpmaxthreads=threads] [-fgptestmode] [-fgptransmittimeout=milliseconds]
rspserver [-pingpong] [-pppfailureafter=messages] [-pppmaxthreads=threads]
rspserver [-scripting] [-sskeyring=keyring] [-sstrustdb=trust_db] [-sscachedirectory=directory] [-sscachemaxentries=entries] [-sscachemaxsize=kibibytes] [-sskeepaliveinterval=milliseconds] [-sskeepalivetimeout=milliseconds] [-sskeeptempdirs] [-ssmaxthreads=threads] [-sstransmittimeout=milliseconds]

DESCRIPTION
rspserver is an example Reliable Server Pooling (RSerPool) pool element (PE) that provides multiple services. Upon startup, one service has to be selected by the command-line parameters. To start multiple services, run multiple instances. rspserver provides the following services:

CalcApp
    Calculation application model for performance tests. See https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-16326/Dre2006_final.pdf for more information.

CharGen
    Sending as much character data as possible.

Daytime
    Sending back current time of day.

Discard
    Discarding incoming data.

Echo
    Echoing back incoming data.

Fractal
    Fractal generator with cookie-based failover.

PingPong
    Simple request-response example using cookies for failover.

Scripting
    Remote execution of scripts with upload/download of input/output data. Could for example be used for distributing simulation runs. Take care of security when using this service!

ARGUMENTS
The following options are available:

Common Pool Element Parameters:

    -local=address:port,address,...
        Sets the local endpoint address(es).

    -asapannounce=address:port|auto|off
        Sets the multicast address and port the ASAP instance listens for ASAP Server Announces on.

    -identifier=PE_identifier
        Sets a fixed PE identifier. Handle with care!

    -policy=policy_specification
        Sets the pool policy and its parameters (default is Round Robin). Supported policy specifications:

        RoundRobin (default policy)

        WeightedRoundRobin:weight

        Random

        WeightedRandom:weight

        LeastUsed

        LeastUsedDegradation:increment

        PriorityLeastUsed:increment

        LeastUsedDPF:dpf_value

        Priority:priority

        ...

    -poolhandle=pool_handle
        Sets the PH to a non-default value; otherwise, the default setting is the service-specific default.

    -quiet
        Do not print startup and shutdown messages.

    -rereginterval=milliseconds
        Sets the PE's re-registration interval.

    -runtime=seconds
        After the configured number of seconds, the service is shut down. Floating-point values (e.g. 30.125) are possible.

    -uptime=seconds
        After negative exponential randomized uptime, the PE service goes down for a configured downtime. After that, it comes up again. This option can be used for testing the failure handling procedures.

    -downtime=seconds
        After negative exponential randomized downtime, the PE service comes up again. This option can be used for testing the failure handling procedures.

Logging Parameters:

    -logappend=filename
        Write logging output to a file (default is stdout); output will be appended to given file.

    -logcolor=on|off
        Turns ANSI colorization of the logging output on or off.

    -logfile=filename
        Write logging output to a file (default is stdout); given file will be overwritten.

    -loglevel=0-9
        Sets the logging verbosity from 0 (none) to 9 (very verbose). It is recommended to use at least a value of 2 to see possibly important error messages and warnings.

ASAP Protocol Parameters:

    -registrar=address:port
        Adds a static PR entry into the Registrar Table. It is possible to add multiple entries.

    -registrarannouncetimeout=milliseconds
        Sets the timeout for ASAP announces via multicast.

    -registrarconnecttimeout=milliseconds
        Sets the timeout for ASAP connection establishment.

    -registrarconnectmaxtrials=trials
        Sets the maximum number of ASAP connection establishment trials.

    -registrarrequesttimeout=milliseconds
        Sets the timeout for ASAP requests.

    -registrarresponsetimeout=milliseconds
        Sets the timeout for waiting to receive ASAP responses.

    -registrarrequestmaxtrials=trials
        Sets the maximum number of ASAP request trials.

Component Status Protocol (CSP) Parameters:

    -cspinterval=milliseconds
        Sets the interval for the CSP status updates in milliseconds. By default, the content of the environment variable CSP_INTERVAL is used. If not defined, no CSP status reports will be sent.

    -cspserver=address:port
        Sets the address of a CSP monitor server. By default, the content of the environment variable CSP_SERVER is used. If not defined, no CSP status reports will be sent.

Service Parameters:

    -calcapp
        Starts the CalcApp service.

        -capcapacity=calculations_per_second
            Sets the service capacity in calculations per second.

        -capcleanshutdownprobability=probability
            Sets the probability for sending state cookies to all sessions before shutting down.

        -capcookiemaxcalculations=calculations
            Sets the cookie interval in calculations.

        -capcookiemaxtime=seconds
            Sets the cookie interval in seconds.

        -capkeepalivetransmissioninterval=milliseconds
            Sets the keep-alive transmission interval in milliseconds.

        -capkeepalivetimeoutinterval=milliseconds
            Sets the keep-alive timeout in milliseconds.

        -capmaxjobs=max_jobs
            Sets the an upper limit for the number of simultaneous CalcApp requests.

        -capobject=name
            Sets the object name for scalar hierarchy.

        -capscalar=scalar_file
            Sets the name of vector scalar file.

        -capvector=vector_file
            Sets the name of vector output file.

    -chargen
        Starts the CharGen service.

        -chargenmaxthreads=threads
            Sets an upper limit for the number of simultaneous CharGen sessions.

    -daytime
        Starts the Daytime service.

    -discard
        Starts the Discard service.

    -echo
        Starts the Echo service.

    -fractal
        Starts the Fractal Generator service.

        -fgpcookiemaxpackets=messages
            Send cookie after given number of Data messages

        -fgpcookiemaxtime=milliseconds
            Send cookie after given number of milliseconds.

        -fgpfailureafter=messages
            After the set number of data packets, the server will terminate the connection in order to test failovers.

        -fgpmaxthreads=threads
            Sets an upper limit for the number of simultaneous Fractal Generator sessions.

        -fgptestmode
            Generate simple test pattern instead of calculating a fractal graphics (useful to conserve CPU power when debugging).

        -fgptransmittimeout=milliseconds
            Sets transmit timeout in milliseconds.

    -pingpong
        Starts the PingPong service.

        -pppfailureafter=messages
            After the set number of messages, the server will terminate the connection in order to test failovers.

        -pppmaxthreads=threads
            Sets an upper limit for the number of simultaneous PingPong sessions.

    -scripting
        Starts the Scripting service.

        -sskeyring=keyring
            The location of a GnuPG keyring to check the work packages and environments against. If a keyring is specified, only files that pass the validation are accepted.

        -sscachedirectory=directory
            Sets the environment cache directory.

        -sscachemaxentries=entries
            Sets the maximum number of environment cache entries.

        -sscachemaxsize=kibibytes
            Sets the maximum size of the environment cache in kibibytes.

        -sskeepaliveinterval=milliseconds
            Sets the keep-alive interval in milliseconds.

        -sskeepalivetimeout=milliseconds
            Sets the keep-alive timeout in milliseconds.

        -sskeeptempdirs
            Turns on keeping all temporary files for debugging. Handle with care!

        -ssmaxthreads=threads
            Sets an upper limit for the number of simultaneous sessions.

        -sstransmittimeout=milliseconds
            Sets the transmission timeout in milliseconds.

ENVIRONMENT
rspserver uses the environment variables CSP_SERVER and CSP_INTERVAL to define a CSP server to send reports to in the specified interval.

DIAGNOSTICS
If loglevel>0, log messages will be printed to stdout or into a specified log file.

SEE ALSO
For a detailed introduction to RSerPool, see:
https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-16326/Dre2006_final.pdf

Thomas Dreibholz's RSerPool Page:
https://www.nntb.no/~dreibh/rserpool/