Skip to content

Commit

Permalink
Closes #222 #211 #217
Browse files Browse the repository at this point in the history
Updated list of run types in schedule, new schedule plot, adding s3throughput test type, correcting typos
  • Loading branch information
szymontrocha committed Jun 21, 2021
1 parent b305e6a commit fe59373
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
Binary file modified images/pscheduler_client_schedule-plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 7 additions & 6 deletions pscheduler_client_schedule.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ With one (delta) argument, the schedule between now and some point in the past o
* One day in the future::
pscheduler schedule PT1D
pscheduler schedule P1D
With two (start and end) arguments, the schedule within a range of times will be shown. Either argument can be a delta as described above (e.g. -P2D) or a ISO 8601 timestamp (e.g., 2016-09-04T12:34:56+0400). Examples:

Expand Down Expand Up @@ -124,11 +124,12 @@ You always redirect the output to a file and the program will return an error be

The vertical axis is the time that the test ran or is scheduled to run. The green boxes are :term:`runs<run>` of tasks and their height indicates the time allotted for them on the schedule. Each run is grouped into one of five classifications listed at the top:

#. **Exclusive** - An example is a *throughput* task. If you have very little whitespace in this category then you may have difficulty finding a timeslot for new tests.
#. **Exclusive** - An example is a *throughput* task. If you have very little whitespace in this category then you may have difficulty finding a timeslot for new tests. These test can run in parallel only with background tests.
#. **Normal** - An example is a task with a test type of *latency*.
#. **Background** - Example test types include *rtt* and *trace* or *clock*.
#. **Background-multi** - Example test type is *latencybg*. It is not uncommon to have this column look almost entirely solid if you have *latencybg* tasks since they run continuously.
#. **Non-Start** - These are runs that could not find a time-slot. A very important note, and common point of confusion, is that the time shown is the earliest possible time in the slot it was trying to schedule. This IS NOT the time when the scheduler tried to find a slot, failed and labelled it as a non-start. pScheduler uses a :term:`schedule horizon` so likely attempted to schedule the run 24 hours in advance. A large number of runs in this category may be the indication of a busy host where it is difficult for exclusive tasks to find a timeslot.
#. **Background Single-Result** - Background tests that produce single result. Example test types include *rtt* and *trace* or *clock*. These tests can run in parallel with anything else.
#. **Background Multi-Result** - Background tests that produce multiple (streaming) results. Example test type is *latencybg*. It is not uncommon to have this column look almost entirely solid if you have *latencybg* tasks since they run continuously. These tests can run in parallel with anything else.
#. **Non-Starting** - These are runs that could not find a time-slot. A very important note, and common point of confusion, is that the time shown is the earliest possible time in the slot it was trying to schedule. This IS NOT the time when the scheduler tried to find a slot, failed and labelled it as a non-start. pScheduler uses a :term:`schedule horizon` so likely attempted to schedule the run 24 hours in advance. A large number of runs in this category may be the indication of a busy host where it is difficult for exclusive tasks to find a timeslot.
#. **Preempted** - These runs were preempted by another with higher priority.

For more detailed information about test classifications see :ref:`pscheduler_ref_tests_tools-test_classifications`.

Expand All @@ -144,7 +145,7 @@ With one (delta) argument, the schedule between now and some point in the past o
* One day in the future::
pscheduler plot-schedule PT1D
pscheduler plot-schedule P1D
With two (start and end) arguments, the schedule within a range of times will be shown. Either argument can be a delta as described above (e.g. -P2D) or a ISO 8601 timestamp (e.g., 2016-09-04T12:34:56+0400). Examples:

Expand Down
15 changes: 11 additions & 4 deletions pscheduler_ref_tests_tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,11 @@ throughput
:Description: A test to measure the observed speed of a data transfer and associated statistics between two endpoints
:Tools: iperf3, iperf2, nuttcp

s3throughput
############
:Description: A test to measure the throughput of S3 web service storage
:Tools: s3-benchmark

trace
############
:Description: Trace the path between IP hosts
Expand All @@ -85,10 +90,12 @@ Test Classifications
======================
Each test classified in one of four categories that determines what other tests can be run in parallel:

#. **Exclusive** - These are tests that cannot run at the same time as any other exclusive or normal test. An example is a *throughput* test. If you have very frequent tests in this category then you may have difficulty finding a timeslot for new tests.
#. **Normal** - These are tests that can run at the same time as other normal and background tests, but cannot run at the same time as exclusive tests. An example is a task with a test type of *latency*.
#. **Background** - These are tests that can be run in parallel with any other test including exclusive, normal and other background tests. Example test types include *rtt*, *trace*, *http*, *dns* or *clock*. Since these runs do not prevent other runs from executing though, they should not limit your ability to schedule new tests.
#. **Background-multi** - These are tests that can be run in parallel with any other test and produce multiple results that appear as separate runs. Example test type is *latencybg* that runs continuously.
#. **Exclusive** - An example is a *throughput* task. If you have very little whitespace in this category then you may have difficulty finding a timeslot for new tests. These test can run in parallel only with background tests.
#. **Normal** - An example is a task with a test type of *latency*.
#. **Background Single-Result** - Background tests that produce single result. Example test types include *rtt* and *trace* or *clock*. These tests can run in parallel with anything else.
#. **Background Multi-Result** - Background tests that produce multiple (streaming) results. Example test type is *latencybg*. It is not uncommon to have this column look almost entirely solid if you have *latencybg* tasks since they run continuously. These tests can run in parallel with anything else.
#. **Non-Starting** - These are runs that could not find a time-slot. A very important note, and common point of confusion, is that the time shown is the earliest possible time in the slot it was trying to schedule. This IS NOT the time when the scheduler tried to find a slot, failed and labelled it as a non-start. pScheduler uses a :term:`schedule horizon` so likely attempted to schedule the run 24 hours in advance. A large number of runs in this category may be the indication of a busy host where it is difficult for exclusive tasks to find a timeslot.
#. **Preempted** - These runs were preempted by another with higher priority.

You may visualize different types of tests using ``pscheduler plot-schedule`` command. See also :ref:`pscheduler_client_schedule-plot_schedule`.

Expand Down

0 comments on commit fe59373

Please sign in to comment.