Containers
Today, using version 1.0.0, you can run experiments on DETER involving high numbers of virtual nodes. We currently support experiments mixing OpenVZ virtual servers, QEMU virtual nodes running Ubuntu, View-OS lightweight processes, and physical computers.
A container represents a collection of experimental elements at the same level of abstraction. Containers have standardized interfaces and incorporate interconnection backplanes for communication both within and between containers. Containers can be nested -- the elements within a container can be other containers. This leads naturally to a hierarchical paradigm, in which apparatuses are built by allocating and connecting containers hierarchically through standard interfaces.
If you have problems with or questions about the system, contact Ted Faber or contact the testbed staff.
Project Goals
The container mechanism will enable an experimenter to provide a conceptual description of an experiment -- a "conceptual apparatus" -- as a general topology annotated with fidelity requirements, without specifying its eventual physical realization in the testbed as a "real apparatus". The container mechanism will automate instantiating the conceptual apparatus as a real DETERlab experiment that is scaled and abstracted appropriately to meet the fidelity requirements. This will include mapping conceptual nodes into real machines, virtual machines, processes, threads, etc as appropriate, and handling the details of configuring the links and initializing the experiment.
The experimenter will create a topology description labeled with experiment constraints, and the system will assign its concrete elements to a hierarchical structure of containers. The system will guide the user in this assignment by ensuring that both experiment constraints and container constraints are satisfied. Then the concrete elements in the containerized experiment will be mapped into physical realizations on the real testbed(s).The virtual machines need to be instantiated, the simulators loaded, and the computers allocated. The container system will use the hierarchical structure to perform a recursive embedding process, again satisfying constraints.
Current Users
See UsingContainers for documentation.
In the event of any problem please file a ticket or contact the staff directly
Developer Documentation
PluggingIn: documentation for plugging in new virtualization platforms