Changes between Initial Version and Version 1 of January_2011_Demo


Ignore:
Timestamp:
Jan 4, 2011 2:34:56 PM (13 years ago)
Author:
mikeryan
Comment:

first cut

Legend:

Unmodified
Added
Removed
Modified
  • January_2011_Demo

    v1 v1  
     1[[TOC]]
     2
     3This page documents the January 2011 demo.
     4
     5Ted and Mike are rehashing the CATCH demo to demonstrate some of the new virtualization infrastructure. We will embed processes inside qemu virtual machines inside physical machines.
     6
     7== The Demo ==
     8
     9q9bot and the IRC server(s) will run inside processes embedded in qemu virtual machines. The intermediate routers on the network will probably be inside processes as well. The target machine may be a process, virtual machine, or physical machine.
     10
     11
     12== New Virtualization Containers ==
     13
     14=== QEMU virtual machine ===
     15
     16This is very similar to an OpenVZ virtual machines. It runs a very vanilla Ubuntu 10.10 without most of the usual testbed facilities.
     17
     18 * Ordinary control interface
     19 * Normal testbed file systems (/home, /proj, /groups, /share)
     20 * Testbed user accounts
     21 * '''No TMCD support'''
     22  * None of the files in /var/emulab/boot
     23
     24It is hosted by a physical node running Ubuntu1004-STD. The only major change to the host node is that the control interface is bridged with the control interfaces of the vnodes it contains.
     25
     26=== Processes ===
     27
     28This is an extremely lightweight container.
     29
     30 * Has a full network stack
     31 * Access to all the file systems on the pnode/vnode that hosts it
     32 * '''No control interface'''
     33 * '''No TMCD'''
     34
     35A process can be embedded inside a physical machine or a virtual machine ([http://i.imgur.com/F63mB.jpg yo dawg!]).
     36
     37=== Virtual vs. Physical Topology ===
     38
     39It is useful to make a distinction between physical topo and virtual topo (ptopo and vtopo). The vtopo is the network topology as presented to the experimenter. It is some interconnected network of processes, virtual machines, and physical machines that all talk to each other over IP and form an experiment. The ptopo is the network of physical and virtual machines that host virtual elements. The ptopo should be invisible to the experiment.
     40
     41Example: a vtopo containing two processes and a qemu virtual machine in a LAN. This can be physically (ptopo) realized in the following ways:
     42
     43 * One pnode vhost which runs the processes and virtual machine
     44 * One pnode vhost running two vnodes, one is the virtual machine and the other is a vhost which runs the processes
     45 * Two pnode vhosts, one running the virtual machine and another hosting the processes
     46  * The virtual LAN between the vnode and the processes is realized in a UDP multicast socket between the vhosts on the emulab experiment network
     47
     48In all three cases the vtopo is the same but the ptopo varies.
     49
     50== SEER support ==
     51
     52The biggest issue we face is that we have some machines which are vhosts and others which need to be presented in the vtopo.
     53
     54=== pnodes ===
     55
     56The physical machines hosting qemu should be a small effort; they run ordinary Ubuntu1004-STD images. Most (all?) of these will be vhosts.
     57
     58As noted above, the control interface is replaced with a bridged interface (named control0).
     59
     60=== vnodes ===
     61
     62The qemu machines will need some work. SEER depends on some of the files in /var/emulab/boot. We will probably want packet counter support in these.
     63
     64Most/all of these nodes will be vhosts. Some may be ordinary vtopo elements.
     65
     66=== processes ===
     67
     68These guys are strange. It doesn't make sense to run a separate daemon as a part of the process, so I imagine these elements will piggy-back on the SEER running in the vnode/pnode hosting them. As they have access to the host file system, they can write to files/pipes/etc that the SEER daemon watches. I can instrument further communication mechanisms if desired.
     69
     70If necessary we can run a separate SEER process in the virtualized environment. This will necessitate adding a control interface. It can be done for this demo, but keep in mind that we intend to eventually support virtualized environments in which this does not make sense.