¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Difficulties with TCP/IP and data sets

 

Good point, but I prefer to leavw the prefix, and simply use apostrophes around dataset names that don't start with it.

sub d(myjob) is easier to type than
sub roopy.d.cntl(myjob)

Same with?
ex d(myclist) compared with
ex roopy.d.clistl(myclist)

call d(myprog) and test d(myprpg) likewise :-)

Roops

On Sat., Dec. 26, 2020, 16:33 Joe Monk, <joemonk64@...> wrote:
TSO PROFILE NOPREFIX.

Then try to access ?your dataset.

Joe

On Sat, Dec 26, 2020 at 10:27 AM Pedro Pinheiro <prppedro@...> wrote:
Hi, all

I have a rather dumb question, I recognize. But I've been struggling with it for the past day. There's a data set (CENTER.PARMLIB) in which TCPPROF member is contained. TSO MVSCUST opens this file for me. And I can also access it through DSLIST. Though I can't access it anywhere. Any other ISPF utilities just tells me either the ¡°Data set is not cataloged¡± or (if I specify the volume) ¡°Data set is not found¡±.

That's quite problematic because, on top of all that, system have been abending on me, crying 'bout lack of space in the dataset. But I can't edit CENTER.PARMLIB allocation because all the tools which seems to deal with that can't find the data set. Also, when using the ¡°ALLOC¡± command, it infers the dataset is prefixed the current login, SYSPROG1.

So, is there any way out of this mess?

Thanks,
Att.,
-trp


Re: Difficulties with TCP/IP and data sets

 


TCPIP is not active by default in Hercules.? The following may give you some clues about how to activate it.?

The availability and flavor of the instruction is controlled by three elements:

1.? The compile time FEATURE_TCPIP_EXTENSION definition: To allow enabling of the TCPIP instruction, the featxxx.h header files corresponding to the relevant architectures (feat370.h, feat390.h, feat900.h) must contain the statement:
```
??????????????? #define? FEATURE_TCPIP_EXTENSION
```
As shipped, SDL Hyperion 4.2 has this feature defined _only_ for the S/370 architecture (feat370.h).

2.? By default, the TCPIP instruction is disabled at run time, regardless of whether the compile time FEATURE_TCPIP_EXTENSION was defined or not.? If FEATURE_TCPIP_EXTENSION was defined for the architecture currently being used, the supervisor state flavor of the TCPIP instruction can only be enabled by issuing the command:
```
??????????????? facility enable HERC_TCPIP_EXTENSION
```
before IPLing the guest operating system.


3.? If the problem state variation of the TCPIP instruction is desired, then after having enabled the supervisor state flavor as described above, the command:
```
??????????????? facility enable HERC_TCPIP_PROB_STATE
```
must then _also_ be issued before IPLing the operating system.





regards;

Rahim
??



??



On Saturday, December 26, 2020, 10:27:25 AM CST, Pedro Pinheiro <prppedro@...> wrote:


Hi, all

I have a rather dumb question, I recognize. But I've been struggling with it for the past day. There's a data set (CENTER.PARMLIB) in which TCPPROF member is contained. TSO MVSCUST opens this file for me. And I can also access it through DSLIST. Though I can't access it anywhere. Any other ISPF utilities just tells me either the ¡°Data set is not cataloged¡± or (if I specify the volume) ¡°Data set is not found¡±.

That's quite problematic because, on top of all that, system have been abending on me, crying 'bout lack of space in the dataset. But I can't edit CENTER.PARMLIB allocation because all the tools which seems to deal with that can't find the data set. Also, when using the ¡°ALLOC¡± command, it infers the dataset is prefixed the current login, SYSPROG1.

So, is there any way out of this mess?

Thanks,
Att.,
-trp


Re: Difficulties with TCP/IP and data sets

 

TSO PROFILE NOPREFIX.

Then try to access ?your dataset.

Joe

On Sat, Dec 26, 2020 at 10:27 AM Pedro Pinheiro <prppedro@...> wrote:
Hi, all

