[Info-vax] VUPS.COM relevance for modern CPUs
Andreas Gruhl
gruhl at isidata.de
Tue Dec 20 08:56:38 EST 2022
Mark Daniel schrieb am Montag, 19. Dezember 2022 um 06:01:45 UTC+1:
> On 17/12/2022 10:13 am, Mark Daniel wrote:
> > On 16/12/2022 10:27 pm, Mark Daniel wrote:
> >> Now, before everyone piles on, I understand the procedure provides an
> >> indicative/comparative/finger-in-the-air measurement of the relative
> >> performance of a VMS CPU relative to "the original VAX processor".
> > 8< snip 8<
> >
> > Thanks to all those who contributed to this thread.
> >
> > The followup that caught my eye was from Simon Clubley who provided an
> > entirely convincing explanation for the elevated X86 Kernel mode.
> >
> > Also his pointer to BogoMips. Most interesting. I read the FAQ and
> > accessed the github code. Quite straighforward. Might be a good
> > replacement as a general performance metric.
> >
> > https://github.com/vitalyvch/Bogo/blob/BogoMIPS_v1.3/bogomips.c
> 8< snip 8<
>
> For general VMS comparative usage something more VMS-measuring is
> needed. I looked about the 'net and nothing sprang out. I wonder what
> VSI are using for metrics on X86 development? Anything lurking in the
> DECUS/Freeware repositories I missed?
>
> Anyway, in the absence of anything else, I was thinking about what may
> consume "non-productive" VMS cycles (i.e. non-USER mode crunching :-)
> and all I could think of were the transitions between USER, EXEC and
> KERNEL modes. As required by RMS, $QIO, drivers, etc., etc. No SUPER
> modes measured here.
>
> With this in mind I knocked-up a small program to repeatedly call a
> function using $CMEXEC which calls a function using $CMKRNL and that is
> that. It measures how much effort is required compared to the simple
> USER mode loop and reports it as b[ogo]VUPs.
>
> https://wasd.vsm.com.au/wasd_tmp/bogovups.c
>
> The real disappointment is my X86 VM. The rest of the results seem in
> line with expectations.
>
> PS. Looking for ideas, suggestions, criticism(s), etc. here...
> --
I ran your program in two of our own environments with the following rsults:
|AlphaServer ES45 Model 1B 4 CPUs 16384MB V8.4-2L2
|Calculating IPS...
|321.000000 cpu-ticks, 3.279087 seconds, 609925873 / second
|Calculating bVUPs...
|1645.000000 cpu-ticks, 16.614445 seconds, 370.8 bVUPs
|9157.000000 cpu-ticks, 91.599084 seconds, 10.8 bVUPs
|HP DL380 2.6 GHz VMware, Inc. 4 CPUs 15868MB V9.2
|Calculating IPS...
|459.000000 cpu-ticks, 4.589954 seconds, 435734205 / second
|Calculating bVUPs...
|7470.000000 cpu-ticks, 74.799252 seconds, 58.3 bVUPs
Sorry to say, but your bVUPs computation is not very useful.
This is because you divide dins [instructions/sec] by dticks [0.01 sec].
Insead of being dimensionless (like a good VUP ought to be)
your result has the physical unit of [ 1/sec²].
My own interpretation of the figures given above is:
X86 integer performance reaches 71% of ES45 (321/459 Ticks)
X86 change mode performance reaches 22% of ES45 (1645/7470 Ticks)
This not bad given the fact, that the C crosscompiler currently attempts no
optimization at all (as I know from an extraordinarily well informed source).
Andreas
More information about the Info-vax
mailing list