I have been maintaining a zoo of emulated classic computers in my home lab (affectionately called SANYALnet Labs) for well over a decade now. Till last year everything was running on two mid-2000s Xeon-based Dell PowerEdge blade servers which I sold and replaced with a single home-built PC consisting of a 10th-generation Intel core i7 8-core 16-thread processor on a Gigabyte H410M motherboard. I then consolidated all of my SimH-emulated VAX and PDP machines onto a MX-Linux virtual machine running on top of Ubuntu 20.04 on this new PC, allocating 8 cores and 4 GB of memory to the MX-Linux virtual machine. After running many experiments with SET CPU IDLE and SET THROTTLE configuration parameters of SimH, I reached a point of satisfactory resource usage by the 20 SimH VAX and PDP machines.
MicroVAX-3100/M38 running SMALLTALK-80 on VAX/VMS 5.5-2H4 under SIMH VAX emulator. Thanks to Mark Wickens for this awesome SIMH machine (more here)
This includes two VAX machines with graphical desktops running in Xephyr virtual X-server displays (a VAXstation-3800/m38 and a VAXstation-II).
What strikes me as remarkable after all the tweaking is that in a quiescent state of the 20 SimH VAX and PDP machines, they along with an instance of DECnet/Python and many other Ubuntu-launched processes collectively take up just one core of the i7. Here is a typical top dump flittered on SimH machines:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2964 localuser 30 10 239960 133480 2720 S 12.5 3.3 237:33.90 ./31.10_QCOCAL
21894 localuser 30 10 141516 38940 2884 S 12.5 1.0 125:40.63 ./31.15_OSTARA
24430 localuser 30 10 997148 61204 13744 S 12.5 1.5 132:22.28 ./31.38_lv_vaxstation3100m38 31.38_LV.ini
25426 localuser 30 10 61432 13452 3552 S 12.5 0.3 2:10.75 ./31.37_twonky_pdp10 31.37_TWONKY.ini
1676 localuser 30 10 147996 19656 6632 S 6.2 0.5 63:52.29 ./31.12_juichi_pdp11 31.12_JUICHI.ini
5104 localuser 30 10 34940 6928 2508 S 6.2 0.2 274:54.07 ./0.0_VAXVMS3.0
5212 localuser 30 10 158236 21696 6648 S 6.2 0.5 60:15.30 ./31.28_rst101_pdp11 31.28_RST101.ini
6536 localuser 30 10 339040 13880 4208 S 6.2 0.3 82:47.40 ./10.42.2.29_43bsd_vax 10.42.2.29_43BSD_VAX.ini
17984 localuser 30 10 306932 73160 4208 S 6.2 1.8 115:51.55 ./10.42.2.28_openbsd_vax 10.42.2.28_OPENBSD_VAX.ini
21718 localuser 30 10 180388 45232 4188 S 6.2 1.1 19:03.34 ./31.36_njevx2_vax780 31.36_NJEVX2.ini
22451 localuser 30 10 18108 2664 2232 S 6.2 0.1 294:17.77 ./0.0_VAXVMS1.0
24658 localuser 30 10 1022468 51356 13800 S 6.2 1.3 28:05.32 ./31.30_vaxstn_microvax2 31.30_VAXSTN.ini
4218 localuser 30 10 18108 4752 2276 S 0.0 0.1 252:08.74 ./0.0_VAXVMS1.5
10312 localuser 30 10 298716 79472 4360 S 0.0 2.0 96:38.62 ./10.42.2.24_netbsd_vax 10.42.2.24_NETBSD_VAX.ini
12979 localuser 30 10 155760 45328 4132 S 0.0 1.1 8:36.88 ./31.31_xliv_vax780 31.31_XLIV.ini
14559 localuser 30 10 180060 77632 4132 S 0.0 1.9 8:50.49 ./31.33_xl_vax780 31.33_XL.ini
15270 localuser 30 10 158236 21468 6644 S 0.0 0.5 52:30.82 ./31.34_nanaju_pdp11 31.34_NANAJU.ini
19596 localuser 30 10 254140 44076 2820 S 0.0 1.1 28:15.56 ./31.11_cloudy_vax780 31.11_CLOUDY.ini
20922 localuser 30 10 180384 47036 4256 S 0.0 1.2 14:45.57 ./31.35_njevx1_vax780 31.35_NJEVX1.ini
24460 localuser 30 10 254124 46476 4168 S 0.0 1.2 13:40.34 ./31.23_xlvii_vax8600 31.23_XLVII.ini
The following is a table of the current idle/throttle settings of the VAXen and PDP SimH machines. Overall, PDP-10 and PDP-11 emulators do better with throttle, especially in terms of dreaded DECnet thrashing. The VAXen do fine with idle. The following table is probably difficult to read, so here is the google docs sheet.
simh machine | o/s | set throttle - factor; value; SIMH host core usage (% of one 10th-gen core i10) | set cpu idle; SIMH host core usage (% of one 10th-gen core i10) | Throttle or Idle? | simh version - New (4.x) or Legacy (3.9)? | DECnet address | IP Address |
---|---|---|---|---|---|---|---|
vax780 | vax/vms 1.0 | 4x; throttle=2m; 17% | idle=vms; 7% | I | L | ||
vax780 | vax/vms 1.5 | 4x; throttle=2m; 17% | idle=vms; 7% | I | L | ||
vax780 | vax/vms 3.0 | 4x; throttle=2m; 17% | idle=vms; 7% | I | L | ||
microvax3900 | netbsd/vax 8.0 | 1x; throttle=1900k; 14% | idle=netbsd; 3% | I | N | 10.42.2.24 | |
microvax3900 | openbsd/vax 5.8 | 1x; throttle=1900k; 11% | idle=openbsd; 3% | I | N | 10.42.2.28 | |
microvax3900 | 43bsd/vax quasijarus | 1x; throttle=1900k; 9% | idle=quasijarus; 3% | I | N | 10.42.2.29 | |
microvax3900 | openvms/vax 7.3 | 1x; throttle=1900k; 17% | idle=vms; 7% | I | L | 31.1 | 10.42.2.4 |
microvax3900 | openvms/vax 7.3 | 1x; throttle=1900k; 17% | idle=vms; 7% | I | L | 31.10 | 10.42.2.5 |
vax780 | openvms/vax 7.3 | 1x; throttle=500k; 4% | idle=vms; 2% | I | N | 31.11 | 10.42.2.33 |
pdp11 - pdp11/84 | rsx 11m plus | 1x; throttle=1560k; 4% | idle; 3% | T | N | 31.12 | |
microvax3900 | ultrix 4.0/vax | 1x; throttle=1900k; 11% | idle=ultrix; 7% | I | L | 31.15 | 10.42.2.9 |
vax8600 model 8650 | vax/vms 4.7 | 1x; throttle=13300k; 47% | idle=vms; 2% | I | N | 31.23 | 10.42.2.27 |
pdp11 - pdp11/73 | rsts/e 10.1 | 1x; throttle=1460k; 4% | idle; 3% | T | N | 31.28 | |
microvax2 - vaxstation II | openvms/vax 7.3 | 1x; throttle=450k; 6% | T | N | 31.30 | 10.42.2.30 | |
vax780 | vax/vms 4.4 | 1x; throttle=500k; 4% | idle=vms; 2% | I | N | 31.31 | |
vax780 | vax/vms 4.0 | 1x; throttle=500k; 4% | idle=vms; 2% | I | N | 31.33 | |
pdp11 - pdp11/70 | rsx 11m plus | 1x; throttle=1360k; 4% | idle; 3% | T | N | 31.34 | |
vax780 | openvms/vax 7.3 | 1x; throttle=500k; 4% | idle=vms; 2% | I | N | 31.35 | 10.42.2.31 |
vax780 | openvms/vax 7.3 | 1x; throttle=500k; 4% | idle=vms; 2% | I | N | 31.36 | 10.42.2.32 |
pdp10 - ks10 | tops-10 7.04net | 3x; throttle=5400k; 9% | idle; 7% | I | N | 31.37 | |
microvax 3100 M38 | vax/vms 5.5-2h4 | 1x; throttle=1900k; 13% | idle=vms; 29% | T | N | 31.38 |
No comments:
Post a Comment
"SEO" link builders: move on, your spam link will not get posted.
Note: Only a member of this blog may post a comment.