I have a rather dumb question, I recognize. But I've been struggling with it for the past day. There's a data set (CENTER.PARMLIB) in which TCPPROF member is contained. TSO MVSCUST opens this file for me. And I can also access it through DSLIST. Though I can't access it anywhere. Any other ISPF utilities just tells me either the ¡°Data set is not cataloged¡± or (if I specify the volume) ¡°Data set is not found¡±.

That's quite problematic because, on top of all that, system have been abending on me, crying 'bout lack of space in the dataset. But I can't edit CENTER.PARMLIB allocation because all the tools which seems to deal with that can't find the data set. Also, when using the ¡°ALLOC¡± command, it infers the dataset is prefixed the current login, SYSPROG1.

So, is there any way out of this mess?

Thanks,
Att.,
-trp


Re: Working with ISAM Data Sets

 

Yeah ... DONT use ISAM. You will regret?it if you do so.

USE VSAM KSDS instead. Easier and less complicated. If you need some pointers let me know.

Joe

On Sat, Dec 26, 2020 at 9:59 AM Patrik Schindler <poc@...> wrote:
Hello,

"The records that comprise a newly created data set must be presented for writing in ascending order by key."

Source:

Does this mean that I need to at least write one record with some arbitrary key value, and later (DISP=MOD) can add more records which are not necessarily in order with the key value already in the first record?

I want to find some practical use for a batch workflow involving collection of data and generating reports of it in TK4-. I decided to postpone VSAM to later when I feel skilled enough to create interactive applications using KICKS.

Thanks!

:wq! PoC







Difficulties with TCP/IP and data sets

 

Hi, all

I have a rather dumb question, I recognize. But I've been struggling with it for the past day. There's a data set (CENTER.PARMLIB) in which TCPPROF member is contained. TSO MVSCUST opens this file for me. And I can also access it through DSLIST. Though I can't access it anywhere. Any other ISPF utilities just tells me either the ¡°Data set is not cataloged¡± or (if I specify the volume) ¡°Data set is not found¡±.

That's quite problematic because, on top of all that, system have been abending on me, crying 'bout lack of space in the dataset. But I can't edit CENTER.PARMLIB allocation because all the tools which seems to deal with that can't find the data set. Also, when using the ¡°ALLOC¡± command, it infers the dataset is prefixed the current login, SYSPROG1.

So, is there any way out of this mess?

Thanks,
Att.,
-trp


Working with ISAM Data Sets

 

Hello,

"The records that comprise a newly created data set must be presented for writing in ascending order by key."

Source:

Does this mean that I need to at least write one record with some arbitrary key value, and later (DISP=MOD) can add more records which are not necessarily in order with the key value already in the first record?

I want to find some practical use for a batch workflow involving collection of data and generating reports of it in TK4-. I decided to postpone VSAM to later when I feel skilled enough to create interactive applications using KICKS.

Thanks!

:wq! PoC


Re: Show disk usage in TK4-

 

When Hercules writes the data from memory cache to disk, it compresses
the data and writes at a new location. The old location is marked as
available and the files is eventually compressed to remove unused
space resulting in a smaller file on the host. An delete on the host
just marks the tracks as available in the VTOC (or free space map in
the VTOCINDEX). An erase before delete would do both (I guess).

Mainframe programs that are I/O limited on actual hardware are CPU
limited on Hercules, since it has so much disk cache in memory. Early
versions of Hercules did cause mainframe programs problems due to I/O
completing so fast.

On Mon, Dec 21, 2020 at 6:38 AM Patrik Schindler <poc@...> wrote:

Hello Mike,

Am 20.12.2020 um 18:57 schrieb Mike Schwab <Mike.A.Schwab@...>:

Hercules CCKD(64) releases the space to condense the host file in the background.
May I ask what exactly you mean by ?release¡°? Overwrite them with a constant value, so a high compression ratio is achieved?

On I/O-heavy loads, could it be beneficial to not use compression at all? Moshix (the mainframe video guy) claimed, that today, CPUs are so fast, that it barely matters. What¡¯s your opinion?

:wq! PoC





--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?


Re: Show disk usage in TK4-

 

Hello Joe,

Am 21.12.2020 um 14:15 schrieb Joe Monk <joemonk64@...>:

