Difference between revisions of "The Forest Project"

From ARL Wiki
Jump to navigationJump to search
Line 8: Line 8:
 
As noted in the page [[Internet Scale Overlay Hosting]],
 
As noted in the page [[Internet Scale Overlay Hosting]],
 
a typical Planetlab user wishing to develop a Fast-Path (FP) implementation of
 
a typical Planetlab user wishing to develop a Fast-Path (FP) implementation of
a new protocol will typically follow these steps:
+
a new protocol will typically follow these broad steps:
  
* Develop a slow-path version by writing a stylized socket program that captures the semantics of the protocol processing and debug it using any PlanetLab-like host.
+
# Develop a slow-path version by writing a stylized socket program that captures the semantics of the protocol processing and debug it using almost any host.
* Repeat the testing of the slow-path version of the router software on the SPPs' GPEs.
+
# Repeat the testing of the slow-path version of the router software on the SPPs' GPEs.
* Send to the SPP developers information regarding the slow-path program that handles your new protocol (e.g., slow-path code, test results, informal/formal protocol description).
+
# Send to the SPP developers information regarding the slow-path program that handles your new protocol (e.g., slow-path code, test results, informal/formal protocol description).
* The SPP developers will transform the slow-path socket program into a slow-path part that will run on a GPE and a fast-path part that will run on an NPE.
+
# The SPP developers will transform the slow-path socket program into a slow-path part that will run on a GPE and a fast-path part that will run on an NPR.
** The slow-path part typically handles the control path and exception processing.
+
** The fast-path part handles the data path.
+
In Step 4, the slow-path part typically handles the control path and exception processing; and the fast-path part handles the data path.
 +
Note that Step 1 can even be done using a single host if only attempting to eliminate gross functional bugs.
 +
Variations of the above steps can be profitably used.
  
 
== History ==
 
== History ==

Revision as of 17:37, 16 November 2009

THE FOREST PROJECT

Introduction To The Forest Project

The Forest Project is an effort to demonstrate the complete development process for a new protocol targeted for the SPP (Superchared Planetlab Platform). As noted in the page Internet Scale Overlay Hosting, a typical Planetlab user wishing to develop a Fast-Path (FP) implementation of a new protocol will typically follow these broad steps:

  1. Develop a slow-path version by writing a stylized socket program that captures the semantics of the protocol processing and debug it using almost any host.
  2. Repeat the testing of the slow-path version of the router software on the SPPs' GPEs.
  3. Send to the SPP developers information regarding the slow-path program that handles your new protocol (e.g., slow-path code, test results, informal/formal protocol description).
  4. The SPP developers will transform the slow-path socket program into a slow-path part that will run on a GPE and a fast-path part that will run on an NPR.

In Step 4, the slow-path part typically handles the control path and exception processing; and the fast-path part handles the data path. Note that Step 1 can even be done using a single host if only attempting to eliminate gross functional bugs. Variations of the above steps can be profitably used.

History

A slow-path Forest implementation was first demonstrated at the GEC 6 Conference.

The Wunet Protocol

The Forest Protocol

Wiki Pages