[Info-vax] VUPS.COM relevance for modern CPUs

Dave Froble davef at tsoft-inc.com
Fri Dec 16 13:44:27 EST 2022


On 12/16/2022 8:31 AM, Simon Clubley wrote:
> On 2022-12-16, Mark Daniel <mark.daniel at wasd.vsm.com.au> wrote:
>>
>> It seems to be implemented as a tight DCL loop that executes almost
>> entirely in inner modes (I'm sure Brian can explain why).
>>
>
> Unless CPU instructions execute at a different rate in inner modes,
> that by itself should make no difference. However, there is one area
> in which that could maybe matter for x86-64. See below.
>
>> $ start_cputime = f$getjpi(0,"CPUTIM")
>> $ loop_index = 0
>> $ 10$:
>> $ loop_index = loop_index + 1
>> $ if loop_index .ne. init_loop_maximum then goto 10$
>> $ end_cputime = f$getjpi(0,"CPUTIM")
>>
>> |Combined for  2 CPUs         0         50        100       150      200
>> | Interrupt State             |                                       |
>> | MP Synchronization          |                                       |
>> | Kernel Mode              21 |????                                   |
>> | Executive Mode           21 |????                                   |
>> | Supervisor Mode          58 |???????????                            |
>> | User Mode                   |                                       |
>> | Compatibility Mode          |                                       |
>> | Idle Time                99 |???????????????????                    |
>>
>> 100% (or all-but) of this execution appears to be in inner modes.
>> Although X86 (above) seems to to have much more Kernel than other
>> architectures, e.g. IA64 below).  There is no USER mode displayed in either.
>>
>
> And that's the difference (and what you are seeing is what I would expect).
>
> Don't forget that Executive and Supervisor modes on x86-64 VMS are purely
> an illusion and don't forget that effort is expended in Kernel mode to
> switch to and from the emulation of those modes.
>
>>
>> Are the Alpha tweaks sufficient to allow relevance for all 64bit CPUs?
>>
>> Are further tweaks required to make measurements on Itania relevant?
>>
>> And of course the same question for the successor to all three
>> architectures?
>>
>
> I think you are now seeing the limits of trying to do this in DCL.
>
> Given all the Executive and Supervisor mode overheads in x86-64 VMS,
> I think the only sensible solution is to implement this as a user-mode
> compiled program so that you really are testing the relative CPU performance.
>
> You are certainly going to see issues when trying to compare Intel with
> AMD processors for example (due to the lack of PCID on AMD processors).
>
> I was going to compare VUPS.COM to the BogoMIPS measurement used on Linux,
> but there are issues addressed during the calculation of BogoMIPS that
> cannot be addressed when trying to do this at DCL level. The following is
> a pretty good summary of how BogoMIPS works:
>
> https://en.wikipedia.org/wiki/BogoMips
>
> BTW, there is one very interesting thing mentioned in the above article
> that I had not considered until now when it comes to VMS on x86-64:
>
> Does x86-64 VMS implement dynamic frequency scaling or does it run the
> CPUs flat out at 100% of maximum speed all the time ?
>
> As a final note, VUPS.COM only tests relative CPU performance. Should there
> now be additional testing programs to test I/O subsystem performance ?
>
> Simon.
>

Of course there can be more specific, and accurate, means of such measurements. 
But as Volker mentioned, what was desired was a rough wild ass gestimate of what 
one might expect.  For example, if the same code run on system "B" was twice as 
fast as on system "A", then one might reasonable expect that system "B" would do 
more work than system "A".  Many times that is adequate.

-- 
David Froble                       Tel: 724-529-0450
Dave Froble Enterprises, Inc.      E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA  15486



More information about the Info-vax mailing list