"The space recovery routine relocates track or block group images towards the beginning of the file, causing free space to move towards the end of the file. When a free space reaches the end of the file, it 'falls off', that is, the file size is reduced."
Thanks a lot, now it¡¯s clear to me.

:wq! PoC


Re: Show disk usage in TK4-

 

Hercules uses PC based disk files. The format inside those PC based disk files is mainframe CKD or FBA.

The "host file" that Mike was referring to is the PC based disk file. Since there is no need to statically allocate the entirety?of the DASD space (called "thin provisioning" in SAN land), the hercules disk process can dynamically allocate and release space from its emulated mainframe DASD files without issue...

"The space recovery routine relocates track or block group images towards the beginning of the file, causing free space to move towards the end of the file. When a free space reaches the end of the file, it 'falls off', that is, the file size is reduced."

Joe


On Mon, Dec 21, 2020 at 6:38 AM Patrik Schindler <poc@...> wrote:
Hello Mike,

Am 20.12.2020 um 18:57 schrieb Mike Schwab <Mike.A.Schwab@...>:

> Hercules CCKD(64) releases the space to condense the host file in the background.

May I ask what exactly you mean by ?release¡°? Overwrite them with a constant value, so a high compression ratio is achieved?

On I/O-heavy loads, could it be beneficial to not use compression at all? Moshix (the mainframe video guy) claimed, that today, CPUs are so fast, that it barely matters. What¡¯s your opinion?

:wq! PoC







Re: Show disk usage in TK4-

 

Hello Mike,

Am 20.12.2020 um 18:57 schrieb Mike Schwab <Mike.A.Schwab@...>:

Hercules CCKD(64) releases the space to condense the host file in the background.
May I ask what exactly you mean by ?release¡°? Overwrite them with a constant value, so a high compression ratio is achieved?

On I/O-heavy loads, could it be beneficial to not use compression at all? Moshix (the mainframe video guy) claimed, that today, CPUs are so fast, that it barely matters. What¡¯s your opinion?

:wq! PoC


Re: Show disk usage in TK4-

 

Jeffrey Melton wrote:

But regardless of whether you actually have physical
"wasted" space on your real disk drive ...
[...]
Just making sure I understand the ramifications of all
this correctly,
Precisely! You understand the situation perfectly.

Using an inefficient block size will waste space on the volume, causing it to hold less data than it otherwise could. The operating system would not be able to fit as much data on the volume (dasd) than it otherwise could have fit had a more efficient block size been chosen, and this is *regardless* of whether the dasd is a Hercules uncompressed CKD dasd or a compressed CCKD/CCKD64 dasd, because Hercules DOES strictly enforce an emulated dasd device type's maximum track size limitation.

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: Show disk usage in TK4-

 

¿ªÔÆÌåÓý

Exactly correct.? You¡¯ve got it.

?

Peter

?

From: [email protected] <[email protected]> On Behalf Of Jeffrey Melton via groups.io
Sent: Monday, December 21, 2020 1:20 AM
To: [email protected]
Subject: Re: [H390-MVS] Show disk usage in TK4-

?

But regardless of whether you actually have physical "wasted" space on your real disk drive by using compressed virtual devices, if you choose a suboptimal block size, you still won't be making the most of the (even compressed) virtual devices you do allocate in your IOGEN, correct?? Granted there is a tradeoff, but say you really screw up and set up a terrible block size for your files that causes MVS to "waste" half of the "available" space of a given virtual DASD.? Compressed or non-compressed, that would still mean that MVS thinks that virtual device is "full" when it really isn't, it's just that the existing files are allocated terribly out of whack, and you'll end up having to create and maintain more virtual "devices" in your emulated mainframe's IOGEN than would normally be necessary, correct?

Just making sure I understand the ramifications of all this correctly,

Jeff.?

--._,_._,_


Re: Show disk usage in TK4-

 

