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