#Annotated Output File from LQNS #... the input file was "template.lqn" Copyright the Real-Time and Distributed Systems Group, Department of Systems and Computer Engineering Carleton University, Ottawa, Ontario, Canada. K1S 5B6 Generated by lqns, version 28.2 (UNIX) Input: template.lqn Output: template.out # the output file echose any introductory comments which are enclosed # in "" in the G section of the input file Comment: This first section id called the General section. This field in quotes is a comment or name for the model... This model is a restricted template for lqns, without activities and parallelism. --- Comments beginning with # define the meaning of the records. --- Example values are given that define an example model. They excercise most but not all of the syntax; you can infer the rest from what is here. --- You can load and run this model with the statement 'lqns template.lqn', the output goes into template.out. --- for explanation of all run-time options of lqns, enter lqns -h --- To use the template, edit the records to represent the information that you want. Delete records that do not apply to your model. # This value must meet a target that is set in the options in the G #section. The default is 10 -6. This is a measure of the difference between the #values (at successive iterations) of a whole lot of performance #values. A test value of .000001 does not that results are that #accurate, it depends on how much the result is chanmging at each #iteration. #If the test value achieved in the max iterations (default value of 50) #is greater than the set target, the program says it "has not #converged". However the result can be used with caution. This #condition usually means that the solution is oscillating around the #acutal solution, in which case the error is no more than the achieved #test value. Convergence test value: 5.58033e-06 Number of iterations: 6 #Each layer model gets solved once or twice at each iteration, and it #is itself an iterative calculation MVA solver information: Layer n step() mean stddev wait() mean stddev 1 6 66 11 1 2268 378 78 2 11 58 5.2727 0.14084 1232 112 6.1968 3 11 190 17.273 0.14084 1.1822e+05 10748 177.45 4 6 57 9.5 0.22361 4344 724 33.988 Total 34 371 10.912 0.86666 1.2607e+05 3707.9 850.19 #CPU time stats... homefree.sce.carleton.ca SunOS 5.7 User: 0:00:00.17 System: 0:00:00.00 Elapsed: 0:00:00.20 # An echo of the input starts here Processor identifiers and scheduling algorithms: Processor Name Type Copies Scheduling UserP Inf 1 DELAY ReservP Uni 1 FCFS (V phases) DBP Uni 1 FCFS (V phases) DBDiskP Uni 1 FCFS (V phases) ReservDiskP Uni 1 FCFS (V phases) CCReqP Inf 1 DELAY Task information: Task Name Type Copies Processor Name Pri Entry List Users ref(100) 1 UserP 0 users (2,V phases) Reserv serv 1 ReservP 0 connect, interact, disconnect (2,V phases) DB serv 1 DBP 0 dbupdate (V phases) Netware serv 1 ReservP 0 netware (V phases) DBDisk serv 1 DBDiskP 0 dbDisk (V phases) ReservDisk serv 1 ReservDiskP 0 reservDisk (V phases) CCReq inf 1 CCReqP 0 ccreq #These are the s values by phase Entry execution demands: Task Name Entry Name Phase 1 Phase 2 Users users 0 56 Reserv connect 0.001 0 interact 0.0014 0 disconnect 0.0001 0.0007 DB dbupdate 0.0085 0 Netware netware 0.0012 0 DBDisk dbDisk 0.011 0 ReservDisk reservDisk 0.011 0 CCReq ccreq 3 0 # These ar the y values by phase of the sender Mean number of rendezvous from entry to entry: Task Name Source Entry Target Entry Phase 1 Phase 2 Users users connect 0 1 users interact 0 6 users disconnect 0 6 Reserv connect netware 1 0 interact netware 1 0 interact ccreq 0.1 0 interact dbupdate 1.15 0 disconnect netware 1 0 disconnect dbupdate 1 0 DB dbupdate dbDisk 2 0 Netware netware reservDisk 1.5 0 # Optionally there may also be async messages (z values) Phase type flags: All phases are stochastic. #(f = 0, the default) Squared coefficient of variation of execution segments: All executable segments are exponential. #(c = 1, the default, and necessary for stochastic phases) Open arrival rates per entry: All open arrival rates are 0. #The input echo ends here**************************** # These bounds are found by assuming no waiting anywhere, and are # optimistic; theyare also used as a starting point of the iteration. Type 1 throughput bounds: Task Name Entry Name Throughput Users users 0.0171135 Reserv connect 53.4759 interact 2.82346 disconnect 20.4082 DB dbupdate 32.7869 Netware netware 56.4972 DBDisk dbDisk 90.9091 ReservDisk reservDisk 90.9091 CCReq ccreq 0.333333 # Results start here************************* # This block gives the queueing time of a message at an entry, which # may be different for different source entries/phases of the message. # ... so the phases are phases of the source entry! Mean delay for a rendezvous: Task Name Source Entry Target Entry Phase 1 Phase 2 Users users connect 0 16.8458 users interact 0 16.8458 users disconnect 0 16.8458 Reserv connect netware 0 interact netware 0 interact ccreq 0 interact dbupdate 0 disconnect netware 0 0 disconnect dbupdate 0 0 DB dbupdate dbDisk 0 Netware netware reservDisk 0 # The service time of a phase is its wall clock time from starting to # work on a message, to finishing. It includes waiting for the # processor and blocing for nested requests. It is greater than the s # value for the phase, which is its "host service demand" Service times: Task Name Entry Name Phase 1 Phase 2 Users users 0 277.429 Reserv connect 0.0187 0 interact 0.354175 0 disconnect 0.0483 0.0007 DB dbupdate 0.0305 0 Netware netware 0.0177 0 DBDisk dbDisk 0.011 0 ReservDisk reservDisk 0.011 0 CCReq ccreq 3 0 # included out of interest but rarely used Service time variance (per phase) and squared coefficient of variation (over all phases): Task Name Entry Name Phase 1 Phase 2 coeff of var **2 Users users 0 114381 1.48612 Reserv connect 0.00156852 0 4.48544 interact 1.94631 0 15.5159 disconnect 0.00620744 4.9e-07 2.58556 Reserv Total 0.92515 DB dbupdate 0.00149492 0 1.60701 Netware netware 0.00074889 0 2.39041 DBDisk dbDisk 0.000121 0 1 ReservDisk reservDisk 0.000121 0 1 CCReq ccreq 9 0 1 # This is the key set of results. # Throughput is for the entry, # Utilization is for the phase, and total is for the entry # For a multi-threaded task the utilization is the "mean number of # busy threads", so it can go up to m. # for a multi-entry task there is a "total" line for the task as a # whole # Response time for the users can be found in two ways: # ... take the service time of the user entry, and subtract the local # service and think time of each user. # ... add up the service times of the entries called from user plus the # waiting times (multiplied by their frequencies y) Throughputs and utilizations per phase: Task Name Entry Name Throughput Phase 1 Phase 2 Total Users users 0.360453 0 99.9999 99.9999 Reserv connect 0.360453 0.00674047 0 0.00674047 interact 2.16272 0.76598 0 0.76598 disconnect 2.16272 0.104459 0.0015139 0.105973 Total 4.68589 0.87718 0.0015139 0.878694 DB dbupdate 4.64984 0.14182 0 0.14182 Netware netware 4.68589 0.0829402 0 0.0829402 DBDisk dbDisk 9.29969 0.102297 0 0.102297 ReservDisk reservDisk 7.02883 0.0773172 0 0.0773172 CCReq ccreq 0.216272 0.648815 0 0.648815 # Processor results. Each phase of each entry has figures for its #processor utilization (mean number of busy processors if it is a #multiporcessor, given by n > 1), and the total waiting time at the # processor during execution of each phase. In this example there is # processor waiting only at ReservP because other tasks have a private # processor. Utilization and waiting per phase for processor: UserP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait Users 0 100 users 20.1854 0 0 Utilization and waiting per phase for processor: ReservP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait Reserv 0 1 connect 0.000360453 3.27442e-13 0 interact 0.0030278 3.27442e-13 0 disconnect 0.00173017 3.27442e-13 3.27442e-13 Reserv Total 0.00511843 Netware 0 1 netware 0.00562307 0 0 Total processor utilization: 0.0107415 Utilization and waiting per phase for processor: DBP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait DB 0 1 dbupdate 0.0395237 0 0 Utilization and waiting per phase for processor: DBDiskP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait DBDisk 0 1 dbDisk 0.102297 0 0 Utilization and waiting per phase for processor: ReservDiskP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait ReservDisk 0 1 reservDisk 0.0773172 0 0 Utilization and waiting per phase for processor: CCReqP Task Name Pri n Entry Name Utilization Ph1 wait Ph2 wait CCReq 0 1 ccreq 0.648815 0 0