Number of perfSONAR Servers
The perfSONAR Toolkit can function in a number of different configurations. The general use case is to define a server, or servers, that perform specific measurement tasks as a permanent function. These servers can participate in regular testing by registering to the global directory, and being "open" to the scheduling of tests from outside parties. The servers may also feature a configuration, programmed by the node operation, to collect and store measurements of different varieties. In either case, the operator has options for deployment:
Bandwidth Tester vs Latency Tester
Prior to the release of perfSONAR Toolkit 3.4, the perfSONAR development team recommended the deployment of two servers to respect divergent measurement use cases:
- Latency Testing: Sensitive measurement tools that rely on small packets and measure packet arrival times (e.g. OWAMP, RTT Ping) can become perturbed by local host factors that consume CPU, memory, or network interface resources. Heavy weight testing of a metric such as "throughput" can impact the numbers seen from the latency tools.
- Bandwidth Testing: Testing of a network achievable metric, such as throughput, involves the rapid creation, sending, and processing of data packets and consumes CPU, memory, and interface resources. When run in conjunction with an non-isolated stream of data affiliated with a lightweight test (e.g. latency measurements, packet loss, etc.), result corruption could occur
Historical deployments of perfSONAR therefore revolve around 2 dedicated machines one for owamp, and one for bwctl, positioned in a key network location, to manage the different use cases in an isolated manner.
Given the potential for result corruption seen when running tests simultaneously using shared hardware (e.g. single processor, single NIC), running tools on the same host was problematic for early releases of the perfSONAR Toolkit. It was possible to set up a single server for this use case, but not possible ensure test isolation. As an example, consider a dual use machine on a regional network. Users from campuses that are downstream from the provider could set up regular testing to this resource, either to measure bandwidth or delay. It is quite common to see bursts of packet loss in an OWAMP measurement stream if the host is regularly running 10Gbps bandwidth tests concurrently, as seen in the figure below.
When coupled with a plot of network utilization, we can see the sudden spike of throughput on a given link, and correlate this with the packet loss we experienced.
The perfSONAR Toolkit, for versions after 3.4, can allow concurrent testing. The following sections outline the expectations, based on the version a site is running.
Version 3.3.x and Prior
There are no special configurations or settings to enable this operation. Simply enable the use of Latency and Throughput tools via the "Enabled Services" setting in the administrative interface. A warning window may appear when doing this, warning of the mixture of test types. When configuring tests via the "Scheduled Tests" interface, more warnings may appear denoting the scheduling of both OWAMP and BWCTL tests concurrently.
While there is the potential to pollute measurement results, the perfSONAR Toolkit development team does recommend that OWAMP and BWCTL be used concurrently if, and only if, a site has a single perfSONAR node available to the public. The value of making measurement tools available will outweigh the potential errors that are possible from concurrent testing.
Beginning with perfSONAR 3.4, and subsequent releases, there is support available to isolate the different measurement use cases provided that one of the following holds:
- The node has two network interface cards available to support concurrent latency streaming and throughput testing.
- The node has a single interface card available, and the operator is accepting of running latency and bandwidth in an interleaved fashion (e.g. latency streaming, the default of older perfSONAR Toolkit releases, will be replaced with sporadic latency tests).
Documentation on how to configure and operate this method of testing can be found at: http://docs.perfsonar.net/manage_dual_xface.html