symping

This command sends workload to a cluster to test and verify that IBM® Spectrum Symphony components are working and responsive.

Synopsis

symping
[-f configuration_file]
[-u user_name]
[-x password]
[-a application_name]
[-s session_type ]
[-l [summary_file]]
[-T taskoverhead]
[-i input_msg_size_in_bytes]
[-o output_msg_size_in_bytes]
[-r task_processing_time_in_milliseconds]
[-c common_data_size_in_bytes]
[-m number_of_tasks_per_testrun]
[-n number_of_testruns]
[-t client_type]
[-g session_tag]
[-k task_tag]
[-d ] [-z ] [-p ][-j ]
symping -h | -V

Description

Use the symping IBM Spectrum Symphony client to send test workload to check that the cluster is working. You can also use this client to send different types of workload.

Without any options, symping tests for a complete workload cycle. In this type of test, workload is run through the cluster with full recoverability enabled (session and history). This type of run provides minimum, maximum, and average full trip times. The average processing time averaged across all hosts is also displayed.

The default complete workload cycle configuration is the following:
  • number of sessions: 1
  • number of tasks: 20
  • session type: RecoverableAllHistoricalData
  • task processing time: 50 milliseconds
  • input message size: 64 bytes
  • output message size: 128 bytes
The symping IBM Spectrum Symphony client is part of the IBM Spectrum Symphony diagnostic application. Application components are installed with the IBM Spectrum Symphony Developer Edition, and with IBM Spectrum Symphony. The diagnostic application is registered on all compute hosts in the /SymTesting/Symping732 consumer. The diagnostic application symping is composed of the following:
  • A service: sympingservice. The service sleeps for the task processing time. The service is always preloaded and holds one slot in the ComputeHosts group, even when idle. Use the -r and -o options to change the task processing time or the output message size.
  • An application profile: symping732.xml.
  • Location of symping executables and configuration:
    • Windows: %SOAM_HOME%\version\w2k3_x64-vc7-psdk\bin
    • Linux®: Located in the architecture-specific directory. For example, $SOAM_HOME/version/linux2.6-glibc2.3-x86_64 /bin
-h
Prints command usage to stdout and exits.
-V
Prints product version to stdout and exits.

symping options

-f configuration_file
Path and configuration file to use. The configuration file must be accessible from the machine on which the symping client is running.

Use this option to specify options in a configuration file instead of specifying them on the command line. If options are specified on the command line and a configuration file is specified, command-line options override those in the configuration file.

You can find a sample configuration file symping.conf in the bin directory in which the symping client is located.

-u user_name
Not applicable to IBM Spectrum Symphony Developer Edition.

Specifies the name of the user to connect to IBM Spectrum Symphony for this command. The user must have access to the consumer to which the application is registered.

. Specify the -u and -x options when running the symping command; otherwise, by default, command uses Admin as both the username and password.

If you are already logged on to IBM Spectrum Symphony using soamlogon, for this command, only the username specified here overrides the username entered in soamlogon.

-x password
Not applicable to IBM Spectrum Symphony Developer Edition.

Specifies the user password to connect to IBM Spectrum Symphony for this command.

. Specify the -u and -x options when running the symping command; otherwise, by default, command uses Admin as both the username and password.

If you are already logged on to IBM Spectrum Symphony using soamlogon, for this command only the password specified here overrides the password entered in soamlogon.

-a application_name
The name of the application that symping submits the workload to. The application name is the same as it appears in the application profile.
To run symping, the symping service binary must be configured in the application profile (it is configured and deployed out of box). If you have a mixed cluster, refer to your installation guide to ensure you have made the necessary modifications for symping to run.
Important: The application name should have symping in its name. If you copy and rename this application, keep "symping" in the file name so that you can distinguish the applications related to the Symping client from those that are not.

Enclose the application name in double quotation marks (" ") if it contains spaces. Precede the application name with two dashes (--) if it starts with a dash.

-s session_type
Specifies the type of the session to create. The session type is coded in the symping client and is indicated in the application profile. Including history and recoverability increases the task and session overhead but more likely simulates a production environment.
Possible session types are as follows:
  • RecoverableAllHistoricalData: Session is recoverable and task and session history are set to "All". This is the default session type when you run symping without any options.
  • RecoverableNoHistoricalData: Session is recoverable but no history (session or task) is kept.
  • UnrecoverableAllHistoricalData: Session is unrecoverable and no history (session or task) is kept.
  • UnrecoverableNoHistoricalData: Session is unrecoverable and no host history (task or session) is kept. This is the default session type if you choose to run symping configured for task overhead with the -T taskoverhead option.
-l [summary_file]
If you specify -l without a summary file name, creates a summary file for symping output in the directory in which symping is run with the name symping.summary.date_stamp.hhmmss.

If you specify the path and name to assign to the summary file, generates output in the specified summary file. If the summary file exists, appends output to the existing summary file.

