soyMAIL 2.1.0 requires JavaScript
soyMAIL @ wasd.vsm.com.au
       info-WASD Mailing List 2023 

Sun 11:31:15 Message "2023 / 0087" opened.  MIME.  12 kbytes.    JavaScript

Subject:[Info-WASD] OpenVMS x86-64 V9.2-1 CPU profile (sorta continued)0087 / 0000
From:Mark.Daniel@wasd.vsm.com.au
Reply-to:info-wasd@vsm.com.au
Date:Thu, 29 Jun 2023 14:40:06 +0930  [29-JUN-2023 14:40]
To:info-WASD@vsm.com.au

TL;DR Kernel mode is still prominent under VMS V9.2-1

Have been busy reviewing OpenSSL 3.0 cipher suite specification(s) for
TLSv3.0, as prompted by a private comment from a WASD user.  The changes were
really quite straight-forward but of course now I cannot get a (possibly
related) function to work at all!!  All the way back to 11.5.1 under WASD SSL
1.1.1k it does not work.  Obviously something stoopid in my development
system(s) setup but after working two weeks (with close assistance from a
site running the same development code without issue) banging my head against
a concrete desktop, have taken some much needed respite.

So instead of some original "occasional thought", after an incremental O/S
update, returning to CPU (mode) observation.

CPU MODES II
~~~~~~~~~~~~

The WASD development X86 system was recently updated from V9.2 to V9.2-1, and
VSI X86VMS C X7.4-785 to VSI X86VMS C X7.4-726 (still a field test release).

One incidental notable is a static link against the OpenSSL object libraries
mow takes seconds as on other platforms, not hundreds of seconds as on
earlier releases of X86 VMS.

The VUPS.COM measurement has reduced by some 11% to 244 VUPs reported under
V9.2-1, from 272 reported under V9.2.  Seems consistent and no obvious reason
looking at the V9.2-1 modes profile below.

These relative performance data should be read in conjunction with

   https://wasd.vsm.com.au/info-WASD/2023/0077
   https://forum.vmssoftware.com/viewtopic.php?f=21&t=8654

As can be seen, there is very little difference in CPU mode profile between
V9.2-1 (above) and V9.2 (below).  Possibly a reduction in "Interrupt State"
made up in an increase in "Kernel Mode" (but that may well be within the
margin for error).  BUT STILL a significantly LARGER KERNEL mode usage
compared to the Alpha modes profile of the original article cited above.

At the time of writing the final forum entry against the item cited above was
from Clair Grant (Thu Jun 01, 2023 6:54 am) writing, "Interesting data. Once
9.2-1 ships in a few weeks we will starting looking into it."  This article
may be additional encouragement to that start.


|                            OpenVMS Monitor Utility
|            +-----+         TIME IN PROCESSOR MODES
|            | AVE |              on node X86VMS
|            +-----+         27-JUN-2023 21:05:18.38
|
|                                     0         25        50        75       100
|                                     + - - - - + - - - - + - - - - + - - - - +
| Interrupt State                   1 |
| MP Synchronization                  |
| Kernel Mode                      70 |****************************
| Executive Mode                    4 |*
| Supervisor Mode                     |
| User Mode                        19 |*******
| Compatibility Mode                  |
| Idle Time                         6 |**
|                                     + - - - - + - - - - + - - - - + - - - - +


|                            OpenVMS Monitor Utility
|            +-----+         TIME IN PROCESSOR MODES
|            | AVE |              on node X86VMS
|            +-----+         24-APR-2023 13:02:51.05
|
|                                     0         25        50        75       100
|                                     + - - - - + - - - - + - - - - + - - - - +
| Interrupt State                   6 |**
| MP Synchronization                  |
| Kernel Mode                      69 |***************************
| Executive Mode                    5 |**
| Supervisor Mode                     |
| User Mode                        17 |******
| Compatibility Mode                  |
| Idle Time                         3 |*
|                                     + - - - - + - - - - + - - - - + - - - - +


|Node: X86VMS                OpenVMS Monitor Utility     27-JUN-2023 21:05:20
|Statistic: AVERAGE             SYSTEM STATISTICS
|                                                     Process States
|          + CPU Busy (94)           -+         LEF:       5    LEFO:       0
|          |************************  |         HIB:      20    HIBO:       0
|CPU     0 +--------------------------+ 100     COM:       2    COMO:       0
|          |*****                     |         PFW:       0    CUR:        1
|          +--------------------------+         MWAIT:     0    Other:      0
|          Cur Top: /help+04C9 (87)                       Total: 28
|
|          + Page Fault Rate (36)    -+         + Free List Size (800838)  +
|          ||                         |         |********************      | 979K
|MEMORY  0 +--------------------------+ 500   0 +--------------------------+
|          |*                         |         |                          | 95K
|          +--------------------------+         + Mod List Size (822)      +
|          Cur Top: WASD:80_05E0 (27)
|
|          + Direct I/O Rate (48)    -+         + Buffered I/O Rate (121) -+
|          |**                        |         |******.                   |
|I/O     0 +--------------------------+ 500   0 +--------------------------+ 500
|          |                          |         |*                         |
|          +--------------------------+         +--------------------------+
|          Cur Top: /help+04C9 (10)             Cur Top: WASD:80 (30)


