You are here: Technologies / Control plane

Control plane prototypes

 

Several control plane technologies are used in the testbeds of OpenLab. Not all control planes are available with all testbeds. Rather each testbed uses its own control technologies. It is one of the objectives of the projects to integrate the control plane technologies, in particular observing the transparency and simplicity principle. This means that integration and unification is not done for the sake of it, but will be done only if meaningful and useful for the users.

The following control plane related technologies are used

SFA (Slice Federation Architecture)

SFA(1) is designed to be entirely decentralized, which is deemed to be the only way to achieve massive scale. It comprises: (a) naming conventions for referring to all entities in the federation, (b) a trust layer that implements secure/authenticated API calls, and (c) a set of APIs for using the different services that constitute the federation. It makes no assumptions about the nature of the resources on heterogeneous testbeds and so does not impose a model on resource descriptions, instead conveying them as-is, much like a payload is handled in a network packet. Emerging from GENI [geni.net], SFA currently has two interoperable free open source implementations: the PlanetLab one, that OneLab2 has been involved in implementing, and the ProtoGeni one, that the Emulab platform has started to use extensively. Each has been rolled out in an embryo SFA mesh, and there is currently a limited connectivity between them.

(1) Larry Peterson et al., Slice-Based Federation Architecture, Version 2.0, July 2010. Available from: http://groups.geni.net/geni/wiki/SliceFedArch

MySlice

MySlice [myslice.planet-lab.eu] is a free, open-source tool that helps users manage their testbed resources, from experiment setup through runtime, and retrospectively examine data once the experiment is complete. It is particularity focused on making the measurable characteristics of testbed resources available to users. This interface is currently used by all users of PlanetLab Europe and soon by all PlanetLab users worldwide.

FITeagle

FITeagle is an extensible and distributed open source experimentation-management framework for federated Future Internet testbeds. It is based on the previous FIRE-Teagle developments and inherits its basic conceptional architecture. FIRE-Teagle was successfully deployed and used in the Panlab/PII projects and is currently extended as FITeagle within the OpenLab and Fed4FIRE projects. FITeagle provides services to describe, register, orchestrate, interconnect, provision and monitor heterogenous resources (such as physical and virtual computation-, storage- and networking- resources and services) across participating provider and user domains.

RADL (Resource Adapter Description Language)

RADL (Resource Adapter Description Language) [trac.panlab.net/trac/wiki/RADL] is a component of the Teagle architecture that provides a textual syntax for describing the Resource Adapter (RA) middleware that provides the link between a user and a testbed resource. RADL decouples the RA from its underlying implementation code and can be used to publish a resource description to a resource repository.

FCI (Federation Computing Interface) and FSDL (Federation Scenario Description Language)

The Federation Computing Interface (FCI) is an Eclipse-based SDK and API for developing applications that access and control an experiment’s requested resources. The closely related Federation Scenario Description Language (FSDL) is a domain specific language for specifying experimentation scenarios. FSDL provides an abstract syntax of a resource broker meta-model. The FSDL’s concrete syntax is supported by a text editor that implements instances of this meta-model. Syntax highlighting, context assistance, validation errors and warnings are some of the features. FSDL is available for the Eclipse workbench and the specification framework is provided as Eclipse plugins. Together they form the FSToolkit. The original link [trac.panlab.net/trac/wiki/FCI] is outdated. Read the updated pages ... 

OMF (cOntrol and Management Framework)

OMF [omf.mytestbed.net] is a free open-source testbed control framework that manages over 20 testbeds worldwide, including the NITOS and NADA testbeds in Europe and six WiMAX meso-scale deployments in the US, along with the ORBIT facility at Rutgers University, the largest openly accessible wireless testbed facility in the world, for which OMF was originally developed in 2003. It provides an integrated measurement and instrumentation framework, as well powerful user tools (see next section) and a portal that supports the entire experiment lifecycle. OMF’s Aggregate Manager is currently adopting the SFA APIs.

OMF Experiment Controller

OEDL, the OMF Experiment Description Language, is a declarative domain-specific language to define experiments. It describes required resources and how they should be configured and connected. It also defines the orchestration of the experiment itself. Steerability and self-healing are important properties of long-running experiments. OEDL allows for specification either of individual resources or of constraints that permit multiple possible resource assignments, a feature that is becoming increasingly important as the scale of testbeds and the complexity of investigations increase. The OMF Experiment Controller, in production use since 2005 and supporting hundreds of experiments every day, is the free open source tool that executes OEDL scripts. It has been ported beyond OMF to other control frameworks, such as PlanetLab and Emulab.

NEPI (Network Experimentation Programming Interface)

NEPI [yans.pl.sophia.inria.fr/trac/nepi] allows a researcher to describe a network topology and configuration parameters, to specify traces to be collected, to deploy and monitor experiments, and, to collect traces into a central datastore. It can pilot ns-3 simulations, emulations, and real-world PlanetLab experiments, and has as its vocation to be a general experiment controller. NEPI has a Python API and a simple yet powerful graphical user interface.