Page 3 of 3
OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Thu Apr 27, 2023 5:57 pm
by mgdaniel
This originated from a post to the info-WASD mailing list noting the very significant more
KERNEL mode used by x86-64 VMS V9.2
https://wasd.vsm.com.au/info-WASD/2023/0077
This also kicked-off a discussion on c.o.v.
https://groups.google.com/g/comp.os.vms/c/Eu2eP4Yid7Y
In that post I observe a very
significant increase in KERNEL mode usage on X86 V9.2 compared to my Alpha V8.4 and basically ask why?
(my uninformed conjecture was memory KESU access via emulation, probably at least that)
Is there someone or somewhere that can explain why the KERNEL mode is the standout in this simple baseline test?
For those who will not read the full test of the above post I'd like to emphasise the
ZAP crawl was the most equitable (and easy for me to setup).
ZAP is also used for this KERNEL mode exercise because it results in a
"crawl" of similar portions of underlying files and executables (scripts)
across multiple independent systems and so represents similar profiles of
NETWORK, SYSTEM SERVICE, APPLICATION ACTIVATION AND OTHER ASPECTS of system
behaviour.
Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Thu Jul 06, 2023 8:44 pm
by mgdaniel
Not wishing in particular to continue flogging this particular horse (all previous disclaimers regarding unoptimised releases, etc. applied) but I cannot see the difficulty in reproducing the outstanding kernel mode.
Just doing a simple DCL procedure mediated CC build of 102 modules and static linking these against SSL3 on each of the previously described X86 and Alpha platforms shows X86 kernel mode to be 6x that on Alpha and occupying half the CPU (close enough). Duration of build on X86 0 00:11:38.41 and on Alpha 0 00:13:54.13, so proportional to the VUPS.COM of their respective performance.
This simple build does not exercise the more diverse range of "NETWORK, SYSTEM SERVICE, APPLICATION ACTIVATION AND OTHER ASPECTS of system behaviour" claimed for the OWASP ZAP crawl which certainly could account for the +~20% kernel mode on top of the simple build.
Code: Select all
OpenVMS Monitor Utility
+-----+ TIME IN PROCESSOR MODES
| AVE | on node X86VMS
+-----+ 7-JUL-2023 09:29:03.41
0 25 50 75 100
+ - - - - + - - - - + - - - - + - - - - +
Interrupt State |
MP Synchronization |
Kernel Mode 48 |*******************
Executive Mode 4 |*
Supervisor Mode |
User Mode 48 |*******************
Compatibility Mode |
Idle Time 1 |
+ - - - - + - - - - + - - - - + - - - - +
OpenVMS Monitor Utility
+-----+ TIME IN PROCESSOR MODES
| AVE | on node KLAATU
+-----+ 7-JUL-2023 09:28:21.51
0 25 50 75 100
+ - - - - + - - - - + - - - - + - - - - +
Interrupt State |
MP Synchronization |
Kernel Mode 8 |**
Executive Mode 6 |**
Supervisor Mode |
User Mode 82 |********************************
Compatibility Mode |
Idle Time 4 |*
+ - - - - + - - - - + - - - - + - - - - +
Node: X86VMS OpenVMS Monitor Utility 7-JUL-2023 09:29:04
Statistic: AVERAGE SYSTEM STATISTICS
Process States
+ CPU Busy (98) -+ LEF: 3 LEFO: 0
|************************* | HIB: 20 HIBO: 0
CPU 0 |--------------------------| 100 COM: 1 COMO: 0
|********************** | PFW: 0 CUR: 1
+--------------------------+ MWAIT: 0 Other: 0
Cur Top: FTA9_SYSTEM (85) Total: 25
+ Page Fault Rate (968) -+ + Free List Size (808442) +
|*|************************| |******************** | 979K
MEMORY 0 |--------------------------| 500 0 |--------------------------|
|**************************| | | 98K
+--------------------------+ + Mod List Size (938) +
Cur Top: FTA9_SYSTEM (5427)
+ Direct I/O Rate (296) -+ + Buffered I/O Rate (218) -+
|*************** | |*********** |
I/O 0 |--------------------------| 500 0 |--------------------------| 500
|**************************| |************** |
+--------------------------+ |--------------------------+
Cur Top: FTA9_SYSTEM (1105) Cur Top: FTA9_SYSTEM (277)
Node: KLAATU OpenVMS Monitor Utility 7-JUL-2023 09:28:21
Statistic: AVERAGE SYSTEM STATISTICS
Process States
+ CPU Busy (98) -+ LEF: 10 LEFO: 0
|************************* | HIB: 18 HIBO: 0
CPU 0 |--------------------------| 100 COM: 1 COMO: 0
|************************ | PFW: 0 CUR: 1
+--------------------------+ MWAIT: 0 Other: 0
Cur Top: _FTA3: (96) Total: 30
+ Page Fault Rate (968) -+ + Free List Size (157881) +
||*************************| |******************** | 192K
MEMORY 0 |--------------------------| 500 0 |--------------------------|
|**************************| |*** | 19K
+--------------------------+ + Mod List Size (2667) +
Cur Top: _FTA3: (575)
+ Direct I/O Rate (84) -+ + Buffered I/O Rate (189) -+
|**** | |********* |
I/O 0 |--------------------------| 500 0 |--------------------------| 500
|**************************| |*************** |
|--------------------------+ +--------------------------+
Cur Top: _FTA3: (1011) Cur Top: _FTA3: (305)
Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Fri Jul 07, 2023 6:01 am
by cgrant
I now have reproducers.
Clair
Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Mon Jul 10, 2023 9:27 am
by cgrant
RE: GETSYI in a loop - lots of mode switching and lots of PROBEs, both of which are "expensive" and completely different on x86. Nothing functionally newsworthy there. We will look deeper once we build with optimizing compilers.
RE: PRIME_SIEVE - will start looking at this soon
Clair
Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Mon Jul 10, 2023 1:10 pm
by volkerhalle
cgrant wrote: ↑Mon Jul 10, 2023 9:27 am
RE: PRIME_SIEVE - will start looking at this soon
Clair,
I've used PRIME_SIEVE, which consumes 100% USER mode, primarily to show the raw CPU speed of the x86-64 CPUs. And to compare the CPU speed with the other systems and the other architectures (to try to 'calibrate' the VUPS procedure).
Volker.
Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles
Posted: Tue Jul 11, 2023 5:30 am
by cgrant
I got a version of PRME_SIEVE off the net and it exhibited the same PC Sampling characteristics on x86 as did GETSYI in a loop. I does not seem there is anymore to learn from these particular exercises at the moment.
Clair