Menu

#149 Add response time panel to JMVA

JMVA
closed
nobody
None
5
2024-06-06
2024-04-02
Greg Franks
No

See attached model. QNAP2 reports an aggregate residence time at Disk_B of 0.3166.

 *******************************************************************

 *  name    *  service * busy pct *  cust nb * response *  thruput *
 *******************************************************************
 * Disk_B   *0.1855    *0.4528    *0.7729    *0.3166    * 2.441    *
 *(OE      )*0.2430    *0.3877    *0.6590    *0.4130    * 1.595    *
 *(OI      )*0.7700E-01*0.6510E-01*0.1139    *0.1347    *0.8455    *

JMVA is reporting 0.2805. The per-class residence times from JMVA match qnap2.

This is a three class model with zero visits from class "Other" to Disk_B. The system throughput is 2.7555. The throughput at Disk_B is 2.441. If I calculate the residence time for Disk_B as the weighted average using the the throughput at Disk_B as the denominator, I get the result QNAP2 reports. However, to get the number reported by JMVA, I have to use the system throughput. This discrepency shows up in the System Response Time output.

1 Attachments

Discussion

  • Giuliano Casale

    Giuliano Casale - 2024-05-15

    Thank you for flagging this Greg, we are checking and we will follow up.

    This discrepency shows up in the System Response Time output.

    Would you please have more information on this point, in particular the system response time returned by QNAP2? Thanks.

     
  • Greg Franks

    Greg Franks - 2024-05-15

    I have attached the full output from qnap2. It includes the source code for qnap2. The output above is for Beta=1..5.

    Here is the output from JMVA for Disk B with Beta=5. The per-class results match (though qnap2 uses real*4).

    System response time is a derived value.

      <stationresults station="Disk B">
    <classresults customerclass="OE">
      <measure meanValue="0.6589864605709487" measureType="Number of Customers" successful="true"/>
      <measure meanValue="1.5954233130406923" measureType="Throughput" successful="true"/>
      <measure meanValue="0.4130480325719929" measureType="Residence time" successful="true"/>
      <measure meanValue="0.3876878650688882" measureType="Utilization" successful="true"/>
    </classresults>
    <classresults customerclass="OI">
      <measure meanValue="0.11387064077732627" measureType="Number of Customers" successful="true"/>
      <measure meanValue="0.8455158521974914" measureType="Throughput" successful="true"/>
      <measure meanValue="0.13467593834151903" measureType="Residence time" successful="true"/>
      <measure meanValue="0.06510472061920683" measureType="Utilization" successful="true"/>
    </classresults>
    <classresults customerclass="Other">
      <measure meanValue="0.0" measureType="Number of Customers" successful="true"/>
      <measure meanValue="0.0" measureType="Throughput" successful="true"/>
      <measure meanValue="0.0" measureType="Residence time" successful="true"/>
      <measure meanValue="0.0" measureType="Utilization" successful="true"/>
    </classresults>
      </stationresults>
    
     
  • Giuliano Casale

    Giuliano Casale - 2024-05-17

    Many thanks for flagging this matter and sharing the additional results. We ran various checks also using CTMCs and exact MVA.

    We confirm that JMVA uses the scaling based on dividing by the System throughput. JMT as a whole follows the Lazowska's book conventions, so this is not a bug but rather a design choice.

    We also do not observe discrepancies in our tests between exact solvers and JMVA relative to the System Response Time (R), the values are consistent within the Lazowska's book conventions.

    We adopt the formula style R=\sum_{c=1}^C R_c * X_c/X, where c is the class index, R_c the System Response Time of class c, X_c the system tput of class c, and X=\sum_{c=1}^C X_c, see sec 4.4 of the Lazowska's book.

    In the example at hand, the system response time with this convention becomes 7.2583 (including the time spent at the delay), more precisely

    \sum_c SysRespT(c) * Tput(c)/Tput(total) = 6.2679 * 1.5954 / 2.7555 + 5.9135 * 0.84552 / 2.7555 + 15.8966 * 0.31453 / 2.7555 = 7.2581 (rounds to 7.2583 with additional decimals).

    Thanks again and please let us know if anything has been overlooked

    Giuliano and Giuseppe

     

    Last edit: Giuliano Casale 2024-05-17
  • Greg Franks

    Greg Franks - 2024-05-17

    The underlying MVA solver is working fine. MVA does not compute the average over all classes directly. Disk B does not see the system throughput. It only sees throughput from two classes. Since the average response time is computed using the throughput result, the value is too high (Disk B only sees a fraction of the total throughput).

     
  • Giuliano Casale

    Giuliano Casale - 2024-05-20

    Ticket moved from /p/jmt/bugs/136/

     
  • Giuliano Casale

    Giuliano Casale - 2024-05-20

    Thanks. We moved this to a feature request because this is what we refer to as aggregate response time rather than aggregate residence time. With JSIMgraph you will get the right value you say if you select the 'All classes' response time at the resource.

    Because JMVA's what-if shows only aggregate residence time, the request amounts to also showing aggregate response time in JMVA that is a new feature.

     
  • Giuliano Casale

    Giuliano Casale - 2024-05-22
    • summary: Aggregate residence time/response time incorrect for station with zero visits --> Add response time panel to JMVA
     
  • Giuliano Casale

    Giuliano Casale - 2024-06-06

    This feature has now been added to the upcoming JMT-1.3.0 release.

     
  • Giuliano Casale

    Giuliano Casale - 2024-06-06
    • status: open --> closed
     

Anonymous
Anonymous

Add attachments
Cancel