Enabling Large-scale Simulations: Selective Abstraction
Approach to the Study of Multicast Protocols
Huang, Estrin, Heidemann (USC/ISI), 1998
Summary. ns simulation does not scale with respect to time or
memory as the simulation scenario grows large. The authors demonstrate
how details can be abstracted in certain situations to allow
orders of magnitude increase in scenario size. It is critical to
understand, howver, that what abstractions can be done and what
effects they'll have on results is scenario specific.
More Detail
One approach to scaling simulation studies is to apply parallelism
and distributed simulation; this can be costly and require
non-standard hardware. The authors present two types of
simulation abstraction, both applied to multicast:
- Centralized multicast (the concept can be applied to
unicast routing protocols, also) whereby the join/leave/update
messages in DVMRP (the multicast protocol they chose to work with)
are eliminated and the multicast tree is calculated centrally by
the simultor. The effect on results is that transient effects of
join/leave/link failure (i.e., anything that causes the multicast
tree to be recalculated) are not faithfully reproduced. If transient
effects are not important, however, this abstraction is recommended.
- Abstract packet distribution abstracts away the details
of ns packet distribution which include several components:
sending interface, queue, delay, TTL and interface again. While
powerful and flexible, the processing can become lengthy as scenarios
grow large. With the exception of the queuing discipline, the
effects of all links between a source and receiver are are rolled into
a single replication/delay/TTL path. The effect is that queuing
cannot be studied so when cross-traffic or high-load sources are
necessary in a simulation, abstract packet distribution is not
recommended.
The authors present the following steps to help users conduct their
own abstraction techniques:
- Define scaling factors/dimensions (varying input)
and measurement metrics (output)
- Start from small-scale detailed simulations.
- Profile simulations to find bottleneck.
- Adapt techniques to avoid simulation bottleneck.
- Verify simulations in small-scale in detailed mode.
- If the differences between the two versions is not crucial to
the research question, simulate larger-scale sims using the improved
version.
The authors did a case study on SRM using both abstraction types. Though
the studies' resource consumption did decrease, the shape of the
curve did not change.
Notes.
- Both of the above abstractions can be used in end-to-end
experiments.
- How does this relate to the testbed?
Kristin Wright
Last modified: Tue Nov 16 14:50:36 MST 1999