rspserver1
Rserpool server (pe) for multiple example services
Usage
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]
Overview
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.
Releases
Unchanged in 2 releases since Debian 12 (Bookworm).