Lantorrent is a file distribution protocol integrated into the Nimbus
IaaS toolkit. It works as a means to multi-cast virtual machine images
to many backend nodes. The protocol is optimized for propagating
virtual machine images (typically large files) from a central repository
across a LAN to many virtual machine monitor nodes.
Lantorrent works best for the following scenarios:
1) large file transfers (VM images are typically measured in gigabytes)
2) local area switched network (typical for data center computer racks)
3) file recipients are willing peers.
4) many endpoints request the same file at roughly the same time
When an endpoint wants a file it submits a request to a central agent.
This agent aggregates request for files so that they can be sent out in
an efficient single multi-cast session. Each request for a source file
is stored until either N request on that file have been made or N'
seconds have passed since the last request on that source file has been
made. This allows for a user to request a single file in several
unrelated session yet still have the file transfered in an efficient
Once N requests for a given source file have been made or N' seconds
have passed the destination set for the source file is determined. A
chain of destination endpoints is formed such that each node receives
from and sends to one other node. The first node receives from the
repository and send to a peer node, that peer node sends to another,
and so on until all receive the file. In this way all links of the
switch are utilized to send directly to another endpoint in the switch.
This results in the most efficient transfer on a LAN switched network.
Often times in a IaaS system a single network endpoint (VMM) will want
multiple copies of the same file. Each file is booted as a virtual
machine and that virtual machine will make distinct changes to that file
as it runs, thus it needs it own copy of the file. However that file
does not need to be transfered across the network more than once.
Lantorrent will send the file to each endpoint once and instruct that
endpoint to write it to multiple files if needed.
Enabling Lantorrent in Nimbus
Lan torrent is part of the nimbus distribution as of Nimbus 2.XXX.
However, due to system administrative overhead it is not enabled by
default. To enable Lantorrent in nimbus there are a few configurations
changes that must be made.
1) edit $NIMBUS_HOME/nimbus-setup.conf
change lantorrent.enabled: False -> lantorrent.enabled: True
2) edit $NIMBUS_HOME/services/etc/nimbus/workspace-service/other/common.conf
change the value of propagate.extraargs:
be sure to expand $NIMBUS_HOME to its full and actual path.
Lantorrent is run out of xinetd thus it must be installed on all VMMs.
4) install lantorrent on VMM
- recursively copy $NIMBUS_HOME/lantorrent to /opt/nimbus/lantorrent.
- run ./vmm-install.sh on each node
either run it as your workspace control user or specify the workspace
control user as the first and only argument to the script.
4.1) install lantorrent into xinetd
- the vmm-install,sh script creates the file lantorrent.inet. This
file is ready to be copied into /etc/xinetd.d/. Once this is done
restart xinetd (/etc/init.d/xinetd restart).