OMF Glossary¶
- Aggregate Manager (AM)¶
As the name indicates, an Aggregate Manager (AM) manages all the resources within a testbed (which is an aggregate of resources). It provides an experimenter the access to a subset of these resources with potentially some constraints. The current OMF Aggregate Manager performs the following specific tasks:- manages resources such as the Chassis Manager, which is a controller used for powering a resource on or off
- provides inventory information for the available resources and all information related to a testbed
- starts and stops the software (Frisbee), which distributes/saves disk images to/from a resource's storage device
- directs booting behaviour of a resource (e.g. boot from a network image or a local disk)
- provides remote access and query tools to any measurement databases
The experimenter (i.e. OMF's user) does not directly interact with the AM of a testbed. Indeed, it is the Experiment Controller entity that interacts with it.
(Note: The 'Aggregate Manager' was formerly named 'Grid Services', this former name might still appear in some part of OMF's code)
- Experiment Description (ED)¶
An Experiment Description (ED) is a script that is supplied as an input to the OMF Experiment Controller. It describes the set of resources required by an experiment and the set of actions to perform in order to realize that experiment. An ED is written using the OMF Experiment Description Language (OEDL). Examples of Experiment Descriptions can be found on the tutorial pages.
- Experiment Controller (EC)¶
The Experiment Controller (EC) is the entity (i.e. software tool) that is responsible to deploy, control, and instrument an experiment on behalf of the user. The EC takes an Experiment Description as its input and processes it. The EC cooperates with the Aggregate Manager(s) of the testbed(s) involved in the experiment, to configure the required experimental resources according to the experiment description. Once these resources are configured, the EC communicates with each corresponding Resource Controllers, and sends them commands (according to the ED), which will effectively realize the experiment.
In shared testbed facilities, multiple ECs can run concurrently, each being responsible for a different experiment.
(Note: The 'Experiment Controller' was formerly named 'NodeHandler', this former name might still appear in some part of OMF's code)
- Measurement Points (MP)¶
A Measurement Point (MP) is a specific point inside an application where a set of measured metrics can be collected by the OMF/OML instrumentation tools. For example in a simple traffic generator, the application developer can decide to create a measurement point just before sending the generated packet over the network. This measurement point could provide metrics such as packet length, sequence number, or current sending rate in bit/s).
- OMF Experiment Description Language (OEDL)¶
The OMF Experiment Description Language (OEDL) is a high level domain-specific language, which is used to describe an experiment within OMF. This domain-specific language is based on Ruby, however no prior-knowledge of Ruby is required to use OEDL, as it provides all the required high-level commands to describe most type of OMF-supported experiments. A detailed description of OEDL is available as part of the OMF User Guide.
- Control, Measurement, and Management Framework (OMF)¶
The cOntrol, measurement, and Management Framework (OMF) is a generic framework for managing networking testbeds. In addition, OMF allows the systematic description and instrumentation of networking experiments, and provides tools to automatically execute, control, and measure the results of these experiments.
- The OMF Measurement Library (OML)¶
The OMF Measurement Library is essentially a set of a collection server and a client dynamic library.
The client library allows the instrumentation of the application(s) that the user would like to experiment on. This/these application(s) will most likely contain the implementation(s) of the ideas, schemes, or algorithms that the user would like to evaluate. Thus the client library allows the user to define Measurement Points within the evaluated application(s).
The collection server allows the real-time collection of the data from the various Measurement Points during an experiment execution. The list of measurements to collect and any optional pre-processing (i.e. filters) to apply to the data before collection are described in the Experiment Description.
- Resource Controller (RC)¶
The Resource Controller (RC) is an entity (i.e. software tool) that resides on each of the resources available within a testbed. Each RC listens for commands issued by an Experiment Controller, executes them, and reports back any information resulting from the command executions. Thus a RC is responsible for actually performing the experiment tasks directly on a resource.
In addition to this control function, the RC is also currently responsible for some management tasks on the resource, such as receiving and writing a disk image on the resource's storage device. In the future, such a management function will be located in a separate entity, which will be named Resource Manager.
(Note: The 'Resource Controller' was formerly named 'NodeAgent', this former name might still be used in some part of OMF's code)
- Testbed¶
A testbed is an aggregate of managed experimental resources, which can be arbitrarily configured and control-accessed by experimenters/researchers for specific period of time, to perform experimental evaluations of algorithms, schemes, or prototypes. Testbeds allow the realization of experiments under controlled realistic environment.