But regardless of whether you actually have physical "wasted" space on your real disk drive by using compressed virtual devices, if you choose a suboptimal block size, you still won't be making the most of the (even compressed) virtual devices you do allocate in your IOGEN, correct?? Granted there is a tradeoff, but say you really screw up and set up a terrible block size for your files that causes MVS to "waste" half of the "available" space of a given virtual DASD.? Compressed or non-compressed, that would still mean that MVS thinks that virtual device is "full" when it really isn't, it's just that the existing files are allocated terribly out of whack, and you'll end up having to create and maintain more virtual "devices" in your emulated mainframe's IOGEN than would normally be necessary, correct?

Just making sure I understand the ramifications of all this correctly,

Jeff.?


Re: Show disk usage in TK4-

 

On 2020-12-21 4:57 AM, Mike Schwab wrote:
There are some
programs that can go through and erase empty tracks later.
Somitw's EOFDISK is one such program.

Basically you point a DD to a temporary data set, and it clears each track allocated to that data set.

Cheers,
Greg


Re: Show disk usage in TK4-

 

Normally, the track is not erased on delete. It is a rarely used
option on VSAM files because it can take a while. There are some
programs that can go through and erase empty tracks later. Hercules
CCKD(64) releases the space to condense the host file in the
background.

On Sun, Dec 20, 2020 at 10:54 AM Patrik Schindler <poc@...> wrote:

Hello David,

Am 13.12.2020 um 22:27 schrieb Fish Fish <david.b.trout@...>:

We're of course ignoring the compressed dasd image "free space" issue here as it has nothing to do with track blocksize efficiency. Free space is just an artifact (overhead) of Hercules's compressed dasd design.
First, thanks for your explanation. Second, do I understand right, that a freed track¡¯s data isn¡¯t zeroed out, so overall compression ratio is worse than it could probably be?

Just a thought. With today¡¯s actual disk sizes, the question is a more academic one than anything else.

:wq! PoC





--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?


Re: Show disk usage in TK4-

 

Hello David,

Am 13.12.2020 um 22:27 schrieb Fish Fish <david.b.trout@...>:

We're of course ignoring the compressed dasd image "free space" issue here as it has nothing to do with track blocksize efficiency. Free space is just an artifact (overhead) of Hercules's compressed dasd design.
First, thanks for your explanation. Second, do I understand right, that a freed track¡¯s data isn¡¯t zeroed out, so overall compression ratio is worse than it could probably be?

Just a thought. With today¡¯s actual disk sizes, the question is a more academic one than anything else.

:wq! PoC


Re: Show disk usage in TK4-

 

Hello Mike,

Am 13.12.2020 um 17:55 schrieb Mike Schwab <Mike.A.Schwab@...>:

Before each physical block of data, there is a fixed amount of space
Thanks for that explanation. I see, to squeeze out the most possible juice from the hardware, it¡¯s necessary to dig deep into its bowels. No matter if we¡¯re talking Mainframe or C64-Fans-Smooth-Scrolling-Demo-whatever. :-)

I¡¯ll keep your hints in mind!

:wq! PoC


Re: Show disk usage in TK4-

 

Hello Peter,

Am 13.12.2020 um 17:49 schrieb pjfarley3 <pjfarley3@...>:

Anyway, that's why two blocks per track is considered "efficient DASD usage".
Thanks for this insightful writeup! It¡¯s always interesting where pitfalls can suddenly open up¡­

:wq! PoC


Re: Show disk usage in TK4-

 

"This is why many PDS datasets containing JCL, macros, etc., are often blocked at 3120 or 6160."

Actually, thats not it at all - No offense to Bob.

The reason for 3120/6160 is because, in the migrations from DASD to DASD, that was shown to be the best COMPROMISE blocksize among 2314/3330/3350/3380. So, a blocksize of 6160 allows for device independence.

Joe

?



On Sun, Dec 13, 2020 at 1:53 PM Bob Polmanter <wably@...> wrote:

This is a complicated subject and as with many things there is more than one good answer.? Selecting a good blocksize depends on what your goal is.

If your goal is purely to maximize DASD space utilization, then you should definitely use full track blocking (for 3350 devices and older), and half-track blocking (for 3375 devices and newer).? This minimizes any waste due to the inter-block gaps.? It also has the benefit of reducing the number of i/o operations.


