¿ªÔÆÌåÓý


Re: CP Query

 

On 1/29/20 3:59 AM, Peter Coghlan wrote:

However, I have to question if QUERY CPLEVEL is the right place to put this
information seeing as a Sixpack distribution is really composed of a certain
level of CP features, a certain level of CMS features and a bunch of compilers
and applications while QUERY CPLEVEL only describes one aspect of this.
Since the SixPakc include CP changes, it's definitively of? one the right places.

Both CP and CMS should be report what their build level and their build date; so should the other components.

Why would one omit the information from CP Q CPLEVEL just because it can't report X Y or Z which are not part of CP?


Re: CP Query

 

Peter,
Thanks I don't especially want to continue, but I don't want to write more
code. I saw that code and wondered what to tweak.
Dave.

p.s. As for "is this the right place" well not sure, but I don't want to
write more code. Note its perfectly possible to run mis-matched CP and CMS.
I don't think there are any thing in older CPs that break newer CMS and visa
versa. So the levels are returned via the separate commands.
It still works that way. Previously it was reasonable common practice to
update CMS and then CP...

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Peter
Coghlan
Sent: 29 January 2020 12:00
To: [email protected]
Subject: Re: [h390-vm] CP Query

I wrote:

I don't suppose that any one can help me. I want to stop calling the
Six-Pack builds "beta" and just number them say 1.3.1, 1.3.2, etc.

Any way I can fix most things but I can't figure out how to get the
"query cplevel" to return an extra digit.

Any thoughts any one?
From a quick look around, it seems like "query cplevel" was added by
CP mod HRC019DK and it's output modified by HRC100DK and HRC200DK.
There is a QCPBLOK COPY added to DMKHRC MACLIB which may be
pertinent.
I failed to notice the abomination that is HRC370DK :-(

If you want to continue with the same sort of awfulness, I think you need
something like this mod to DMKCPI:

./ R 02143300 $ 02143310
CPIWHO DC C'x.x.x: '
./ R 02287200 $ 02287210
MVC CPIWHO(5),12(R1)

and this mod to DMKCPE:

./ R 00011060 $ 00011061
DC CL5'1.3.2' "sixpack" version number


However, I have to question if QUERY CPLEVEL is the right place to put
this
information seeing as a Sixpack distribution is really composed of a
certain
level of CP features, a certain level of CMS features and a bunch of
compilers
and applications while QUERY CPLEVEL only describes one aspect of this.

Regards,
Peter Coghlan.


Re: OK - So which version of Hercules ...

 


We have:

- Version 3.13 -
- SDL Version?4.2.1 -
- Version 4.0.0 -

Having done no research (other than looking at dates) and not wanting to
dig up any agro(!) Well am I right in assuming I should be using the SDL
version? Or perhaps the 3.13 "classic" version but that the Version 4.0.0
is no longer supported. What is the community adopting? I guess I am looking
for stability ...
My opinion is that of the choices given, 3.13 is the only one that has
sufficient stability for me to attempt to develop code for. I also find it
to be the only game in town if building for any "non-mainstream" platform.
However, it is getting on a bit so it may not have certain new features that
I seem to be able to get along quite happily without.

Regards,
Peter Coghlan.


Re: OK - So which version of Hercules ...

 

¿ªÔÆÌåÓý

Adrian,

I would compare the performance of 3.13 and 4.2.1. the released 3.13 code is getting a little long in the tooth. I think Roger may had added some fixes to the source (see the GitHub repository) but I haven¡¯t checked.

The SDL 4.2.1 has had a lot of work done to improve the accuracy of the emulation but as a result I feel on Windows it¡¯s a tad slower.? However much depends on what you are doing¡­

Dave

?

From: [email protected] <[email protected]> On Behalf Of adriansutherland67
Sent: 29 January 2020 15:12
To: [email protected]
Subject: [h390-vm] OK - So which version of Hercules ...

?

We have:

- Version 3.13 -?
- SDL Version?4.2.1 -?
- Version 4.0.0 -?

Having done no research (other than looking at dates) and not wanting to dig up any agro(!) Well am I right in assuming I should be using the SDL version? Or perhaps the 3.13 "classic" version but that the Version 4.0.0 is no longer supported. What is the community adopting? I guess I am looking for stability ...

Adrian


Re: OK - So which version of Hercules ...

 

And further to this ubuntu provides Hercules 3.13 - so this is the easy option (however not a biggy - I can always run CMAKE and wait ...)


OK - So which version of Hercules ...

 

We have:

- Version 3.13 -?
- SDL Version?4.2.1 -?
- Version 4.0.0 -?

Having done no research (other than looking at dates) and not wanting to dig up any agro(!) Well am I right in assuming I should be using the SDL version? Or perhaps the 3.13 "classic" version but that the Version 4.0.0 is no longer supported. What is the community adopting? I guess I am looking for stability ...

Adrian


Re: VM/370 Hercules Optimisation

 

¿ªÔÆÌåÓý

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,

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


Re: VM/370 Hercules Optimisation

 

¿ªÔÆÌåÓý

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

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!!


Re: VM/370 Hercules Optimisation

 

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


Re: VM/370 Hercules Optimisation

 

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:
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.
Do I need to remove it? Or can it just sit there wasting space but otherwise doing no harm?


Re: VM/370 Hercules Optimisation

 

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


Re: VM/370 Hercules Optimisation

 

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).

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.
Noted - I will follow your advice and not bother yet.?


