Sign In

Ask the Experts What would you ask an IBM mainframe expert?
z & A > Ask the Experts > Data striping View modes: 
User avatar
Member
Member
Ken - 2/28/2013 1:12:45 PM
   
Data striping
I would like to know about recommendations for assigning stripes. For instance would 1 stripe per 100,000 tracks be reasonable? Also, recommendations for buffering. How long does it take to set up a dataclass for striping?

User avatar
Member
Member
Wayne Rhoten - 3/7/2013 4:00:02 PM
   
RE:Data striping
I had not thought about the question of "tracks per stripe". usually people think about how much performance they want. That is the purpose of striping.
I would guess that if the data set is smaller than a few hundred tracks, it might not be efficient to use striping.
It seems reasonable to assume that two stripes will give at least 50% better performance than one stripe. This is a guess.
I assume that three stripes should give at least twice the performance of one stripe. I also assume that when you get up to about five stripes, you might have gone beyond the point of diminishing returns. It might not improve performance much to have more stripes but I would like to know someone's performance numbers.
In general it would be a good idea to exploit the default numbers of buffers for QSAM. This differs between BSAM and QSAM. With QSAM it defaults to two track's worth of buffers per stripe. With BSAM it default to 1, which obviously gives terrible performance but you will want to specify the MULTSDN option on the DCBE macro to get reasonable performance. If you code MULTSDN=2, you will get the same number of buffers as QSAM.
On the current release you can code MULTSDN with either QSAM or BSAM to increase the number of buffers. For example MULTSDN=3 or 4 should be fairly good but it takes a lot of buffer space.
The data class options are simple for the storage administrator to set.

User avatar
Member
Member
jeff - 3/8/2013 5:10:10 PM
   
RE:Data striping
Wayne, you're assuming first that Ken was talking about non-VSAM data sets with an assembler program where he could code MULTSDN (and MULTACC), which is not likely. As far as I know, the LE runtime library still uses BSAM with MULTACC=3 and MULTSDN, but I upgraded the DB2 utilities in DB2 10 to use MULTACC=5 and MULTSDN=10. But the essential question about the number of stripes is that it depends on many factors. One data set in isolation might benefit from lots of parallel I/O, but in aggregation the hardware can only support so much parallelism. If all data sets use more I/O buffers, it may cause real storage constraints, and it might not do any good if the jobs are CPU bound anyway. With a DS8800 or DS8870 and FICON Express 8 channels and zHPF and half-track blocking using BSAM, non-striping can get around 300 MB/sec. In that case, people shouldn't use striping unless they need the I/O to go beyond 300 MB/sec.

1