RFC 297 UNKNOWN TIP · BUFFERS · OPERATIONS

TIP Message Buffers

How TIP buffer sizes and send settings vary by device

On rfc-editor.org ↗
PUBLISHED
January 1972
AUTHORS
D.C. Walden
STREAM
Legacy
DOI
10.17487/RFC0297

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
NETWORK WORKING GROUP                     Dave Walden
REQUEST  COMMENTS #297                    BBN
NIC #8485                                 1/31/72
Categories: C or maybe D
Updates: none
Obsoletes: none

                          TIP Message Buffers

     We have recently heard some groaning about the size of the TIP's
message buffers.  While we realize these aren't as big as some Hosts
might desire, they aren't as small as the intensity of the groans
suggest either.

     Let's first consider messages going from a TIP to another Host.
The buffers have the following sizes:

     device numbers           buffer size (in 8 bit characters)
         1-2                       64
         3-16                      32
        17-41                      16
        42-62                      8
         63                        6

The TIP user has the option of having his messages sent 1) every
character, 2) on line feeds and/or com's, 3) every nth character, or
4) the OR of 2) and 3). Selecting to have messages sent every large
number of characters, say 100, will result in the TIP sending the
longest messages it can for a given device.  Hosts which don't like to
receive very short messages might advise users accessing them from a
TIP to set the TIP's parameters to use the maximum length buffer.

     Now let's consider messages going from another Host to a TIP.
The buffers have the following sizes:

     device numbers           buffer size (in 8 bit characters)
        1                          96
        2                          64
        3                          48
       4-17                        24
      18-35                        16
      36-63                         8

The TIP double buffers its terminal output.  Thus, when a TIP terminal
makes a connection to a Host, the TIP sends off an allocation of
between 8 and 96 characters, depending on the terminals device number,
and when a message comes using up the allocation, the TIP immediately
sends another allocation for the same number of characters while it
prints the first buffer.

     For traffic both to and from the TIP, lower numbered devices have
bigger buffers.  Therefore, users of line oriented systems, as well as
users of higher speed devices, should try to come in through the lower
numbered ports on the TIP's multi-line controller, if possible.

     The sizes of the TIP's message buffers and the number of each
size are not permanently fixed and can be changed if a better
distribution is suggested.  We didn't know what size buffers to
provide so we have provided a variety, What is fairly fixed is the
total amount of buffer space: two output buffers and one input buffer
for each of 63 devices must come out of this total buffer space.

     The answer to your question "Why not dynamically allocate buffers
at run time?" is: It is a complicated job to do that.  It requires
memory compactions, a mechanism to reclaim space from current users
when a new user comes on, etc.  Our guess is that the code to
dynamically allocate buffers at run time would reduce the total space
available for buffers by about one-fifth.




       [ This RFC was put into machine readable form for entry ]
       [ into the online RFC archives by BBN Corp. under the   ]
       [ direction of Alex McKenzie.                   12/96   ]

ISO Plain Language

On this page
PROBLEMUsers had complained about TIP message buffers, so BBN explains the available sizes and the limits behind them.
MECHANISMEach device number has fixed input and output buffer sizes, and users can choose when a TIP sends accumulated characters.
THE TRADE-OFFThe note recommends using lower-numbered devices and settings that allow longer messages when a host prefers them.

§1Buffer Sizes Depend on Device Number

The note lists separate buffer sizes for messages going from a TIP to a host and from a host to a TIP. In both directions, lower-numbered devices have larger buffers. The specific sizes differ by direction and by device number.

TIP output is double-buffered: while one buffer is being printed, the TIP can receive data into another buffer.

Lower-numbered TIP devices have more room for messages than higher-numbered ones. The TIP can print one output buffer while preparing another.

§2Choosing When to Send a Message

A TIP user can send each character immediately, wait for line feed or carriage-return conditions, send after a chosen number of characters, or combine the line-ending and character-count rules. Choosing a large character count lets the TIP build longer messages, up to the available buffer size.

The note suggests that hosts that prefer longer messages tell TIP users to select parameters that make use of the maximum buffer.

You can make the TIP send each character at once or wait and collect more first. Waiting can produce a longer message, up to the space available for that device.

§3Why the Buffers Are Fixed

The buffer sizes and their distribution can be changed if users suggest a better arrangement, but the total buffer space is limited. Each of the 63 devices needs two output buffers and one input buffer. The authors say that resizing buffers dynamically would require compaction and reclaiming space from current users, and estimate that this code would reduce the space available for buffers by about one-fifth.

The TIP has a fixed amount of memory for all its device buffers. Changing buffer sizes while it runs would take extra memory and could leave less room for messages overall.