-T taskoverhead
Optimizes the symping configuration to calculate task overhead: the IBM Spectrum Symphony overhead for processing a single task.
The default configuration is the following:
  • Number of sessions: 1
  • Number of tasks: 20
  • Session type: UnrecoverableNoHistoricalData
  • Task processing time: 0 milliseconds
  • Input message size: 1024 bytes
  • Output message size: 1024 bytes
  • Common data: 0 bytes

Results include overhead for longest and shortest task, average overhead, and average processing time.

-i input_msg_size_in_bytes
Specifies the size of input messages for all tasks in the session, in bytes.

If you do not specify this option, the input message size for tasks is 64 bytes.

-o output_msg_size_in_bytes
Specifies the size of all output messages for all tasks in the session, in bytes.

If you do not specify this option, the output message size for tasks is 128 bytes.

-r task_processing_time_in_milliseconds
Specifies how long each task in the session runs, in milliseconds.

Task processing time is a time duration. Task processing time is the pure task processing time, without overhead. It is the time spent on the onInvoke() call. The clock is started when SIM calls onInvoke() in the service code. The clock ends when the onInvoke() returns.If you do not specify the task processing time, tasks run for 50 milliseconds.

-c common_data_size_in_bytes
Specifies the size of the common data that is associated with the session and passed from the client to the service, in bytes.

If you do not specify the size of common data, there is no common data passed from the client application to the service.

-m number_of_tasks_per_testrun
Specifies the number of tasks that are sent per test run.

If you do not specify the number of tasks, the client application creates one session with 20 tasks.

-n number_of_testruns
Specifies the number of test runs that are created. A test run indicates sending input and retrieving output.

For example, in one test run with 10 tasks, 1 session is created and 10 tasks sent.

In 2 test runs with 10 tasks, 1 session is created, 10 tasks are sent and output retrieved, then 10 more tasks are sent and output retrieved.

If you do not specify the number of test runs, the client application creates 1 test run.

-t client_type
Specifies whether tasks are sent and output retrieved synchronously or asynchronously. Valid values are sync and async.

If you do not specify the client type, tasks are sent and output retrieved asynchronously.

-g session_tag
Adds the specified session tag to any session created by symping. A session tag that is shared among sessions provides the ability to query or control these related sessions with a single action.
-k task_tag
Adds the specified task tag to all tasks submitted with symping. The task tag can later be used to filter only those tasks that share the given tag.
-d
Does not display detailed output for each task.

If you do not use this option, detailed output for each task is displayed.

-z
Specifies to consume actual CPU cycles on compute hosts.

If you do not specify this option, the service sleeps for the specified task processing time, not consuming actual CPUs on the compute host.

-p
IBM Spectrum Symphony Developer Edition only.

Displays compute host status in IBM Spectrum Symphony Developer Edition.

-j
Generates a service log file on compute hosts on which the symping service runs. You can retrieve and view the log file with the cluster management console.
The log is written to the following locations:
  • Windows: %SOAM_HOME%\work\application_name\session_ID
  • Linux: $SOAM_HOME/work/application_name/session_ID

The log file is named according to session and task IDs: sessionID.taskID.

Without this option, no service log is generated.

Output

The following are definitions for terms used in the symping output:
Task overhead
Duration. IBM Spectrum Symphony overhead for processing a single task. It is calculated as the task roundtrip minus the task processing
Task processing
Duration.Pure task processing time (no overhead): time spent on the service onInvoke() call. The clock is started when SIM calls onInvoke() in the service code. The clock ends when onInvoke() returns.
Task roundtrip
Duration. Time for a full task cycle (overhead + processing) of a single task. It is the time from the send task input call to the return of the task output.

Task roundtrip is defined as the task output received minus task input sent.

Total task roundtrip
Duration. Time for a full task cycle (overhead + processing) for all tasks in a session. It is the time from the send task input call to the return of the task output.

Total task roundtrip is defined as the last task output received minus first task input sent,

Test roundtrip
Duration. Clock is started when the user runs the symping command. Clock ends when symping returns with the client application's results and returns control to user. This time duration includes initialization, connection time, all phases before session creation time.

Examples

Test for a complete workload cycle

symping

Test for task overhead

Use the -T taskoverhead option to optimize configuration to calculate system overhead.

symping -T taskoverhead

Create a summary file with symping output

Use the -l option to generate a summary file with symping output.

symping -l

Generate a service log file on compute hosts

Use the -j option to generate a service log file on compute hosts.

symping -j

Run one session with 10 tasks

symping -m 10

Run 2 sessions, 1000 tasks each, 1 millisecond in length

To run more than one session, you need to run symping twice

symping -m 1000 -r 1

symping -m 1000 -r 1

Run 30 tasks, keep the session open, then run 30 more tasks

symping -m 30 -n 2

Use common data of 150 bytes, input messages of 20 bytes, output messages of 20 bytes

symping -c 150 -i 20 -o 20

Run one session with 10 tasks, 1 millisecond in length, with common data of 150 bytes, and input and output messages of 20 bytes

symping -m 10 -r 1 -c 150 -i 20 -o 20