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=scalae_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/