BARR/RJE manual

BARR/RJE SDLC Performance Tuning

SDLC lines are the most common type of communication link used with BARR/RJE and BARR/3270 products. Determining expected throughput is more straightforward for SDLC links than for other line types.

An SDLC line always has an explicit speed rating (sometimes called bandwidth) which tells you pretty much what kind of throughput to expect. Dial-up lines are typically 4800bps or 9600bps, and a common bandwidth for a leased line is 56Kbps (56,000bps), although leased lines can go much higher. Fortunately, SDLC is an efficient protocol, without too much overhead, so you should be able to get 90% or better of that speed rating in your throughput tests. This means that on a 56Kbps line, for example, more than 50Kbps of actual throughput can be expected.

One reason for the high efficiency of an SDLC line is that there are usually only two parties trying to use the line, the host and the remote. This is even true for dialup lines, where once a connection is established, you have a dedicated (although temporary) line to your host.

Occasionally, however, an SDLC line is shared in a ‘multi-drop’ arrangement, and this can reduce the throughput on each drop. As you might expect, if several other remotes are talking to the host at the same time as yours on the same line, you may only get a fraction of the line's bandwidth.

Closely related to the multi-drop scenario is the case of using multiple printer streams (e.g., PR1, PR2, etc.) to receive multiple files simultaneously on a single remote. If you are receiving two large files at the same time, then of course the available bandwidth must be shared between the two files. The result is that each file transfers only half as fast as it would if it were the only activity at the time.

With all that in mind, here are some steps you can take to tune an SDLC line. They are divided into two categories, Host Tuning Parameters and PC Tuning Parameters. The most significant by far are the Host Tuning Parameters, which are almost always the key to maximizing performance. The PC Tuning Parameters usually only become an issue on very high speed lines of 256Kbps or higher.


Host Tuning Parameters

There are three key parameters that affect most dramatically the performance of an SDLC line. They are DATMODE, Frame Size and Pacing parameters. These parameters all have matching settings in the BARR/RJE software, but it is important to understand that they are not controlled by the BARR software. The host mainframe has absolute control over these settings and the remote software merely follows orders. The following table provides some information about these settings, including the default and recommended ideal values for them. Notice that none of the parameters are set to the ideal value by default.

Parameter

Range

Default

Recommended

DATMODE

HALF, FULL

HALF

FULL

Frame Size

256, 512, 1024

256 or 512

1024

Pacing

0-255

0

7

Because the BARR/RJE software does not control these settings, you cannot be sure that the values entered in the BARR software Installation Description really match the actual values at the host. The first thing you need to do, then, is investigate these parameters to find out how they are currently set. There are two good sources of information you can use, the host definitions and the BARR software run-time diagnostics. The host definitions actually control the outcome, but the BARR software run-time diagnostics are the best way to verify the outcome. This is important because at times something on the mainframe will override a setting that you thought was made. The run-time diagnostics will catch that kind of problem.

Once you have found the current settings, try to convince your host programmers to change them to match the recommended settings above. When the changes have been implemented, you also need to change the settings in the BARR/RJE software to match. All three settings are found in the Installation Description (by typing BARRSNAR I) under the Communication Link menu. The Pacing related setting is actually called “MAXOUT.” The Frame Size setting is called “MAXDATA” and should be set to 1033 (actually 1024 + 9, for the 9-byte SNA header).

Obtaining Host Definitions

The settings we are interested in are stored in “Resource Definition Libraries” on the mainframe. You will need to ask your host communications programmer at the mainframe to send you printouts of these definitions, unless you have the ability to obtain them yourself. Examples of these definitions can be found in the BARR/RJE manual (in the RJE Description and Communication Link chapters) and in the Installation Description of the software. The examples in the software, however, are not the real thing. For that, you need to go to the host. You need the following definitions:

Following are samples of host definition printouts. The first is an NCP definition, the second is a JES2 definition and the last is a Logon Mode Table Entry. In each case, you only need to look for the parameters that have been underlined in these examples. If a parameter cannot be found in your printouts, then it is probably defaulting to a less than ideal value. These examples show all the parameters explicitly set to their optimal values.

VTAM/NCP Definitions

Source statements are in SYS1.VTAMLST(NCP). Reference: VTAM Installation and Resource Definition (SC23-0111), NCP Resource Definition Guide (SC30-3447), NCP Resource Definition Reference (SC30-3448).

group    GROUP DIAL=NO,LNCTL=SDLC

linename LINE  ADDRESS=(aaa,FULL),DUPLEX=FULL,

               NRZI=YES,RETRIES=(8,2,20),SPEED=nnnnnn,TRANSFR=16

service  SERVICE ORDER=(puname)

