Side_1_360

(Dana P.) #1

user to develop new models that have the char-
acteristics of interest. The FTP and VoIP models
are only two examples of what can be described
in the GenSyn modelling framework, see e.g.
[Heeg00] for additional examples.


2.3 Implementation and Constraints

The design of GenSyn had the following overall
requirements [HeLu99]:



  • Portable– run on Windows, Linux, Unix, and
    produce the same results.

  • Distributed– run in parallel on several work-
    stations – and be easy to distribute.

  • Scalable– run many active users in parallel on
    a single workstation.


The first two requirements made Java an attrac-
tive choice as the implementation language. Java
provides simple, high level, and well-defined
interfaces and methods for communication (via
APIs) with the underlying protocol stack. This
makes it fairly easy to create HTTP and TCP
connections and to send streams of UDP packets.


The flip side of the coin is that Java limits the
scalability of GenSyn due to two constraints:



  • Time scheduling and granularity.The sleep
    function in Java is inaccurate for time granu-
    larity in milliseconds, and returns different
    results on various platforms. This will limit
    the number of users that can be defined in the
    model because many users means short time
    between events in a composite model. The
    experience so far, running between 300 and
    3000 web users on a single processor
    machine, indicates that the generator running
    on one workstation should limit the number
    of users to keep the expected time between
    stochastic events of at least 10 ms.

    • Threads and memory.The number of parallel
      threads that can be run on one single work-
      station is limited by the available memory.
      Hence, the GenSyn should be executed on a
      dedicated workstation. This was expected to
      be the critical restriction because it introduces
      an upper limit to the number of simultaneous
      communication streams, and hence the num-
      ber of users in the model.




The following section presents a few results of
the performance of a single GenSyn process,
using a scenario generating both TCP and UDP
traffic by running a single instance on a dedi-
cated machine. Knowledge of these constraints
are important for instance while specifying a test
scenario.

2.3.1 The GenSyn Performance
Constraints

2.3.1.1 TCP Traffic – the Throughput
Constraints
The web interface module described in [Heeg00]
downloads and parses through web pages. This
puts a rather heavy burden on the processor and
will limit the scaling of a model that uses a web
module. The maximum number of simultaneous
sessions is limited by the ability to handle paral-
lel threads in the Java runtime environment. The
maximum number of sessions constrains the
number of users in a model and this will again
limit the throughput. To reduce this constraint
the FTP interface module was developed where
the web pages and files are simply downloaded
into memory and discarded without further
inspection. Hence, the downloading of pages
and files will be much less computer demanding
because the GenSyn program now only needs to
send a request for a page/file.

The throughput has been studied by use of the
FTP model as described in Section 2.2.2.1 with

Figure 13 The constraints of a
GenSyn process downloading
files to a single machine
(average file size = 154 kbytes,
average download time =
86 ms, interface rate =
100 Mbit/s)

100

80

60

40

20

0
0 2000 4000 6000 8000 10000 12000 14000 16000

160
140
120
100
80
60
40
20
0

Users

throughput [Mbit/s] download time [ms]

linear extrapolation

download time

observed throughput
Free download pdf