OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles


Topic author
mgdaniel
Valued Contributor
Posts: 72
Joined: Mon Feb 28, 2022 5:16 pm
Reputation: 0
Location: Adelaide, South Australia
Status: Offline
Contact:

OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by mgdaniel » Thu Apr 27, 2023 5:57 pm

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.


Topic author
mgdaniel
Valued Contributor
Posts: 72
Joined: Mon Feb 28, 2022 5:16 pm
Reputation: 0
Location: Adelaide, South Australia
Status: Offline
Contact:

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by mgdaniel » Thu Jul 06, 2023 8:44 pm

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)


cgrant
VSI Expert
Contributor
Posts: 23
Joined: Mon Aug 09, 2021 9:01 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by cgrant » Fri Jul 07, 2023 6:01 am

I now have reproducers.

Clair


cgrant
VSI Expert
Contributor
Posts: 23
Joined: Mon Aug 09, 2021 9:01 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by cgrant » Mon Jul 10, 2023 9:27 am

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

User avatar

volkerhalle
Master
Posts: 213
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by volkerhalle » Mon Jul 10, 2023 1:10 pm

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.


cgrant
VSI Expert
Contributor
Posts: 23
Joined: Mon Aug 09, 2021 9:01 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by cgrant » Tue Jul 11, 2023 5:30 am

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


sthomas
Newbie
Posts: 4
Joined: Fri Apr 19, 2024 11:44 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by sthomas » Wed Oct 02, 2024 11:20 am

volkerhalle wrote:
Fri Apr 28, 2023 5:29 am
Mark,

if you're interested in the details of the KERNEL mode usage, consider to run the following to provide more detailled information (copied from my reply in comp.os.vms):

here are some MONITOR MODE/AVERAGE examples from running the SAME SRI_VUPS_NEW.COM procedure on otherwise idle systems for 3 different architectures Alpha (emulated), I64 (rx2600) and x86-64 E9.2-1
...
Results of PRIME_SIEVE calculating prime numbers up to 10^10:
Reference: http://wwwhomes.uni-bielefeld.de/achim/prime_sieve.html
Where can one acquire copies of this SRI_VUPS_NEW.COM and the PRIME_SIEVE code you used for your tests? Googling for "SRI_VUPS_NEW.COM" lead only to this thread. It would be nice to be able to reproduce these results on my installation(s).

The most recent VUPS.COM I have is from a post you made ~14 years ago on openvmshobbyist.com. https://www.openvmshobbyist.com/forum/v ... rowstart=0

Thanks,
Sam

User avatar

volkerhalle
Master
Posts: 213
Joined: Fri Aug 14, 2020 11:31 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by volkerhalle » Wed Oct 02, 2024 11:31 am

Sam,

a copy of VUPS.COM is available from https://emuvm.com/download/vups-com-benchmark/

A link to a page containing the PRIME_SIEVE source is in my reply to this topic above (from 28 Apr 2023, 08:46):

https://wwwhomes.uni-bielefeld.de/achim/prime_sieve.c

Volker.


sthomas
Newbie
Posts: 4
Joined: Fri Apr 19, 2024 11:44 am
Reputation: 0
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by sthomas » Wed Oct 02, 2024 4:10 pm

Thank you!

User avatar

imiller
Master
Posts: 179
Joined: Fri Jun 28, 2019 8:45 am
Reputation: 0
Location: South Tyneside, UK
Status: Offline
Contact:

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by imiller » Thu Oct 03, 2024 11:16 am

Quick test on my Windows 10 Laptop running Oracle VirtualBox V7.0.10 using the VUPS.COM from emuvm.com

Code: Select all

V9.2-3 FT  Approximate System VUPs Rating : 737.3 ( min: 725.6 max: 753.4 )
v9.2-2     Approximate System VUPs Rating : 680.0 ( min: 656.6 max: 699.8 )
Ian Miller
[ personal opinion only. usual disclaimers apply. Do not taunt happy fun ball ].

User avatar

cct
Master
Posts: 237
Joined: Sat Aug 15, 2020 9:00 am
Reputation: 0
Location: Cambridge, UK
Status: Offline

Re: OpenVMS x86-64 V9.2 and Alpha V8.4-2L1 CPU profiles

Post by cct » Thu Oct 03, 2024 11:52 am

Mine on a NUC12 with a 12 series I5 - Ubuntu 22,04, KVM

Code: Select all

 V9.2-2  Approximate System VUPs Rating : 988.0 ( min: 988.0 max: 988.0 )
 E9.2-3  Approximate System VUPs Rating : 999.0 ( min: 999.0 max: 999.0 )
Last edited by cct on Thu Oct 03, 2024 11:53 am, edited 1 time in total.
Chris Townley
VMS Ambassador

Post Reply