Menu

pScheduler

pScheduler is the new replacement for perfSONAR's bwctl tool starting with perfSONAR v4.0.

GENERAL COMMAND FORMAT:

pscheduler command [ switches/args ]

TASK COMMAND FORMAT:

pscheduler task [ task-swtiches ] test [ test-switches ]

task-switches - Options that affect scheduling (how often, how many times, etc.), output format (plain text, JSON, HTML) and what host leads the test (see below).

test - What kind of test the task will do.

test-switches - Options specific to the kind of test being done.

Note that on systems with pScheduler installed, there is a shell alias called 'psc' available for convenience.

TOOL SELECTION:

The --tool switch to the task command allows specifying a tool to use in running the test:

pscheduler task --tool iperf3 throughput ...

The option can be repeated to allow any of a list of tools to run the test:

pscheduler task --tool iperf3 --tool iperf2 throughput ...

The one selected will be the first in the list that all participants have in common.

GETTING HELP:

The command-line interface will give you context-sensitive help at pretty much any point:

pscheduler --help
pscheduler task --help
pscheduler task throughput --help

 


 

bwctl to pScheduler Transition Guide

Sample bwctl commands, and the PScheduler equivalent

bwctl -c receive_host

pscheduler task throughput --dest receive_host

This will use your host as the sender, and run a 10 second iperf3 test.

bwctl -c receive_host -t 30 -i 2 -w 64M

pscheduler task throughput --dest receive_host --interval PT2S --window-size 64M --duration PT30S

This will use your host as the sender, run a 30 second test, and show output every 2 secs (instead of the default of 1 sec), and the TCP window will be 64MB.

bwctl -c receive_host -s send_host -t 30 

pscheduler task --assist send_host throughput --source send_host --dest receive_host --duration PT30S

This is very useful if you are not logged into one of the two endpoints. It runs a 30 second test from send_host to recv_host.

bwctl -L 1000 -c receive_host

pscheduler task --slip PT10M throughput --dest receive_host

By default bwctl exits if it can not get a test slot within 5 minutes. Use the -L flag for heavily used servers where you might have to wait longer.

bwctl -T iperf2 -c receive_host -s send_host -i 2 -u -b 500M

pscheduler task --tool iperf2 throughput --dest receive_host --interval 2 -u --bandwidth 500M

Use iperf2 instead of iperf2, and do a 500Mbps UDP test.

bwctl -c receive_host -T nuttcp

pscheduler task --tool nuttcp throughput --dest receive_host

run nuttcp instead of iperf3.

This will only work to another perfSONAR 4.x host. To test to a 3.x host, continue to use bwctl.

bwctl -c receive_host -s send_host -O 5 -t 20

pscheduler task --tool iperf3 throughput --omit 5 --duration PT20S --source send_host --dest receive_host

Use iperf3 instead of iperf, and omit the first 5 seconds of a 20 second test (removes TCP slowstart ramp up time)

bwctl -4 -c receive_host -s send_host

pscheduler task --assist send_host throughput --ip-version 4 --source send_host --dest receive_host

Force test to use IPv4 instead of IPv6.

Note: --assist mode only works when assist host and source or dest host are perfSONAR v4.0

Sample Latency commands

bwping -s send_host -c receive_host

pscheduler task --assist send_host rtt --source send_host --dest receive_host

run a ping from host A to host B

bwping -T owamp -s send_host-c receive_host -N 1000 -i .01

pscheduler task latency --dest receive host --packet-count 1000 --packet-interval .01

run owping from host A to host B, sending 1000 packets, spaced .01 seconds apart.

bwping -E -c www.google.com

pscheduler task rtt --dest www.google.com

run a ping to a host not running bwctld or pScheduler
Sample traceroute commands

bwtraceroute -c receive_host -s send_host

pscheduler task --assist send_host trace --source send_host --dest receive_host

run a tracetroute from host A to host B

bwtraceroute -T tracepath -c receive_host -l 8192 -s send_host

pscheduler task trace --length 8192 --dest receive_host

run a tracepath from host A to host B, using a packet size of 8192 bytes. This will help find MTU issues.

bwtraceroute -E -s send_host -c receive host

pscheduler task trace --dest receive_host

Run a traceroute from a bwctl host to a non-bwctl or pScheduler host

 

The main pScheduler control port is 443. Make sure this port is not blocked by any firewalls.