Re: VM/370 Hercules Optimisation

 

On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote:
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.
Do I need to remove it? Or can it just sit there wasting space but otherwise doing no harm?


Re: VM/370 Hercules Optimisation

 

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


Re: VM/370 Hercules Optimisation

 

On Wed, Jan 29, 2020 at 12:27 PM, adriansutherland67 wrote:
On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote:
If you are having a lot of paging,
We are always going to have some paging aren't we (a real question) with only 16mb of physical storage and CMS machines configured for 16mb of storage ...
On the standard 6-pack 1.3 beta - what background users should/could I log off (if any)?


Re: VM/370 Hercules Optimisation

 

On Wed, Jan 29, 2020 at 12:08 PM, Bob Polmanter wrote:
If you are having a lot of paging,
We are always going to have some paging aren't we (a real question) with only 16mb of physical storage and CMS machines configured for 16mb of storage ...


Re: VM/370 Hercules Optimisation

 

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?


Re: VM/370 Hercules Optimisation

 

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!!


Re: VM/370 Hercules Optimisation

 

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





Re: CP Query

 

I wrote:

I don't suppose that any one can help me. I want to stop calling the
Six-Pack builds "beta" and just number them say 1.3.1, 1.3.2, etc.

Any way I can fix most things but I can't figure out how to get the "query
cplevel" to return an extra digit.

Any thoughts any one?
From a quick look around, it seems like "query cplevel" was added by CP mod
HRC019DK and it's output modified by HRC100DK and HRC200DK. There is a
QCPBLOK COPY added to DMKHRC MACLIB which may be pertinent.
I failed to notice the abomination that is HRC370DK :-(

If you want to continue with the same sort of awfulness, I think you need
something like this mod to DMKCPI:

./ R 02143300 $ 02143310
CPIWHO DC C'x.x.x: '
./ R 02287200 $ 02287210
MVC CPIWHO(5),12(R1)

and this mod to DMKCPE:

./ R 00011060 $ 00011061
DC CL5'1.3.2' "sixpack" version number


However, I have to question if QUERY CPLEVEL is the right place to put this
information seeing as a Sixpack distribution is really composed of a certain
level of CP features, a certain level of CMS features and a bunch of compilers
and applications while QUERY CPLEVEL only describes one aspect of this.

Regards,
Peter Coghlan.