Keyboard Shortcuts
Likes
Search
VM/370 Hercules Optimisation
Optimisation questions to improve VM/370 performance on Hercules:
1. Can we up the number of CPU cores emulated - I know the answer if yes but will VM/370 use it? Do we need to change CP settings, and how? I suggest we try and target 4 given the state of typical PC/Server/Container configurations. I appreciate VM/370 (ans specifically CMS) might not be getting too much benefit but hey why not press the Sport button anyway! 2. Can we provide more S/370 Storage (i.e. RAM). Appreciate the 24bit limit but does VM370 support any paging memory devices? Assume some CP configuration, if this is possible at all? 3. What DASD device does the Six Pack configuration use for paging? Can we isolate this feature to one appropriately sized DASD device? Because if we did we could run it uncompressed, no shadow, and on a RAM disk. If it was an appropriate size (50-100MB) we could run it in non-pageable linux RAM for maximum performance, if it was bigger we would probably be obliged to put it in pageable RAM.? 4. I note that the change log for Six Pack supports new DASD devices? Is there an optimisation opportunity here? 5. For info - I am going to do some speed tests (building CMSLIB) with all the six DASD devices, still compressed but with no shadow, running of tmpfs (i.e. on pageable RAM). Context: This is for containers (cattle not pets) so I am not worried about losing data if the the container is shot dead. I'll just start a new one. However the timing difference might be interesting for others. Thanks A |
From: [email protected] <[email protected]> On Behalf Of adriansutherland67Its already much faster than my P390.... 1. Can we up the number of CPU cores emulated - I know the answer if yes but will VM/370 use it? Do we need to change CP settings, and how? I suggest we try and target 4 given the state of typical PC/Server/Container configurations. I appreciate VM/370 >(ans specifically CMS) might not be getting too much benefit but hey why not press the Sport button anyway!VM/370 only support two as an AP or MP but that’s it. An individual user can only ever use one. On real hardware the extra work in keeping things in sync slows things Hercules recommends dedicating one for the IO thread, so on a 4-core box max is only three. 2. Can we provide more S/370 Storage (i.e. RAM). Appreciate the 24bit limit but does VM370 support any paging memory devices? Assume some CP configuration, if this is possible at all?Not as far as I know. Paul has VM/380 but I don't think it does what you want. 3. What DASD device does the Six Pack configuration use for paging? Can we isolate this feature to one appropriately sized DASD device? Because if we did we could run it uncompressed, no shadow, and on a RAM disk.That’s possible. The devices used for paging are defined in DMKRIO. If you use a small old DASD type such as 3310 (60Mbytes) or 3330 (200Mbytes) but in practice I don't think you get much improvement because Linux/Windows and Hercules cache the disk IO. If you have enough cores Hercules runs the IO thread in a separate core. 4. I note that the change log for Six Pack supports new DASD devices? Is there an optimisation opportunity here?Well they are bigger, but I don't think it makes much difference. Later drives use multiple heads to improve performance so one physical 3380 looked like four drives to VM. Hercules and VM/370 simply sees four drives. 5. For info - I am going to do some speed tests (building CMSLIB) with all the six DASD devices, still compressed but with no shadow, running of tmpfs (i.e. on pageable RAM).If you can take a look at CPWATCH (DIAL CPWATCH) from a 3270 console to see where VM things the delays are.. ThanksDave |
Adrian,
1. Can we up the number of CPU cores emulated - I know the answer if yes but will VM/370 use it? Do we need to change CP settings, and how? I suggest we try and target 4 given the state of typical PC/Server/Container configurations. I appreciate VM/370 (ans specifically CMS) might not be getting too much benefit but hey why not press the Sport button anyway! VM/370 does support 2 CPUs in the configuration as an attached processor (called AP-mode).? However, it is of limited value, especially in a single-user environment that most of us have when running under Hercules.? The second processor cannot do any i/o.? Timing tests under Hercules have shown that things run slower in AP-mode due to the overhead of CP managing the second processor (who gets dispatched on it, maintaining dual sets of user page tables, and rescheduling i/o operations back to the main processor).? In a real multi-user system that was common back in the day, AP-mode probably provided benefits because there was enough CPU-bound activity that the attached processor could capitalize on. Further, when in AP-mode, ECPS:VM must be turned off. By far the largest benefit and biggest-bang-for-the-buck would be to turn on ECPS:VM? (ECPSVM YES in your Hercules configuration).? The benefit here is way better than anything AP-mode will provide.? A couple of important bugs were fixed in ECPS:VM Hercules support in Hercules 3.13, and if you are running any of the Hyperion releases ECPS:VM support was enhanced to provide even greater benefits. 2. Can we provide more S/370 Storage (i.e. RAM). Appreciate the 24bit limit but does VM370 support any paging memory devices? Assume some CP configuration, if this is possible at all? No.? Nothing in this area is available. 3. What DASD device does the Six Pack configuration use for paging? Can we isolate this feature to one appropriately sized DASD device? Because if we did we could run it uncompressed, no shadow, and on a RAM disk. If it was an appropriate size (50-100MB) we could run it in non-pageable linux RAM for maximum performance, if it was bigger we would probably be obliged to put it in pageable RAM. In VM/370, the paging space and the spool space are shared.? In SixPack, this is 3350 devices.? If one wanted, you could certainly format an empty 3350 or a 3380 (if running Sixpack 1.3) volume and have a dedicated page/spool volume, and make that uncompressed and so forth.? You'd have to remove the page/spool space on the other Sixpack volumes by using the format/allocate program.? This would need to be done with some care. If you are having a lot of paging, the best thing would be to try to reduce it rather than come up with a scheme to page faster.? The fastest page i/o is the one you never do.? Reduce dependency on high level languages which produce huge working sets and large module sizes (especially from compilers back in the day).? Write more assembler code.? Don't logon extra virtual machines that you might not be using, e.g., CPWATCH, RSCS, etc. 4. I note that the change log for Six Pack supports new DASD devices? Is there an optimisation opportunity here? I can't see how, other than the possibility mentioned above of using a dedicated 3380 device for paging and spooling and making it uncompressed dasd in Hercules.? I'm personally skeptical that this would provide more than a scant 1-2% improvement, but that is just a gut feel and I have no hard numbers to back it up.? I just don't think it is worth the trouble for what little would be gained. Regards, Bob |
Thanks Dave
For memory paging - I was wondering if IBM had a paging memory device (clearly not - thanks). Therefore (1) I am going to go ahead with experimenting with a small DASD drive for paging. And (2) I will also try and get VM/370 configured for 2 CPUs (what is?AP or MP, and which should I try?). Appreciate the point that CMS uses only one but if it means we get some additional boost by having any disconnected machines on another CPU - well well and good. But my expectation is minimal improvement! I know that Hercules uses other threads for IO stuff, which is good. Any hints / config details / help would be appreciated! Adrian PS - my motivation is just to get what we can from the configuration / tools we have - not change the world if that makes sense. And yeah - it is already faster than it would have been back in the 80s!! |
On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote:
By far the largest benefit and biggest-bang-for-the-buck would be to turn on ECPS:VM? (ECPSVM YES in your Hercules configuration).? The benefit here is way better than anything AP-mode will provide.? A couple of important bugs were fixed in ECPS:VM Hercules support in Hercules 3.13, and if you are running any of the Hyperion releases ECPS:VM support was enhanced to provide even greater benefits.Thanks Bob - So actually should I use the latest Hyperion release, in any case? Not sure what ECPS:VM is (Enhances Scheduling - but ...) but perhaps I don't want to!?? Anyway - no changes needed to CP? Just turn it on in Hercules? |
On Wed, Jan 29, 2020 at 12:27 PM, adriansutherland67 wrote:
On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote:On the standard 6-pack 1.3 beta - what background users should/could I log off (if any)? |
Adrian,
VM/370 does not support MP mode.? That came in later releases of VM? (VM/SP). If you want to try AP-mode, there is a file in the files section called 'ap.zip'.? The stuff you need is in there including documentation.? But I would not recommend it; in the end I can almost certainly predict you will back it out. Not because there are problems or reliability issues, but because it slows things down. Bob |
On Wed, Jan 29, 2020 at 12:31 PM, Bob Polmanter wrote:
VM/370 does not support MP mode.? That came in later releases of VM? (VM/SP).Noted - I will follow your advice and not bother yet.? |
Adrian,
I'm not going to say whether you should run a Hyperion release or not; that is up to you.? There are pros and cons of Hercules 3.13 vs. Hyperion. As for ECPS, it is not a scheduling enhancer.? In a nutshell what it does is take several dozen functions that CP has to frequently perform and instead does them in Hercules code itself and gives the result back to CP.? CP therefore did not have to execute all of those instructions.? This is not a gimmick; real hardware back in the day had ECPS; the CP functions were offloaded to the hardware's microcode.? Today, Hercules ECPS is performing the role of the microcode, executing the function that CP needed done on the native computing host and not as emulated one-by-one S/370 instructions. Try it for yourself.? Run some lengthy programs or several compilations in an EXEC and look at the timings both ways, CPU time and clock time.?? No CP changes required; just turn it on in Hercules:? ECPSVM YES in the configuration file, and re-ipl.? See the README.ECPSVM file in Hyperion for info. Regards, Bob |
Honestly, the best improvement is going to come from ECPS:VM. And i would highly recommend to get on fish's Hyperion 4.2... The 3.X series of Hercules is kinda aged by now. Joe On Wed, Jan 29, 2020 at 6:31 AM adriansutherland67 <adrian@...> wrote: On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote: |
Adrian,
In my experience, I doubt you are doing all that much paging.? First off, the VM/370 CP IND command doesn't show paging stats like it did in later releases, so it is difficult to know how much you are paging. If you are a single user VM/370 system, running 16MB real, even if you had a 16MB user virtual machine, you would have to go some to cause much paging beyond a very light amount.? If you had several 16MB user machines running simultaneously with large active working sets, then maybe you could get the paging rate up to 5-10 pages per second.? With Hercules caching, it just isn't a problem. Regards, Bob |
开云体育Peter, ? I suspect that EPCS:VM produces a much bigger performance gain than AP or MP. ?ECPS:VM is the start of what eventually became SIE and microcode virtualization. So VM (aka CP) is a software hypervisor. So when EPCS:VM is inactive CP has to simulate or reflect every privileged instruction that a VM executes. ECPS:VM allows the CPU Microcode or in our case Hercules to handle some of these instructions. I would try turning it on which may be fun… ? Change the line in the config ? ECPSVM NO ? To ? ECPSVM YES ? And use ECPSVM STATUS to see whats happening ? The only VM that does anything is CPWATCH. You should be using this to see what performance is like… … on an idle system I see it shows real core 16,384, free 14,780. If you run one GCC compile it isn’t going to page very much. .. and remember that you might have 16Mb available, but most programs don’t use it. I think GCC is the exception. … if you don’t use the memory it won’t page. ? Dave ? From: [email protected] <[email protected]> On Behalf Of adriansutherland67
Sent: 29 January 2020 12:15 To: [email protected] Subject: Re: [h390-vm] VM/370 Hercules Optimisation ? Thanks Dave |
开云体育Folks ? CPWATCH reports paging rate. ? Dave ? ? From: [email protected] <[email protected]> On Behalf Of Bob Polmanter
Sent: 29 January 2020 12:44 To: [email protected] Subject: Re: [h390-vm] VM/370 Hercules Optimisation ? Adrian, |
On 1/29/20 4:15 AM, adriansutherland67 wrote:
I thought there was a bias towards 2305 devices for paging, but too much time hanging out with the documents for a certain 4361 and it's VM/SP flavor, my brain is probably fogged. -ahd- |
On 1/29/20 4:44 AM, Bob Polmanter wrote:
Note the while VM/370 supports 16M of real memory, only the largest machines had that much installed.?? For example, the S/370 158 only supported 4M, and the uniprocessor 168 only supported 8M.?? You would have needed (and paid for) an MP S/368 or a 3033 to get a full 16M. So lighted loaded Hercules machines with 16M of real (for a sufficiently emulated definition of real) memory aren't likely to go to memory bound when running VM/370 era software. -ahd- |
2305 was nice because of no seek time. In an Hercules emulated environment, probably doesn't make a difference. I was on the periphery of a 360/75 MVT -> 4341 MVT under VM transition (I got to do some MVT<->VM integration, much fun! HASP, CP SPOOL, VMCS....). 2305 was our MVT SYSRES. I heard that the channels on the 4341 couldn't keep up with the 2305, even if we dedicated it to the MVT virtual machine,and we had to drop back to a 3330 SYSRES. I'm not sure that last bit is accurate. The /75 sure was cool, though...
On Wednesday, January 29, 2020, 2:48:12 PM EST, Drew Derbyshire <swhobbit@...> wrote:
On 1/29/20 4:15 AM, adriansutherland67 wrote: > > For memory paging - I was wondering if IBM had a paging memory device > (clearly not - thanks). Therefore (1) I am going to go ahead with > experimenting with a small DASD drive for paging. I thought there was a bias towards 2305 devices for paging, but too much time hanging out with the documents for a certain 4361 and it's VM/SP flavor, my brain is probably fogged. -ahd- |
开云体育On 1/29/20 7:21 PM, Doug Wegscheid
wrote:
SSDs don't HAVE seek time, and for that matter modern I/O speed (even USB 2) versus 1970s parallel channel performance is no contest.?? But no one told VM all that, so it may still have the bias to emulated 2305s. For me, with real disk I/O to a USB 3 connected 500GB Samsung SSD on a 2 GB system with 1272 MB for buffer/cache, I/O is probably relatively speaking the one of fastest things on the system. -ahd- |
开云体育Doug, On the low end 43xx boxes in effect the channel is implemented using some of the main CPU so device that generate high IO can degrade CPU performance… ? ? page 64. ? The channel throughputs are on 67. Your issue with the 2305 may have been that it needed a selector channel an whilst the machine can do that it reduces the number of block multiplexor channels… ? Dave ? From: [email protected] <[email protected]> On Behalf Of Doug Wegscheid
Sent: 30 January 2020 03:21 To: [email protected] Subject: Re: [h390-vm] VM/370 Hercules Optimisation ? 2305 was nice because of no seek time. In an Hercules emulated environment, probably doesn't make a difference. ? I was on the periphery of a 360/75 MVT -> 4341 MVT under VM transition (I got to do some MVT<->VM integration, much fun! HASP, CP SPOOL, VMCS....). 2305 was our MVT SYSRES. I heard that the channels on the 4341 couldn't keep up with the 2305, even if we dedicated it to the MVT virtual machine,and we had to drop back to a 3330 SYSRES. I'm not sure that last bit is accurate. ? The /75 sure was cool, though... ? On Wednesday, January 29, 2020, 2:48:12 PM EST, Drew Derbyshire <swhobbit@...> wrote: ? ? On 1/29/20 4:15 AM, adriansutherland67 wrote: |