RspServer(1)

๐Ÿ’– RspServer(1) โ€” General Commands Manual โœจ

okay bestie, gather round, because this one is a whole menu of services and I need you to stay with me ๐Ÿซถ


๐ŸŒธ NAME ๐ŸŒธ

rspserver โ€” the RSerPool Server (PE) for multiple example services. yes that's Pool Element energy, and yes she contains multitudes ๐Ÿ’…


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

so first up, the general "run it as a pool element" form:

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]

then the CalcApp era:

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]

CharGen mode, obviously:

rspserver [-chargen] [-chargenmaxthreads=threads]

the lil one-liners:

rspserver [-daytime]
rspserver [-discard]
rspserver [-echo]

Fractal (she's giving chaos with failover):

rspserver [-fractal] [-fgpcookiemaxpackets=messages]
          [-fgpcookiemaxtime=milliseconds] [-fgpfailureafter=messages]
          [-fgpmaxthreads=threads] [-fgptestmode]
          [-fgptransmittimeout=milliseconds]

PingPong, the classic:

rspserver [-pingpong] [-pppfailureafter=messages]
          [-pppmaxthreads=threads]

and finally Scripting, aka the powerful one, handle with care:

rspserver [-scripting] [-sskeyring=keyring] [-sstrustdb=trust_db]
          [-sscachedirectory=directory] [-sscachemaxentries=entries]
          [-sscachemaxsize=kibibytes] [-sskeepaliveinterval=milliseconds]
          [-sskeepalivetimeout=milliseconds] [-sskeeptempdirs]
          [-ssmaxthreads=threads] [-sstransmittimeout=milliseconds]

๐ŸŒˆ DESCRIPTION ๐ŸŒˆ

okay so rspserver is an example Reliable Server Pooling (RSerPool) pool element (PE) that provides multiple services. here's the tea: on startup you have to pick exactly one service using the command-line parameters. you want more than one running? run multiple instances, bestie. it's giving "buy one get one" except you just start another process ๐Ÿ’…

rspserver provides the following services:

  • CalcApp โ€” a calculation application model for performance tests. if you want the receipts (aka more information), the doc lives at https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-16326/Dre2006_final.pdf.
  • CharGen โ€” sending as much character data as possible. just. so many characters. an absolute flood ๐ŸŒŠ
  • Daytime โ€” sending back the current time of day. she's clocking in โฐ
  • Discard โ€” discarding incoming data. no thoughts, head empty, data gone ๐Ÿ’€
  • Echo โ€” echoing back incoming data. whatever you say, she says back. mirror behavior fr fr ๐Ÿชž
  • Fractal โ€” a fractal generator with cookie-based failover ๐Ÿชโœจ
  • PingPong โ€” a 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! ๐Ÿšจ like, genuinely, do not skip that part, it's not a vibe, it's a warning โš ๏ธ

to be continuedโ€ฆ ๐Ÿฆ‹ (part 2 incoming, don't go anywhere)

โœจ ARGUMENTS โœจ

okay bestie, here come the options โ€” all of them, no skips, we're eating the whole plate ๐Ÿ“

๐ŸŒธ Common Pool Element Parameters

  • -local=address:port,address,... โ€” sets the local endpoint address(es). yes plural, you can do a whole little list of them ๐Ÿ’…
  • -asapannounce=address:port|auto|off โ€” sets the multicast address and port that the ASAP instance listens on for ASAP Server Announces ๐Ÿ‘€
  • -identifier=PE_identifier โ€” sets a fixed PE identifier. handle with care!! ๐Ÿšจ
  • -policy=policy_specification โ€” sets the pool policy plus its parameters (default is Round Robin). the supported policy specs are:
    • 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 you get the default setting, which is the service-specific default ๐ŸŽ€
  • -quiet โ€” do not print startup and shutdown messages. shhh. silence is golden fr fr ๐Ÿคซ
  • -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 โ€” yes, decimals, we love precision โœจ
  • -uptime=seconds โ€” after negative exponential randomized uptime, the PE service goes down for a configured downtime. after that, it comes up again. this one's for testing the failure handling procedures ๐Ÿงช
  • -downtime=seconds โ€” after negative exponential randomized downtime, the PE service comes up again. also for testing the failure handling procedures ๐Ÿงช

๐Ÿ’œ Logging Parameters

  • -logappend=filename โ€” write logging output to a file (default is stdout); output will be appended to the 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); the given file will be overwritten โš ๏ธ (yes, overwritten, not appended, be careful bestie)
  • -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 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 to write โœ๏ธ
    • -capvector=vector_file โ€” sets the name of vector output file to write โœ๏ธ
  • -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 the given number of Data messages ๐Ÿช
    • -fgpcookiemaxtime=milliseconds โ€” send cookie after the 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 a 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. so basically: env vars in, status reports out ๐Ÿ’Œ


โญ DIAGNOSTICS

if loglevel>0, log messages will be printed to stdout or into a specified log file. turn it up and watch the tea spill ๐Ÿซ–


๐Ÿ’– 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/

okay bestie that's the whole page, you made it, icon behavior honestly ๐Ÿ‘‘๐Ÿ’… this one's from RSerPool Server, edition September 19, 2025, and it lives in section RspServer(1) โ€” go forth and configure something iconic, no cap ๐Ÿฆ‹โœจ

๐Ÿ“ฆ where this page comes from