But sometimes a large blocksize is not necessarily the best choice.? A good example is a dataset that is accessed directly, that is, you are accessing different blocks of the dataset not in a sequential order. Imagine for instance a payroll file, with 100-byte records, blocksize 19000 (to fit fully on a 3350 track), each record containing employee number, name and address, and other payroll information.? You want to retrieve the record for a certain employee by number.? A table or index tells you that the record you want is in block 52, record 27 within that block.? I only want the 100 bytes of that record, but I¡¯ve got to read the whole block to get at it. ?That¡¯s 18,900 bytes that I don¡¯t need.? For this kind of file, a smaller blocksize is usually better, even at the cost of some additional DASD space overhead. Usually for direct files, a block size around 4K is the best choice.


In MVS 3.8, the largest blocksize allowed is 32760 bytes (not 32767 or 32768!).? As previous poster mentioned, if you use that blocksize against say, a 3380 device with its 47K track size, about 23K will be wasted.? The system will not write data in the remaining 23K.? Why not? ?You told it you wanted your block size to be 32760!? Hence the reason to use one-half of a track as the blocksize, because it ensures the whole track will be used as much as possible.? The only time the system will write less than the full specified blocksize is for the last block in the dataset:? if there is not enough data to fill out the entire last (or only) block then the system will write what is known as a short block.


If you are adept at using the access method macros, you can certainly prepare a program that will write 32760 blocks on a 3380 track and follow it with a 23,000-odd byte block to fill out the entire track.? But it¡¯s a lot of extra work; you have to do track space calculations, and write frequent short blocks.? But it can be done. The point is that the system won¡¯t do it automatically though.? Just use half-track blocking on 3375/3380/3390 devices and then the system will take care of it for you, efficiently.


VSAM datasets can have a CI size (control interval size) of up to 32768, but this is a sort of ¡®virtual blocksize¡¯.? The true physical block size written to the track never exceeds 4096 bytes in VSAM.? But this is really another discussion entirely and I wouldn¡¯t dwell on it.? I only mention it briefly since another previous poster mentioned VSAM CIs.


Yet another poster asked about using smaller blocksizes for datasets that contain smaller amounts of data, such as a PDS full of JCL members, or macros, or copy books.? You can certainly block them smaller or larger depending on your needs.? But if you know you have a lot of small members you can get better utilization with small blocksizes because the partitioned dataset access methods are smart enough to start the next member¡¯s data block after the end of the last block of the previous member if the blocksize is small enough to fit into the remaining space on the track.? If you choose a larger blocksize, then you may not be able to fit the block on a partially filled track thereby wasting space.? This is why many PDS datasets containing JCL, macros, etc., are often blocked at 3120 or 6160.


There is a lot more that could be said, but hopefully this provides a view of some of the other aspects of deciding on a blocksize.


Regards,

Bob


Re: Show disk usage in TK4-

 

Back in the 1980's and 90's, when MVS was our primary OS, our large MVS shop recommended that block sizes of around 6K were a good compromise. One consideration was that our shop made heavy use of IBM's Hierarchical Storage Manager. Datasets that weren't accessed for about 2 weeks would be automatically migrated to a backup storage pool, which, in the 80's, was an IBM 3850 Mass Storage System. If a job tried to access a migrated dataset if would have to be recalled and storage on one of the primary disk drives, which might be a different device type than what it was originally created on and what was an ideal blocksize for the original device might not be the ideal blocksize for the current device.

As was pointed out in some figures given in a previous reply to this thread, an ideal blocksize gives about 98% usage of the total track space. But, a blocksize of around 6K gives about 92% utilization, which is still pretty good.

Thus, unless you really knew what you were doing and wanted to tweak the system for the absolute best efficiency, around 6K was considered a good compromise.

Charles Bailey

On 2020-12-13 14:33, Mike Schwab wrote:
CKD devices use the full track capacity, even if empty. CCKD(64)
compresses the data and nothing for empty tracks. VSAM uses 4K block
maximum (except z/OS versions going to 18k that reduces I/O but
doesn't increase space utilization). So a 4k or 6k block size or less
is pretty reasonable.

On Sun, Dec 13, 2020 at 2:17 PM Mark Waterbury
<mark.s.waterbury@...> wrote: