FAQ: SPNP

         

 

 

Answers are in red.

 

The SPNP code is in blue

         

 

 

QUESTION 1:

From Vincent H Williams <vhwillia@eos.ncsu.edu>

 

We are working on an M/M/1/K project.  We tried to simulate but we couldn't get an output. We are sending you our errors. Can you please help us? It is in postcript format.

 

You need to go to the environment if you use the graphics and change the value for the length of th simulation.

Click on "Model Editor" then "Environment" and click on Simulation. I you have typed your code with a textual environment, you need to define the value

FOP_SIM_LENGTH in the option function.

 

 

 

QUESTION 2:

 

From Srivatsan V sriv1@hotmail.com:

 

I have a doubt regarding the "Length of each simulation iteration/batch"  setting in "Model Editor->Environment->Simulation". I understand that we  need to set "Required confidence interval for the simulation". I thought that SPNP would run the simulation long enough for achieving that  confidence. But, it requires us to enter the length of simulation also. Am I  missing something?

 

 

I would appreciate your response

 

Note: I would like to know if you could solve one example from the text book "Queueing Networks and Markov Chains - Modeling and Performance Evaluation  with Computer Science Applications" - Page 88, Fig.2.15. Also, does SPNP  have built-in support for non-preemptive and preemptive priority systems or  do I need to write my own code for that

 

For the steady-state measure, you should use Batch simulation. you should specify FOP_SIM_ERROR for confidence tolerance and IOP_SIM_RUNS to -1 (Infinity).

For the priority (preemptive and no-pre.), take a look at "policy" and "affect" (or affected") keywords in SPNP manual.

 

 

 

QUESTION 3: inconsistent results of SPNP

 

From:  Yun Cui <ycui4@unity.ncsu.edu>

 

We tried to run the SPNP, but have the inconsistent results under the same environment parameters.

 

Environment parameters:

simulation method: Discrete event-simulation with batches number of batch: 1000

length of each simulation iteration/batch: 1000

 

Model:

M/M/1 with arrival rate 0.25 and service rate 0.75

 

If we choose only one analysis parameter: "probability that the given place is empty in steady-state", we can get the correct result

 

NET:

==========================================================================

        discrete places: 1

        immediate transitions: 0

        timed transitions: 2

        constant input arcs: 1

        constant output arcs: 1

        constant inhibitor arcs: 0

        variable input arcs: 0

        variable output arcs: 0

        variable inhibitor arcs: 0

==========================================================================

==========================================================================

 

                         TIME :   1.00E+03

 

==========================================================================

 

Simulation Analysis Result

Number of RUNS = 1000

==========================================================================

EXPECTED: Probability that the place P0 is empty in steady-state(-1)    =

6.4400e-01[6.0498e-01,6.8302e-01]  @90%

 

 

If we choose more analysis parameters under the same environment, results are different:

 

 

NET:

==========================================================================

        discrete places: 1

        immediate transitions: 0

        timed transitions: 2

        constant input arcs: 1

        constant output arcs: 1

        constant inhibitor arcs: 0

        variable input arcs: 0

        variable output arcs: 0

        variable inhibitor arcs: 0

==========================================================================

==========================================================================

 

                         TIME :   1.00E+03

 

==========================================================================

 

Simulation Analysis Result

Number of RUNS = 1000

==========================================================================

EXPECTED: Expected # of tokens of the place P0 in steady-state(-1)      =

2.2120e+00[1.9001e+00,2.5239e+00]  @90%

EXPECTED: Throughput of the transition T0 in steady-state(-1)   =

1.0000e+00[1.0000e+00,1.0000e+00]  @90%

EXPECTED: Throughput of the transition T1 in steady-state(-1)   =

1.0680e+00[9.5093e-01,1.1851e+00]  @90%

EXPECTED: Utilization for the transition T0 in steady-state(-1) =

4.0000e+00[4.0000e+00,4.0000e+00]  @90%

EXPECTED: Utilization for the transition T1 in steady-state(-1) =

1.4240e+00[1.2679e+00,1.5801e+00]  @90%

EXPECTED: Probability that the place P0 is empty in steady-state(-1)    =

2.5760e+00[2.4199e+00,2.7321e+00]  @90%

 

 

It seems that the SPNP engine for LINUX behaves not as I expected. The solution right now is to change the SPNP code generated and have only ONE

Solve(INFINITY) in the AC_FINAL function

 

 

 

The probability of place empty changes from 0.64 to 2.57. What's the problem of this?

 

2. We are interested in the expected waiting time of a priority queue, but there is no such analysis parameters in the tool. Do you think it is

ok if we find the queue size and then divided it by arrival rate, or add the output analysis parameters manually? What's your recommendation

about it?

 

The first one is correct. Following the Little’s law:

Response Time = Queue size / thoughput