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 latency testing, and one for throughput testing.
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.
Beginning with perfSONAR 3.4, 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