|Node: X86VMS                OpenVMS Monitor Utility     24-APR-2023 13:04:19
|Statistic: AVERAGE             SYSTEM STATISTICS
|                                                     Process States
|          + CPU Busy (96)           -+         LEF:      18    LEFO:       0
|          |************************  |         HIB:      16    HIBO:       0
|CPU     0 +--------------------------+ 100     COM:       5    COMO:       0
|          |*****                     |         PFW:       0    CUR:        1
|          +--------------------------+         MWAIT:     2    Other:      0
|          Cur Top: WASD:80_05E8 (22)                     Total: 42
|
|          + Page Fault Rate (152)   -+         + Free List Size (599239)  +
|          |*|*****                   |         |****************          | 947K
|MEMORY  0 +--------------------------+ 500   0 +--------------------------+
|          |*                         |         |                          | 95K
|          +--------------------------+         + Mod List Size (1091)     +
|          Cur Top: WASD:80_05E0 (27)
|
|          + Direct I/O Rate (133)   -+         + Buffered I/O Rate (349) -+
|          |******                    |         |******************        |
|I/O     0 +--------------------------+ 500   0 +--------------------------+ 500
|          |                          |         |*****                     |
|          +--------------------------+         +--------------------------+
|          Cur Top: WASD:80_05E2 (6)            Cur Top: WASD:80 (97)


MULTIPLE CPUs
~~~~~~~~~~~~~

Out of curiosity, I decided to (re)enable 2 CPUs on the X86 VM and compare to
the single CPU modes results.  The idea was to get some feeling for
Multi-Processor considerations and any associated higher mode activity. 
OWASP ZAP was configured for a maximum of 20 concurrent requests, with
average CPU Modes and System Statistics collected for a duration of 4 hours
and just over 1M requests.

Observations: Obviously MP Synch occurs now the system is not single CPU. 
And Interrupt activity is more prominent.  Kernel mode is up but not in
proportion to the number of CPUs.  Exec mode makes a stronger appearance. 
User mode appears to be about the same as with a single CPU.  Idle time
definitely makes the 2nd CPU worth the while.

|                            OpenVMS Monitor Utility
|            +-----+         TIME IN PROCESSOR MODES
|            | AVE |              on node X86VMS
|            +-----+         28-JUN-2023 20:07:17.73
|
|Combined for  2 CPUs                 0         50        100       150      200
|                                     + - - - - + - - - - + - - - - + - - - - +
| Interrupt State                  18 |***
| MP Synchronization               12 |**
| Kernel Mode                      79 |***************
| Executive Mode                   14 |**
| Supervisor Mode                   1 |
| User Mode                        18 |***
| Compatibility Mode                  |
| Idle Time                        58 |***********
|                                     + - - - - + - - - - + - - - - + - - - - +

|Node: X86VMS                OpenVMS Monitor Utility     28-JUN-2023 20:07:08
|Statistic: AVERAGE             SYSTEM STATISTICS
|                                                     Process States
|          + CPU Busy (142)          -+         LEF:      14    LEFO:       0
|          |*******************       |         HIB:      20    HIBO:       0
|CPU     0 +--------------------------+ 100     COM:       3    COMO:       0
|          |********                  |         PFW:       0    CUR:        2
|          +--------------------------+         MWAIT:     1    Other:      0
|          Cur Top: WASD:80 (54)                          Total: 41
|
|          + Page Fault Rate (530)   -+         + Free List Size (806199)  +
|          |*******|******************|         |********************      | 979K
|MEMORY  0 +--------------------------+ 500   0 +--------------------------+
|          |                          |         |                          | 98K
|          +--------------------------+         + Mod List Size (946)      +
|          Cur Top: TP_SERVER (0)
|
|          + Direct I/O Rate (376)   -+         + Buffered I/O Rate (1251)-+
|          |*******************       |         |**************************|
|I/O     0 +--------------------------+ 500   0 +--------------------------+ 500
|          |*******************       |         |**************************|
|          +--------------------------+         +--------------------------+
|          Cur Top: WASD:80 (382)               Cur Top: WASD:80 (1848)

The HTTPDMON utility records associated request statistics.

| X86VMS:: 1         HTTPDMON v3.1.0 X86         Wednesday, 28-JUN-2023 20:07:16
|
| Process: WASD:80  PID: 00000944  User: HTTP$SERVER  Version: 12.1.2
|      Up: 0 03:59:37.83  CPU: 0 01:50:02.90  Startup: 1
| Pg.Flts: 3302  Pg.Used: 15%  WsSize: 92768  WsPeak: 58224
|     AST: 1915/2000  BIO: 1939/2000  BYT: 3976512/3976768  DIO: 948/1000
|     ENQ:  471/500   FIL:  494/500   PRC:     100/100       TQ:  98/100
|
| Request: 1115672  Current: 18/10/0/0  Throttle: 0/0/0%  Peak: 25/24
|  HTTP/2: 0/0%  /1.n: 1115672/100%  SSL: 3/0%  WS: 0/0%  Busy: 00
| CONNECT: 0  GET: 1069330  HEAD: 0  POST: 46340  PUT: 0  (0)
|   Admin: 0  Cache: 6552/47/0  DECnet: 0/0  Dir: 126121
|     DCL: CGI:37170 CGIplus:14450/13790 RTE:201/106 Prc:949/0 Prct:1
|    File: 842851/0  Proxy: 0  Put: 37452  SSI: 4000  WebDAV: 0/0
|
|     0xx: 0  2xx: 1002034  3xx: 4141  4xx: 51109 (403:39820)  5xx: 58387
|      Rx: 769,326,142 (0 err) Tx: 95,208,807,480 (0 err) (248kB/s)
8< snip 8<

Considering X86-64 cores are "cheaper by the dozen" (so to speak), 4 and 6
core chips the norm even on commodity desktops, all other considerations
aside, it will be simple and cost-effective to throw cores (and memory) at
VMS systems like seldom possible before.

Though for WASD, processing ~77 requests per second on a moderately equipped,
4 core 16GB pre-loved desktop, it seems as if half of one of those 2 VM cores
will still be idle.  YMMV.

This item is one of a collection at
https://wasd.vsm.com.au/other/#occasional

  ¤¤¤       
  ¤¤¤