What is perfSONAR?
perfSONAR is an infrastructure for network performance monitoring,
making it easier to solve end-to-end performance problems on paths
crossing several networks. It contains a set of services delivering
performance measurements in a federated environment. These services act
as an intermediate layer, between the performance measurement tools and
the diagnostic or visualization applications. This layer is aimed at
making and exchanging performance measurements between networks, using
well-defined protocols.
perfSONAR is a services-oriented architecture. That means that the set
of elementary functions have been isolated and can be provided by
different entities called services. All those services communicate with
each other using well-defined protocols.
- An overview of the perfSONAR services can be obtained here.
- An overview of the perfSONAR protocols and messages can be obtained here.
- An overview of the perfSONAR visualization tools can be obtained here.
- perfSONAR is first a consortium of organizations who seek to build network performance middleware that is interoperable across multiple networks and useful for intra- and inter-network analysis. One of the main goals is to make it easier to solve end-to-end performance problems on paths crossing several networks.
- perfSONAR is a protocol. It assumes a set of roles (the various service types), defines the protocol standard (syntax and semantics) by which they communicate, and allows anyone to write a service playing one of those roles. The protocol is based on SOAP XML messages and following the Open Grid Forum (OGF) Network Measurement Working Group (NM-WG).
- perfSONAR is, finally, several, interoperable software packages (implementations of various services) that attempt to implement an interoperable peformance middleware framework. Those sets of code are developed by different partners. Some pieces of code are "more important" than others because their goal is to ensure interoperability between domains (e.g. the Lookup Service and the Authentication Service). Different subsets of code are important to each partner, with a great deal of overlap. The services developed acts as an intermediate layer, between the performance measurement tools and the diagnostic or visualization applications.
An Example
perfSONAR makes it possible to automate monitoring data exchange between networks, to simplify troubleshooting performance problems occurring between sites connected through several networks (e.g. metropolitan networks, national research and education networks, etc.). For example, perfSONAR traceroute (https://performance.es.net/cgi-bin/level0/perfsonar-trace.cgi) can display the used bandwidth on all links of a given path. Bandwidth is retrieved from Measurement Archives, services of the perfSONAR suite that exchange the link utilization on all segments of the path in a standardized way. This tool makes it possible to find, easily, the source of congestions that may cause performance problems. Other performance metrics also can be exchanged with perfSONAR.
Design Goals
The design goals for this project include flexibility, extensibility, openness, and decentralization. The resulting architecture should be:
- A modular system that allows the division of the architecture into multiple components that can be developed by individuals. Over time, it should be possible to evolve and/or replace individual components as our understanding of the needs of the system changes.
- A dynamic system that allows components and Measurement Points, to some extent, to be added or removed during the system operation.
- A self-configuring system that allows components and Measurement Points to autonomously announce their existence and capabilities.
- A decentralized system, that allows each administrative authority to limit the system capabilities in accordance with locally-specified policies and procedures.
- A scalable system that can a) incorporate multiple networks and overlay virtual communities, b) handle varying numbers of users and servers, and c) handle varying information volumes as well as differing types of monitoring data and tools.
- A secure system that cannot be exploited for uses other than performance monitoring, which is not particularly vulnerable to attack.
- A safe system that does not overly congest the networks it is trying to monitor.
- A fault-tolerant system that fails gracefully in the presence of module failures.
- A self-diagnosing system that provides clear and timely exception messages in the case of failure.
Major perfSONAR Services
- Measurement Point Service: Creates and/or publishes monitoring information related to active and passive measurements
- Measurement Archive Service: Stores and publishes monitoring information retrieved from Measurement Point Services
- Lookup Service: Registers all participating services and their capabilities
- Authentication Service: Manages domain-level access to services via tokens
- Transformation Service: Offers custom data manipulation of existing archived measurements
- Resource Protector Service: Manages granular details regarding system resource consumption
- Toplogy Service: Offers topological information on networks
To download the latest perfSONAR release, click here.
perfSONAR is more than just a release
The perfSONAR infrastructure is open and any tool can take advantage of it. Many perfSONAR services and monitoring applications have already been implemented as standalone measurement tools. Weathermaps, looking-glasses, IPPM measurements, and many other monitoring applications have already been implemented using the perfSONAR framework.
