Some good success tonight – the VAX MP (MultiProcessor) emulator is now up and running on the DL380 G5 following the fix graciously provided by the developer Sergey Oboguev. I called it VULCAN – the RX2660 Itanium based server is TSR2 – VULCAN seemed like a fitting companion.
The SYS$STARTUP:SYSTARTUP_VMS.COM file now directly loads the VSMP$LOAD utility that provides the interconnect between virtual VAX CPUs and real Xeon cores. Issuing the command:
1 |
$ START /CPU /ALL |
then starts all CPUs. It’s currently configured as a four CPU system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
Installing VSMP$LOAD... %%%%%%%%%%% OPCOM 12-JAN-2015 21:18:10.47 %%%%%%%%%%% Message from user DECNET on VULCAN DECnet starting %%%%%%%%%%% OPCOM 12-JAN-2015 21:18:10.77 %%%%%%%%%%% Message from user DECNET on VULCAN Error opening permanent proxy database %VSMP-I-CALIBRATING, Calibrating OpenVMS timing loops... %VSMP-I-CALIBRATED, Calibration completed at 25 samples %VSMP-I-LOADED, VSMP resident image was loaded into the kernel and activated Starting all CPUs... %SMP-I-CPUBOOTED, CPU #01 has joined the PRIMARY CPU in multiprocessor operation %SYSTEM-I-CPUSTARTD, CPU 1 started %SMP-I-CPUBOOTED, CPU #02 has joined the PRIMARY CPU in multiprocessor operation %SYSTEM-I-CPUSTARTD, CPU 2 started %SMP-I-CPUBOOTED, CPU #03 has joined the PRIMARY CPU in multiprocessor operation %SYSTEM-I-CPUSTARTD, CPU 3 started SYSTARTUP_VMS.COM complete... %SET-I-INTSET, login interactive limit = 64, current interactive value = 0 SYSTEM job terminated at 12-JAN-2015 21:18:11.64 Accounting information: Buffered I/O count: 1328 Peak working set size: 1556 Direct I/O count: 548 Peak page file size: 5160 Page faults: 6313 Mounted volumes: 0 Charged CPU time: 0 00:00:04.94 Elapsed time: 0 00:00:10.08 %%%%%%%%%%% OPCOM 12-JAN-2015 21:18:15.78 %%%%%%%%%%% Message from user DECNET on VULCAN DECnet event 4.10, circuit up From node 4.13 (VULCAN), 12-JAN-2015 21:18:12.30 Circuit QNA-0 %%%%%%%%%%% OPCOM 12-JAN-2015 21:18:31.13 %%%%%%%%%%% Message from user DECNET on VULCAN DECnet event 4.15, adjacency up From node 4.13 (VULCAN), 12-JAN-2015 21:18:31.13 Circuit QNA-0, Adjacent node = 4.248 (SIMVAX) |
As you can see the DECnet adjacency up messages indicate that the phase IV DECnet networking is working. I can connect through to other machines on the hecnet network.
I did a rudimentary test of single and multi-cpu performance by using the VUPS.COM script for a (very rough and ready) VAX Units of Performance rating (with the VAX 11/780 traditionally being 1 VUPS) and also a WHETSTONE benchmark I unearthed from somewhere a while ago.
Firstly the single CPU benchmarks using SIMVAX (SIMH instance hosted on an Ubuntu 14.10 HP Microserver with dual-core AMD Athlon II Processor Neo N36L (1.30 GHz, 15W, 2MB) for reference:
1 2 3 4 5 6 |
$ @vups Approximate System VUPs Rating : 11.0 $ whetstone Loops: 1000, Iterations: 1, Duration: 11 sec. C Converted Double Precision Whetstones: 9.1 MIPS |
So for the HP Microserver that’s 11 VUPS and 9.1 MIPS
Then the VAX MP instance VULCAN on the twin E5450 8-core DL380 G5:
1 2 3 4 5 6 7 8 9 10 11 |
$ create/dir [.benchmark] $ set def [.benchmark] $ copy simvax"msw xxxxxxxx"::dsa1:[msw]whetstone.exe [] $ copy simvax"msw xxxxxxxx"::dsa1:[msw]vups.com [] $ @vups Approximate System VUPs Rating : 31.2 $ whetstone :== "$sys$common:[benchmark]whetstone.exe" $ whetstone Loops: 1000, Iterations: 1, Duration: 4 sec. C Converted Double Precision Whetstones: 25.0 MIPS |
So for the DL380 G5 VAX MP emulator that’s 31.2 VUPS and 25 MIPS.
Not a bad improvement, and that doesn’t take into account the multiple CPUs enabled in VULCAN.
Just for giggles I set the SYS$BATCH queue with a 4 job limit so that simultaneous jobs would exercise all the CPUs. I ran up multiple copies of the VUPS script:
1 2 3 4 5 6 7 8 |
$ submit sys$common:[benchmark]vups.com Job VUPS (queue SYS$BATCH, entry 2) started on SYS$BATCH $ submit sys$common:[benchmark]vups.com Job VUPS (queue SYS$BATCH, entry 3) started on SYS$BATCH $ submit sys$common:[benchmark]vups.com Job VUPS (queue SYS$BATCH, entry 4) started on SYS$BATCH $ submit sys$common:[benchmark]vups.com Job VUPS (queue SYS$BATCH, entry 5) started on SYS$BATCH |
You can see the four real CPU cores being spun up in the following performance meter capture:
So there we have it. Of course this is the first install in a very long process of configuration – the VAX/VMS setup needs some serious work to get it up to production standards. I’m also going to attempt to get an Alpha Emulator running and cluster the two together.