[Ns-developers] Some ideas of ns-3 in the cloud -- GSOC2012

Ruhao Yao yaoruhao at gmail.com
Sat Mar 17 21:02:46 PDT 2012

Professor Henderson,

This is Ruhao Yao from Peking University. First congratulate ns-3's
success in GSOC 2012. I'm very interested in this project. I wrote a
mail of self-introduction to the mail list. I got some new ideas and
questions today.

After reading through ns-3 mpi documents and source code, I got some
extra ideas of this project:

 1. Add UEC (Ubuntu Enterprise Cloud, http://www.ubuntu.com/cloud)
    support. As we know, UEC is build on Eucalyptus
    (http://open.eucalyptus.com/), which is Amazon EC2 compatible. I
    helped my lab deploy a UEC, so I can help add UEC support to this
 2. Write a specific parallel distributed simulation for benchmarks of
    the cloud. After reading through the existing 3 examples, I think
    they're too small to be benchmarks. We can write a "big" example
    with a large amount of nodes. Define a config file, so users can
    modify this file to add node and partition (Like OMNeT++ using MPI)
    without recompile the example-srcfile.

During this time, I got some questions about "ns-3 in the cloud" project:

 1. Is this project mainly about writing documents for ns-3 in the cloud?
 2. I got some problems while compiling ns-3 with mpi. I followed the
    instructions on
    while I run

    mpirun -np 4 -machinefile mpihosts ./waf --run 'nms-udp-nix --LAN=2 --CN=4 --nix=1'

    , it tolds me not find nms-udp-nix in waf. Also I can't find binary
    files in src/mpi/examples directory.
 3. I'm also wondering if there exist some unresolved problems for ns-3
    parallel simulation under mpi? What's the next step for this work?
    (improve efficiency or add useful functions?)
 4. Question about GSOC, if I'm interested in this project (ns-3 in the
    cloud), should I communicate with Professor Henderson privately or
    just mail to the public mail list?

If you didn't see my previous e-mail, you can read below to know me
well. Also, if you need my resume or any other extra infomation, just
tell me. Thank you so much!

/Hi all,

This is Ruhao Yao from Peking University. Thanks to Google Summer of
Code, I'm getting started to know ns-3. After read through the GSOC 2012
ideas, I'm strongly interested in "ns-3 in the cloud".

Below is my self introduction for you to know me well. Thanks so much!

I'm now a first year Master student of Computer Science, my lab focus on
P2P network security. My main study is about P2P network simulator. I
want to develop a large scale P2P simulator (millions of p2p nodes). Due
to single host resource limitation, I choose parallel simulation as the
only way.

My Bachelor's thesis is "Cloud-based Simulator of P2P network", I make a
distributed model of parallel simulation (which now seem to be so
naive). I defiend two models of servers, CCS (Central Contrl Server),
which is used to allocate node ids and fake ips to NSS (Node Simulate
Server). Each NSS simulates a number of P2P nodes, also it serves as a
simple router (So nodes on different NSS can communicate with each
other). Each P2P node is based on a modified aMule class. With that
design, I can ran a 500,000 scale of simulation (1 CCS, 5NSS on 5 Ubuntu
Enterprise Cloud virtual machine). Regardless of synchronization, the
simulation can maintain only 10 minutes. Then it would shut down of
memory leaks.

After Bachelor degree graduation, I'm continue doing this research in my
Master degree period. My mentor advice me to develop a real cloud based
simulator, which can interact with virtual machine administrator, can do
parallel simulation with large scale of nodes (especially P2P network).
I first find some popular simulator. OMNeT++, a main stream framework
for network simulation, also can ran parallel simulation with MPI. I
deploy a 2 nodes parallel simulation under OMNeT++ 4.1, but it failed.
OMNeT++ released 4.2.1 this February, I tried but still failed. After
modified some Envir codes, it can work, but inefficient. Then I tried
OverSim (a p2p network simulator over OMNeT++), it implements p2p
simulation quite well, but due to some OMNeT++ parallel restrictions, it
cannot run parallelly.

Though the main goal of my study is to develop a real cloud based p2p
network simulator, I think the first step should be parallel simulator
in cloud. So that's why I'm so interested in this topic. I have deploy a
UEC (private cloud, built by Eucalytus, Amazon EC2 compatible) in my lab
to run the experiment for my Bachelor's thesis. I think it can be used
during my study of ns-3 in the cloud./


Ruhao Yao
Beijing Key Laboratory of Internet Security Technology
School of Electronics Engineering & Computer Science
Peking University
Beijing 100871

More information about the Ns-developers mailing list