puname   PU    ADDR=C1,DATMODE=FULL,

               MAXDATA=1033,MAXOUT=7,

               PACING=7,PASSLIM=7,VPACING=7

luname02 LU    LOCADDR=2,BATCH=YES              **  RJE  LU
luname03 LU    LOCADDR=3,BATCH=YES              **  RJE  LU
luname04 LU    LOCADDR=4,BATCH=YES              **  RJE  LU
luname05 LU    LOCADDR=5,BATCH=YES              **  RJE  LU
luname06 LU    LOCADDR=6,BATCH=YES              **  RJE  LU

JES2 Remote Definition (XA)

Source statements are in SYS1.PARMLIB(JES2PARM). Reference: JES2 Installation and Tuning (SC23-0065).

RMT9999        LUTYPE1,BUFSIZE=1024,CMPCT,COMP,CONSOLE,MFORM=J,

               NUMPR=1,NUMPU=1,NUMRD=1,SETUPHDR

RMT9999.PR1    CKPTLINE=66,CKPTPAGE=10,PRWIDTH=255,SELECT=PRINT1

RMT9999.PU1    CKPTLINE=100,CKPTPAGE=10,SELECT=PUNCH1,LRECL=80,NOSEP

RMT9999.RD1

The Frame Size in the JES2 Remote Definition listing above (BUFSIZE) applies only to JES2. For the other host RJE systems (VSE/POWER, JES3 and VM/RSCS) that parameter is not supported or necessary.

Logon Mode Table Entry

Source statements are in SYS1.VTAMLST(ISTINCLM). Reference: VTAM Customization (LY30-5614).

RJEBARR  MODEENT LOGMODE=RJEBARR,

               FMPROF=X'03',

               TSPROF=X'03',

               PRIPROT=X'A3',

               SECPROT=X'A3',

               COMPROT=X'7080',

               SSNDPAC=7,

               RUSIZES=X'8787',

               PSERVIC=X'01102000F900C00000010040'

Host Parameter Location Summary

As you can see from the samples above, the three settings we are looking for actually require more than one parameter entry each. The following listing sums up all the necessary parameters from the three screens above needed to get the desired results.

To get a DATMODE of FULL, you need:

ADDRESS=(aaa,FULL),DUPLEX=FULL

in the LINE macro of NCP/VTAM, and

DATMODE=FULL

in the PU macro NCP/VTAM.

When the parameters shown above are all set to FULL, and there is only one address on the line (i.e. it is not multi-drop), VTAM will automatically keep RTS high at all times. This also helps to improve performance, especially on high speed lines.

To get a Frame Size of 1024, you need:

MAXDATA=1033

in the PU macro of NCP/VTAM,

BUFSIZE=1024

in the JES2 remote definition, and

RUSIZES=X'8787'

in the Logon Mode Table Entry.

To get all Pacing related parameters of 7, you need:

MAXOUT=7

in the PU macro of NCP/VTAM,

PACING=7

in the PU macro of NCP/VTAM,

PASSLIM=7

in the PU macro of NCP/VTAM,

VPACING=7

in the PU macro of NCP/VTAM, and

SSNDPAC=7

in the Logon Mode Table Entry.

Checking the Bind Data Values

Fortunately, the host definitions are not our sole source of information for how these parameters are actually set. The run-time diagnostics of the BARR/RJE software provides a definitive check on these settings. This is possible because the host sends the remote information on these settings at Logon time in the form of a coded message called a BIND. The BARR/RJE software stores this message in memory and allows you to access it through the Diagnostic option called “Bind Data.”

To check the Bind Data, start the BARR/RJE software and wait for logon. Then select the Advanced menu, and from there select the Diagnostics menu. Under the Diagnostics menu you can see the Bind Data option, and when you select it you will get a screen something like this:

LU  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

 1 31 01 03 03 B3 A3 70 80 00 07 86 86 07 00 01 10 20 00 91 00 C0 00 00 01 00 40

 2 31 01 03 03 B3 A3 70 80 00 07 86 86 07 00 01 10 20 00 91 00 C0 00 00 01 00 40

 3 31 01 03 03 B3 A3 70 80 00 07 86 86 07 00 01 10 20 00 91 00 C0 00 00 01 00 40

 4 31 01 03 03 B3 A3 70 80 00 07 86 86 07 00 01 10 20 00 91 00 C0 00 00 01 00 40

This screen shows the Binds for the logical units (LUs) that are currently in session with the LU numbers down the left side and column numbering on the top row from 0 to 25. Only a few of these numbers are relevant to this discussion.

Columns 10 & 11 represent Frame Size, and should both be 87. In this example, they are 86, which means only 512 instead of the recommended 1024.

LU  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

 1                               86 86

 2                               86 86

 3                               86 86

 4                               86 86

