Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
This group is for all folks running the original IBM VM/370 Release 6 operating system (or later (e.g. VMTCE (Community Edition)) on Hercules. Like the other early IBM operating systems this version has always been in the public domain and so can be freely distributed. The base version as supplied by IBM is lacking in many facilities. IBM solved this by providing additional extension products which were licensed and so are not available. There are however many user enhancements available which can be installed. In addition, in order to get users up and running quickly updated "releases" of VM/370 included the most popular updates are available for download, so novices can start to learn VM without having to delve into the system internals. It is intended that this wiki will provide information on the base release and these updates.
The available versions are here :-
?
?
Re: MVS Under VM/370 Performance
Eh...the sysprog in me is cringing about not shutting JES2 down cleanly. You'll probably be able to get away with it, but the one time you shut things down in the middle of a checkpoint write and clobber it to the point of needing a cold start is the one time you want to keep the contents of the spool... On Mon, Nov 27, 2023 at 10:37?AM Bob Polmanter <wably@...> wrote: Daniel, --
Jay Maynard |
Re: MVS Under VM/370 Performance
Daniel,
I was a system programmer back then and I ran VM/370 with a VS1 guest on a S/370-148.? Later we had a 4341 and VM/SP and VS1.? Later still we had a 4381 running VM/SP and MVS as a V=R guest.? Then after a while on the same 4381 we ran VM/HPO with MVS/SP as a V=R guest in PMA mode (Preferred Machine Assist, that Tony H mentioned earlier).? We had a 16M real machine and 60-80 VM/CMS users depending on the time of day.? MVS had 8M of the real memory in the V=R area.? We ran this way in production until 1994.? Performance was always a challenge (mostly the CP paging rate) but "we got 'er done".? So I did this for years and I still remember a lot about it. Regarding the JES2 shutdown, I have the same issue and Jay is right about the reader being the cause.? I simply don't shut down JES2 and avoid the whole issue.? If I am shutting down the machine, I force MVS with the CP command before I shutdown VM/370.? This allows CP to complete any MVS i/o that might have been in progress.? Wait a second or two then SHUTDOWN.? I've never had any problems ever, by not stopping JES2 completely. Regards, Bob |
Re: MVS Under VM/370 Performance
If you punch the EOJ JCL card before shutting downJES2, it'll shut down cleanly. I do it right after IPLing MVS so I don't have to worry about it. A VM guy might be able to automate that whole process, but I'm not a VM guy. :-) On Mon, Nov 27, 2023 at 10:27?AM Daniel L. Srebnick via <dan=[email protected]> wrote: Jay: --
Jay Maynard |
Re: MVS Under VM/370 Performance
I think the CPWATCH tool is installed. Try opening a 3270 session, hit enter, the DIAL CPWATCH. The screens let you monitor several counters that might help. Dave On Mon, 27 Nov 2023, 14:22 Daniel L. Srebnick via , <dan=[email protected]> wrote: My initial query in the thread "MVS under VM/370 and 3390 DASD" and the conversation has moved into performance tuning, so I'll start a new thread. |
Re: MVS Under VM/370 Performance
Bob:
From an expectation management perspective, it sounds like I am in the ballpark. I have a lot of reading and experimentation to do.? I was an MVS operator and programmed in an VM/MVS guest environment as a student and junior programmer back in the mid 1980s.? So, I am pleased with how far I've gotten and the tidbits I've remembered. Thanks for helping me along. |
Re: MVS Under VM/370 Performance
Daniel,
The BMX option in the directory entry allows the virtual channels in the MVS virtual machine to be used in block multiplexor mode.? This means that in many cases, multiple i/o operations can be started and be in progress simultaneously.? This is important because MVS has many address spaces and they are each doing their own thing.? Without BMX, i/o's are much more likely to be single threaded (one at a time).? If you don't specify BMX, then Selector channel is the default, which by its nature only allows a single i/o at a time (per channel). The REALTIMER option probably wont provide any material performance impact, but it will improve the accuracy of any MVS tasks that depend on timing. It might help MVS with regards to the system scheduler but I am not sure it is measurable.? But you would want to run REALTIMER anyway because if any jobs you run depend on timing services they will be more accurate.? The option causes timer interruptions to be reflected to MVS when they occur; without the option CP will only reflect the interruptions the next time it dispatches MVS (whenever that is). Some resources you might consider reviewing are GC20-1821-3 VM/370 Operating Systems in a Virtual Machine.? It would tell you about the options above and other available performance items.? Unfortunately, this manual barely mentions MVS; it is more geared to running VM under VM, or DOS/VS under VM.? What I would recommend is looking for GC19-6212-5 VM/SP Rel 5 Running Guest Operating Systems.? Obviously, we don't have all of the features of VM/SP here in VM/370 but the manual contains a ton of information about running MVS under VM and its performance.? You can only use the options that VM/370 supports, but it is a great reference and learning tool within those boundaries.? You can find both manuals on Bitsavers. As for your question 'where are all of the MIPS going', I can't really answer that.? I also have a Raspberry Pi 3B+ and while I don't have the exact ASMCLG job you ran to create 1000 primes, the times you reported are comparable with what I see on my own Pi 3B+.? I don't think you are going to get much more improvement out of it. For my serious work and day to day activities, I run on a first-gen Intel i7 processor so there is quite a bit more horsepower to run MVS under VM compared to a Pi 3B.? For example, when I compile the entirety of NJE38, which consists of 16 assembly steps totaling approximately 25,600 lines of code and two linkedit steps, the entire job runs in 52 seconds.? On the Pi 3B+, the same assembly job on a slightly older version on NJE38 (about 2000 lines less code) took 6 minutes, 13 seconds. My point here is that if you have a faster computer available, MVS under VM can be fairly pleasant in performance.? The Pi 3B would be unbearable for my daily work.? Although, I'd have to admit that the Pi 3B performance feels a lot like what real response times were back in the day on 4341 and 4381 CPUs. Regards, Bob |
Re: MVS Under VM/370 Performance
I suspect JES2 won't end normally because it's waiting for the card reader to become ready. Do a $DU after a regular $PJES2. If I'm right, it'll show RDR1 DRAINING. What I do for this is have a file on OPERATOR's A-disk named EOJ JCL, containing a single line of // . Then, from OPERATOR, do SPOOL PUN MVS and PUNCH EOJ JCL. JES2 will report RDR1 DRAINED (might also say RDR1 SKIPPING FOR JOB CARD) and end normally. On Mon, Nov 27, 2023 at 9:52?AM Daniel L. Srebnick via <dan=[email protected]> wrote: 2 other MVS under VM370 issues I've come upon when shutting down. --
Jay Maynard |
Re: VM370CE
¿ªÔÆÌåÓýI sent two screenshots to you directly as I believe from past experience that the list will strip them off the emails. The first one shows entering the command at a READY prompt, and the second shows the resulting error message when I press return (enter) after typing that command. Actually, I missed one - after I hit ENTER at that message.
Here is an attempt to capture the text displayed after I hit
ENTER:
<{>}T Please press ENTER to cancel
fullscreen operation??????????????????????? ?
On 11/27/23 09:46, Bob Bolch wrote:
|
Re: VM370CE
Hi Frank, It sounds like you have the correct setup. Can you capture screen images or describe the exact responses on the screen to help in the diagnoses?? Bob Bolch On Mon, Nov 27, 2023 at 9:26?AM Frank D. Engel, Jr. <fde101@...> wrote:
|
Re: VM370CE
¿ªÔÆÌåÓýI am using ZOC on an Apple Silicon mac.? The command is: ee user direct? (as maint) I previously had EE working with an earlier sixpack system,
accessing it via ZOC. Emulation is set to 3278-2 (80 x 24), charset to Latin-1/EBCDIC (CP 1047). The EDIT command appears to work, but I am less familiar with using it.
On 11/27/23 07:53, Bob Bolch wrote:
|
MVS Under VM/370 Performance
My initial query in the thread "MVS under VM/370 and 3390 DASD" and the conversation has moved into performance tuning, so I'll start a new thread.
Regarding @Bob Polmanters quite helpful info... I noticed that my user options in the directory for starting MVS did not include REALTIMER and BMX.? I don't know what these options do, but now my ASMCLG test case (prime numbers < 1000) takes 11 seconds under the MVS guest.? This is a good improvement, although still 3-4 times longer than in standalone MVS mode. I'm using a Raspberry Pi 3B+ and a self-compiled Hercules SDL 4.6.0 for the aarch64 platform. While the Hercules MAXRATES command shows: HHC01603I MAXRATES???????????????????????????????????????????????????????????? ? HHC02268I Highest observed MIPS and IO/s rates:??????????????????????????????? ? HHC02268I From Mon Nov 27 00:00:00 2023 to Mon Nov 27 09:19:06 2023??????????? ? HHC02268I MIPS: 19.67965?????????????????????????????????????????????????????? ? HHC02268I IO/s: 1519?????????????????????????????????????????????????????????? ? HHC02268I Current interval is 1440 minutes At 100% CPU (as in during MVS IPL), the MIPS shown by QPROC? is about 1.5. Something seems wrong about this.? Where are all the other MIPS going? |
Re: VM370CE
Hi Frank, Please show the exact command you are typing, and tell us the terminal emulator you are working?with. With your setup, does the EDIT command work? Thanks/Bob Bolch On Mon, Nov 27, 2023 at 6:08?AM Frank D. Engel, Jr. <fde101@...> wrote:
|
Re: VM370CE
¿ªÔÆÌåÓýI am setting up a new CE 1.2 installation for the first time and when I try to run EE I am getting the message: <{>}T Please press ENTER to cancel fullscreen operation
Are there steps I need to take to enable the diag 58 support? I've been searching around but have not found any information on this so far.
On 8/14/21 20:59, Bob Bolch wrote:
|
Re: MVS under VM/370 and 3390 DASD
Hi, Tony,
Adding to this thread ... Similar to Amdahl's VM/PE, IBM's VM/SP and VM/HPO added some additional options, if you had suitable hardware, such as a 3081. See: ? ?? for details.? Here is a brief excerpt: o ? The ?Preferred Machine Assist is added to S/370 mode for a VM ? ? batch guest. ? ? - ? A ?microcode assist supporting the VM/SP High Performance ? ? ? ? Option. ? ? - ? Permits ?a ?MVS/SP ?V=R ?preferred ?guest ?to ?run with a ? ? ? ? minimum of VM control program intervention. ? ? - ? Permits preferred guest usage of storage exceeding 16MB. o ? VMA is enhanced and now handles segment protection on 3081. So, with PMA, you could run MVS/SP as a "trusted" virtual machine, as a V=R guest, and CP would dispatch this virtual machine in real supervisor state, when the guest PSW was set to supervisor state.? I recall that PMA also had provisions so that if VM CP were to "crash" the PMA guest running MVS/SP could then take over the whole machine and continue to run "stand-alone." I cannot recall when (what year) Amdahl's VM/PE became available, but based on a quick google search, I found this document: ? ?? This indicates that VM/PE was available for VM/370 Rel. 5 and 6, and also with or without VM/BSEPP or VM/SEPP, by around March of 1980, so well before VM/SP and VM/HPO became available.? I just remember Amdahl as being very competitive and impressive with both the hardware and software. Mark |
Re: MVS under VM/370 and 3390 DASD
Daniel,
I have not specifically validated the two patches myself for TK5.? However, I do know that Rob Prins is including those two patches pre-installed on the TK5 Update 2.? I do not know when Update 2 is scheduled to be released though.? You might ask him. Im quite sure the patches would work on TK5, as the internals of TK5 haven't changed over TK4 in the affected areas.? What I am not sure about is if the installation JCL and control statements would work on TK5 due to changes in volsers, and/or other PTFs that may have been applied to JES2 that may cause one of the patches to fail in the SMP APPLY step.? Or, it could work fine.? Im referring to the ZBP0001 patch here. The other one, the VMEXIT feature (to drop DIALed terminals), does not use SMP to install the feature and that is a simple assembly and link, and then easy modifications to SYS1.VTAMLST. Regarding my prior post about the CP SET STB VR command, I forgot to mention that you need to have the STFIRST option in the directory entry for MVS in the CP directory. For example: USER MVS .... OPTION ECMODE REALTIMER BMX VIRT=REAL STFIRST The STB VR command won't do anything if you do not specify STFIRST.? CP SET NOTRAN does not have a special consideration in this regard.? When you do a CP Q SET, it should look like this: CP Q SET????????????????????????????????????????? ? MSG ON , WNG ON , EMSG TEXT, ACNT ON , RUN OFF??? ? LINEDIT ON , TIMER REAL, ISAM OFF, ECMODE ON????? ? ASSIST ON SVC?? TMR? , PAGEX OFF, AUTOPOLL OFF??? ? IMSG ON , SMSG OFF, AFFINITY NONE?? , NOTRANS ON? ? STBYPASS VR??????????????????????????????????????? Note that NOTRANS and STBYPASS are the last two entries and that ASSIST is ON for SVC and TMR. I always run MVS 3.8 as a guest of VM and I have done so for years.? It is the only way I run it.? It is a little slower yes, though I am not having the slowdowns you were reporting.? I accept the performance loss for the flexibility of being in a virtual machine, the control, and also being able to submit jobs and receive output at CMS. I don't run VM/CE however; I still use VM Sixpack 1.2.? That is not a statement against VM/CE, rather, I just have never switched over, preferring my system the way it is already set up. Regards, Bob |
Re: MVS under VM/370 and 3390 DASD
Thanks for the tips.
ECPSVM was/is turned on in the Hercules config. I did add the other 2 CP commands after IPLing MVS and it did make a small difference. But overall, I seem to be suffering the expected challenges that @Tony elaborated on in his response. @Bob, in one of the Moshix videos, a couple of patches that you have for TK4 under VM/370 were highlighed.? Have either of those been validated vs. TK5? |
Re: MVS under VM/370 and 3390 DASD
Daniel,
The one tuning tip that will make the largest beneficial impact is to make sure you are running with ECPS enabled.? In your Hercules configuration file, ensure that you have a line that says ECPSVM YES Also, ensure that your V=R area is large enough.? I use an 8M area. After MVS is IPLed as a guest, there are two other things you can do that will help by a small amount. These collectively might boost performance by another 1-2%.? From the MVS userid's virtual machine console, type in: #CP SET NOTRAN ON and then: #CP SET STB VR Both of these commands are reset at IPL, so that is why you must reissue them after IPL.? The NOTRAN ON setting tells CP that your guest is running V=R and that it no longer needs to provide CCW translation for i/o's that MVS issues.? The STB VR setting tells CP that it no longer needs to provide shadow page table maintenance for MVS because it is running V=R.??? CP knows that MVS is running V=R but nevertheless you must manually turn these options on yourself.? The savings in CP overhead by avoiding these tasks is small but it is not nothing. NOTRAN and STB? (STBYPASS) current settings will show in the results of a CP Q SET command issued by that userid. ECPS still remains the number one benefit to VM performance when running guest operating systems (and even when you are not running a guest OS). Regards, Bob |
Re: MVS under VM/370 and 3390 DASD
On Sat, 25 Nov 2023 at 23:58, Daniel L. Srebnick via <dan=[email protected]> wrote: [...] MVS is extremely slow.? An assembler complie, link and go job that takes 3 seconds under native MVS takes 28 seconds under MVS as a VM guest. I'd say you are reliving what went on from the late 1970s through to the mid 1980s (when XA came out, and with it SIE). The S/370 architecture has nothing like SIE, and so every time MVS executes a privileged instruction there is an interrupt, and CP has to do something with it. In some cases it's not much more than returning to the interrupted code, but in most cases there is serious work to be done. This is mostly still true even if you run V=R, because DAT is still on in the VM that MVS is running in. This is the cost of having true virtualization where the guest has no architected way of knowing that it's running in a VM, and by the same token the host has only clues that it infers about what the guest is doing. The S/370 architecture allows for this, but most contemporary ones did not, and so in the rare cases where it was tried, some kind of para-virtualization had to be used, where the guest OS was modified either statically or dynamically to not issue certain instructions and instead issue others that could be detected by the host. An early and very successful product that addressed this was Amdahl's VM/PE. This would dispatch a single special V=R guest VM in real supervisor state, and various on-the-fly zaps were made to the guest MVS so it wouldn't damage the real environment. So MVS could issue real SIOs to real devices with CCWs pointing to real memory addresses, with VM not having to be involved. Likewise for small but expensive things like changing storage keys. VM/PE was amazingly good, though there was the occasional bug where real supervisor state got muddled with virtual supervisor state, and that rarely ended well. IBM came out with VM/HPO around the same time. IIRC it didn't dispatch guests in real supervisor state, but provided other performance improvements for preferred guest(s?). A quite different approach is to provide "assists" in VM to perform common operations that the OS needs. These are opcodes not in the PofO that do things like manipulate guest OS data structures. Some of these were also implemented on real machines - generally the smaller ones with "vertical" microcode, because it ran so much faster than the effectively emulated S/370 instructions. Assists, along with page fault handshaking (where the host informs the guest that a page reference is going to take time to resolve, and the guest can dispatch other work until notified about the page-in) was widely used to run MVT, VS1, and DOS guests, all of which had at most a single address space. I don't know that such a facility was ever implemented for MVS or guest VM/370, perhaps because managing the multiple guest address spaces in such an environment would not be supported by the host (VM) paging system. If you want to play with this, there is all kinds of reference stuff out there, though I don't think VM/PE was ever open sourced, and HPO happened right at the time of IBM's OCO push, and so IIRC never had complete source. If you're just interested in running your apps, well with modern host hardware you can probably survive... Tony H. |