server
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.
server
provides the following services:
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.
-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
server
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.