|
ModelNet Release Systems and Networking UCSD Computer Science |
|
Home | Members | Publications |
Tue Jun 21 12:48:40 EDT 2005 modelnet-0.99 release --
GPL'd module
update build dependencies autoconf/automake/libtool
Mon Apr 5 15:24:29 EDT 2004 modelnet-0.96 release --
pkt sheduler fix, add modelmod, built on Debian/sarge
distributed emulation fix
Fri Oct 31 09:54:00 EST 2003 modelnet-0.94 release --
distributed emulation fixes
Thu Aug 14 13:00:00 EDT 2003 modelnet-0.93 release --
bug fix
Tue Aug 12 14:10:13 EDT 2003 modelnet-0.92 release --
speedups and bug fixes
Fri Jun 20 10:30:00 EDT 2003 modelnet-0.91 release
Mon Jun 16 16:00:00 EDT 2003 modelnet-0.90 release
Modelnet is designed to run on a machine room cluster to evaluate wide area distriubted systems. One or more of the cluster machines is set aside for traffic emulation, while the remainder can be used to operate as nodes in the application. When these node communicate with each other, those IP packets are sent through the emulators to create the illusion that application packets are crossing the wide area Internet.
To use Modelnet, a virtual network topology must first be created. This virtual network is what the application traffic will experience. The topology contains all the links and nodes of the virtual network and spedifies the link characteristics including bandwidth, queueing, propagation delay, and drop rate. Modelnet includes tools to create these target topologies.
Modelnet emulates a target topology by forwarding all application packets to central network emulation machines. Using the source and destination IP addresses, the emulators determine a path through the virtual topology and handle the packets according to that path. Each hop on this path has certain bandwidth, queueing, propagation delay, and drop characteristics. This hop-by-hop emulation subjects the IP traffic to realistic wide area effects including congestion. The packet emulation work all occurs in real time with millisecond accuracy.
Application hosts are configured with IP aliases on a private subnet (typically the 10.0.0.0/8 network) dedicated to Modelnet emulation. These end hosts send packets over the emulation subnet to the central emulation machines. Applications make their IP traffic go through modelnet simply by using the IP addresses from the emulation subnet's address space.
For many distributed systems and virtual networks, a typical cluster machine has far more CPU power and network bandwidth than a single instance of the application requires. Modelnet takes advantage of this by creating, possibly, hundreds of virtual nodes on each application host. The application machines have an IP alias (from the emulation subnet) for each virtual node it hosts. Modelnet provides a dynamic library to force all application packets to go out to the emulator, even if they are addressed to another virtual node on that same host.
ModelNet versions > 0.97 are released under the terms of the GPL(v2). However a few components are released under a BSD-style license, and these exceptions are noted at the top of the relevant files.