Columns 8, 9, 12 and 13 represent various Pacing values, and should be 07 or 87. In this case, two are set to 07 and the other two to 00. That is actually OK, because 9 and 12 are the most important ones. Bytes 8 and 13 are used only for upstream traffic, so become important only if you are sending large files up to the host.

LU  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

 1                         00 07       07 00

 2                         00 07       07 00

 3                         00 07       07 00

 4                         00 07       07 00

The DATMODE parameter is not set in the Bind, but it can be checked in another screen in the BARR Diagnostics menu. Under the Advanced, Diagnostics menu is a menu titled Communication Statistics. If you page through these screens (by pressing ‘n’ for next page), you will find a count of “full duplex frames received” on page 3. Check this parameter after receiving some data. If the count is still 0, then DATMODE has probably not been properly enabled in all the necessary places.

Match Host Parameters in Barr Software

You will find matching parameters for the three listed above in the Barr software configuration under the Communication Link menu. When you select the SDLC connection, you will see parameters for DATMODE, MAXDATA and MAXOUT. The MAXOUT parameter should be set to match all the pacing related parameters.

Constant RTS

There is one additional parameter that you should set in the Barr software configuration that can dramatically improve the performance of your SDLC link. It is called Constant RTS, and it can be found under Tuning Data, Modem and Line Control. Setting this parameter to Yes instructs the Barr software to hold the RTS line high at all times. This in turn causes the modem equipment to hold the CTS line high at all times, thereby eliminating the delay between RTS and CTS.

To see the impact Constant RTS can have on performance, imagine a T1 line using a MAXDATA of 265, PACING values of 7, and typical RTS and CTS delays of 50 milliseconds (0.05 seconds). A T1 line uses a bit rate of 1,544 Kbps. The time it would take to send a normal stream of 7 frames without a RTS to CTS delay would be:

Time = (265 * 8 * 7)/1,544,000 = 0.0093 seconds.

If you add RTS and CTS delays of 0.05 seconds each, the time becomes:

Time = 0.0093 + 0.05 + 0.05 = 0.1093 seconds.

This yields a theoretical transfer rate of:

Rate = Bits/Seconds = (256 * 8 * 7) / 0.1093 = 131,180 bps = 128kbps

The efficiency on this T1 line is about 8.5%!

In other words, with RTS/CTS delays, your transfers will take 12 times as long on a T1 line! As the line speed is increased, the RTS/CTS delays become more significant, until most of your time is wasted in waiting for the CTS response to your RTS. Even at a line speed of 256 Kbps, a delay of .05 seconds would waste almost 50% of your transmission time.

Before setting Constant RTS, make sure that all the equipment on the line is set for Full Duplex, and that you are not on a multi-drop line.

PC Tuning Parameters

At most SDLC sites, the PC and its components easily keep pace with the speed of the communication link. Only when the link speed is 256Kbps or higher might there be a need to tune the PC for better performance. The main component of the PC that sometimes needs tuning in these cases is the PC's hard drive. If the BARR software cannot write to the hard drive as fast as the link speed, then of course it will be forced to slow down the transmission. Listed below are two DOS features that you can use to enhance the performance of your hard disk if you think it might be the bottleneck. They are the VERIFY OFF command and the SMARTDRV command. The first can be set in the BARR software, and the second can be set in the PC's AUTOEXEC.BAT file.

Use VERIFY OFF in BARR

The VERIFY function of DOS requires that data is read back immediately after it is written in order to verify that the data is correct. This feature is outdated and not necessary for modern hard drives. You can disable this feature in the BARR software Installation Description by setting an option under the Tuning Data, Additional Parameters menu. The option looks like this:

Use VERIFY OFF to improve disk performance? Yes

This option defaults to Yes as shown above, so it should already be set correctly. You may want to check it just to be sure it is set to Yes.

Use SMARTDRV in DOS

Both MS-DOS and PC-DOS offer a program called SMARTDRV that can help improve your hard disk performance by creating a disk cache. A disk cache is an area of memory used to buffer large amounts of data when reading from or writing to the hard disk. In the writing mode, it will collect a large amount of data before writing it all to the disk at once, thereby gaining better efficiency from the hard disk.

In order to turn on SMARTDRV for your PC, add the following line to AUTOEXEC.BAT:

C:\DOS\SMARTDRV 2048 0

This will set up a 2 megabyte cache for your C: drive and any floppy drives. If your PC has less than 4 megabytes of memory, you should reduce the number from 2048 to 1024. If you also have a D: drive that you want caching for, add a D+ to the line, like this:

C:\DOS\SMARTDRV 2048 0 D+

One final note is to make sure the parameter /X is not on this line, because it disables write caching and would defeat the purpose of using SMARTDRV with the BARR software. For further information about SMARTDRV, consult your DOS manual or use the DOS on-line help feature.