perfSONAR

Research & Contributing

Framework for perfSONAR Contributions from Research Groups

 

Executive Summary

This overview is intended for network research teams interested in developing new perfSONAR components in collaboration with ESnet, GÉANT, the Indiana University Global Research NOC, and Internet2. Each of these organizations is interested in encouraging such contributions. To that end, we describe several models for collaboration that appear to be viable. However, this document should be considered a starting point for discussion with research teams, not an expression of fixed policy.

Background on perfSONAR Collaboration

perfSONAR is a global, open source collaboration that aims to advance the state of the art in performance monitoring infrastructure, accelerate data-intensive science, and promote operational excellence in advanced networking. It serves both as a production-quality toolkit that can be readily deployed to support operating networks, and as a community project for coalescing new ideas, architectures, and technologies in the area of network performance.

ESnet, GÉANT, the Indiana University Global Research NOC, and Internet2 have agreed to undertake a perfSONAR collaboration by taking the following steps together:

  • Allocating 1.5 full-time employees each to perfSONAR related effort, including at least one full-time employee in development effort
  • Joining with other organizations who are making comparable commitments, to coordinate development goals
  • Partnering with the larger perfSONAR community (including end users, networkers, developers, and researchers) to create a ‘requirements review’ process for defining high-level outcomes desired, and development goals to support those outcomes
  • Meeting regularly to monitor progress towards development goals and high- level outcomes

Three Collaboration Models

Contributions to the production code-base of perfSONAR, and new and innovative research ideas that could eventually become part of that production code-base, are needed and welcome. We expect that the process for incorporating contributions in the second category will follow one of three models, depending on the project. We strongly encourage research projects to make contact before starting work, in order to discuss which model works best for their purposes.

Model 1: The research project is fully responsible for long-term support of the new component. For this option, the research project will likely have a long-term funding history, with common open-source project components such as a public code repository, bug tracker, wiki, and support email list.

Model 2: The research project completes a ‘proof of concept’ implementation, with the agreement that if the component appears useful to the broader community, the core perfSONAR team may choose to re-implement and support it on an ongoing basis as part of the funded perfSONAR development effort. For this option, the research project will need meet with a group of developers and walk through the code, explaining the techniques and algorithms used.

Model 3: The research project components will be fully supported by the core perfSONAR collaboration, assuming resources for this support are available and the new components are valuable to the broader community. All code submitted by the research project would undergo a code review to ensure that the code is understood, maintainable, and supportable.

When a research project is prepared to begin work on a given enhancement or new component, it would be desirable for the planned work to be described and presented during a weekly project meeting. This presentation does not need to be formal. Elements might include:

  1. Explanation of which components are to be modified, or how new components will interact with existing APIs and interfaces
  2. Presentation of development timeline
  3. Description of proposed language and other technical details
  4. Description of planned


Regardless of the collaboration model, prospective contributors are encouraged to join weekly project calls and relevant project mailing lists, and to review existing documentation. These steps will allow contributors to integrate well into the culture of the project.