[Ns-developers] Draft project proposal of "ns-3 in the cloud" -- GSoC2012

Lalith Suresh suresh.lalith at gmail.com
Sun Mar 25 01:03:19 PDT 2012


Hi Ruhao,

Thanks for submitting a draft. Some quick comments inline.

2012/3/25 Ruhao Yao <yaoruhao at gmail.com>:

[snip]

> Project Proposal
>
> I’m interested in “ns-3 in the cloud” project. My proposal about this
> project consists of 3 main parts.
>
> Documentation
>
> l  Motivation: The existing documentation lacks the support of HOW-TO
> parallelize simulation on a cloud or a cluster. This is much more important
> for the new users who want to distribute a large scale of simulation.
>
> l  Composition:
>
> n  HOW-TO deploy ns-3 distributed parallel environment on AWS, UEC (Ubuntu
> Enterprise Cloud) and other clusters.
>
> n  HOW-TO run a parallel simulation example in AWS, UEC and other clusters.
>
> n  HOW-TO write an MPI-based parallel simulation example on AWS, UEC and
> other clusters. (Improve the current document
> http://www.nsnam.org/docs/release/3.13/models/singlehtml/index.html#document-distributed)
>
> n  Benchmarking documentation of ns-3 parallel simulation on the cloud.
>
> l  Features:
>
> n  Support for AWS and private cloud.
>
> n  Help users know how to use ns-3 in cloud.
>
> n  Benchmarks of ns-3 parallel simulation in the cloud.
>

I would suggest picking only one cloud provider (either AWS or UEC),
and doing a thorough study of ns-3's distributed capabilities on just
that. I'd also focus more on benchmarks and identifying bottlenecks of
ns-3's distributed scheduler.

On this note, Peter Barnes has just presented a paper at WNS3 2012
wherein a benchmark model was proposed for ns-3's distributed
scheduler. Giving that a spin on AWS would make for a nice project.

Tom, Peter, what do you think?

> The new parallel example:
>
> Figure 1. The new parallel example topology
>
>
>
> Figure 1 shows the topology of the new parallel example.
>
> This can run on one or several machines. The simulation nodes and host
> machines can be configured by parameters. For example, if node number
> per-host is 2 and the number of host machine is 3, then node0 – node1 is on
> host1, node2 – node3 is on host2 and node4 – node5 is on host3. Nodes are
> connected like a cycle.
>
> The packet transfer schema is:
>
> 1.      Node0 generates a packet, and then passes it to node1 (within host
> message transfer).
>
> 2.      When node1 receives the packet, log some information and pass it to
> node2. (across host message transfer)
>
> 3.      Packet transfers from one node to the other within the cycle.
>
> 4.      The simulation process will terminate when node0 receive the packet
> from node5.
>
>
>
> This example can be used to explore the benchmarks of ns-3 parallel
> simulation and the cloud capacity. The following experiments will be
> conducted to achieve the goal.
>
> l  The max number of nodes which can be simulated on one host. (Especially
> the Amazon Instance)
>
> l  The packet transfer rate within host and across hosts.
>
> l  Advice for user to decide the scale of nodes per-host and simulation host
> number. (For example, if the user wants to run a 100,000 nodes parallel
> simulation, we can advise him to divide the 100,000 nodes to 5 hosts or to
> 10 hosts.)
>


You'll need to explain why or how this is a benchmark. What exactly
are you stress testing here?

You will probably need more than one distributed simulation example
for a comprehensive study. :)


>
>
> Testing:
>
> I will implement several test suites for the new parallel example. These
> test suites will live in src/test/parallelexample directory. The new test
> suites consist of the following parts:
>
> l  Build Verification Test
>
> n  Check whether MPI is enabled and the example is successfully built.
>

You don't need this. WAF should do it for you.




-- 
Lalith Suresh
www.lalith.in




More information about the Ns-developers mailing list