Post by SIMULATION MODELING & ANALYS » Wed, 02 May 1990 03:28:00

Volume: 2, Issue: 3, Sat May  7 22:28:28 EDT 1988


(1) The Viability of Distributed Simulation


Date: Fri, 6 May 88 18:00:48 EDT

In Vol. 2, Num. 1, Jerry Freedman writes:

Quote:> Distributed Simulation is a waste of time.period.
> I have been working with communication network simulations
> for about 6 years. Most of what follow has NO theoretical basis
> at all and is entirely pragmatic.

First, I think it's necessary to define what is meant by
"distributed simulation." I'm in favor of taking the most general
view that suggests that distributed simulation refers to simulation
on more than one node. Nodes may be highly localized as in an
array processor or neural network, or they may be remote as in
a network of satellites. If we take the "local view", then distributed
simulation not only makes sense, but it is downright necessary since
all architectures in another several years will contain many processors.
I'm not talking of five or ten, but thousands. Most current ones already
do have several; however, the user cannot always access all parallel nodes
(i.e. internal pipelining). So, which type of "distributed simulation"
do you mean? :

1) a simulation run on a parallel computer?
2) a simulation run on a local area network (say a net of *reliable* SUN's)?
3) a simulation run on a large area network?
4) or even, a simulation of a distributed system run on a single node?
   (#4 being the most common type of distributed simulation, I suppose)

Quote:> It is almost impossible to guarantee that
> the messages will always be transmitted, arrive and be processed
> in the same order every time given the same scenario and input
> parameters. (Please hold the flames on sophiticated tracing,
> distributed debugging etc. I'm talking pragmatics here - not
> the lates ACM published academic vapor).

Determinism is clearly the question here. Guaranteeing determinism
can be difficult if the processing nodes are far apart and subject
to the whims of the local telephone company. I agree that simulation
spread among many distant nodes (type #3 above) is a problem and
its usefulness is questionable.

Quote:> Now, I claim the the largest number of threads of control (
> cpus, tasks, whatever you may call them ) you could possibly
> have any hope to follow and understand (or purchase ) is
> 10. The best you could do in a perfect world is a speed up
> factor of ten. But the world is imperfect- you probably couldn't
> do better that 3, 5 at best. Hardly worth it in light
> of the price paid (see above).

What are your reasons for magic numbers like 10? Depending on the
overhead associated with message passing, considerable speedups
are possible with parallel architectures.

Quote:> waiting a couple of years(you would have spent this time
> building, testing and verfiying your distributed monster) and buying a
> faster chip with a fancier compiler.

How about this for a scenario? :
Perhaps the "faster chip" is, in fact, a multi processor chip
(with, say, 1000 fine grain processors located in it). Now, I wonder
how a company might come out with such a chip without performing
(yes, its coming!!) many tests on it first. What kinds of tests
would they perform? How about analysis based on results from a
*distributed simulation*?!

Quote:> DISCLAIMER: Any snide comments in the above are semi-intentional.
> I don't want to tick anyone off - I'd just like to stimulate
> some discussion.

I'm glad you made this posting and I hope that others will offer their
thoughts as freely as you have.

-paul fishwick


| Dept. of Computer Science. UUCP: {gatech|ihnp4}!codas!uflorida!fishwick|
| Univ. of Florida.......... PHONE: (904)-335-8036                       |
| Bldg. CSE, Room 301....... FACS is available                           |
| Gainesville, FL 32611.....                                             |