RFC 573

DATA AND FILE TRANSFER - SOME MEASUREMENT RESULTS

๐Ÿ“… published September 1973, from ietf

RFC 573 ๐Ÿ’– DATA AND FILE TRANSFER - SOME MEASUREMENT RESULTS

๐ŸŽ€ Network Working Group ยท A. Bhushan (MIT-DM) ยท NIC 19083 ยท 14 September 1973

Category: the header doesn't name one. Obsoletes / Updates: the header doesn't list any RFCs it obsoletes or updates.


Okay bestie, so for the last six months the MIT-DM crew has been keeping an eye on our FTP-user and FTP-server programs ๐Ÿ‘€. Not 24/7, but still! This paper is giving measurement era ๐Ÿ“Š and it does five things: 1) talks about what we should measure, 2) describes the measurement tools, 3) shares the actual results, 4) explains what the results mean and compares them to other data, and 5) asks you all for suggestions on how we measure and summarize things ๐Ÿซถ.

I. THE MEASUREMENT CRITERIA โœจ

Okay so the FTP (Ref. "The File Transfer Protocol", by Abhay Bhushan, NWG/RFC 354, NIC 10596, ) can be thought of as a facility for moving data between file systems ๐Ÿ“. The main things we measure for a data transfer facility are:

  1. Transfer rate (both peak and average, measured in bits per second). This decides the throughput of the facility ๐Ÿš€.
  2. Response time or delay (measured in seconds). This is what decides the "interactibility" of the facility ๐Ÿซ .
  3. Processing cost (measured in dollars or cpu-seconds per megabit transferred) for moving the data between the network and the file system ๐Ÿ’ธ. This is only one piece of the total cost. The other piece is the communication cost (including IMP processing costs), which we just take as given ๐Ÿคทโ€โ™€๏ธ.
  4. Failure-to-connect rate: the average time elapsed between failures to connect to the facility (measured in hours) ๐Ÿ˜ญ. Failures could come from the Host (processor and file system) hardware or software, or from the IMPs and telephone lines ๐Ÿ“ž.
  5. Availability: the percentage of time a given facility is available, or alternately the probability of finding the facility available at a given time ๐ŸŸข.
  6. Accuracy: measured by the probability of error in transferring bits, bytes, blocks, or files ๐ŸŽฏ.

II. THE MEASUREMENT FACILITIES ๐Ÿงš

The MIT-CMS survey program (ref. "A Report on the Survey Project" by Abhay Bhushan, NWG/RFC 530, NIC 17375) measures the response-time, failure-to-connect rate, and availability of the Host-logger facility (on socket 1) ๐Ÿ”Œ. Our early experiments showed that the FTP numbers are very close to the logger numbers (at least they're the same order-of-magnitude) ๐Ÿค. The ARPANET use of FTP is growing super fast, and most Hosts have their logger and FTP running whenever their Host and NCP (Network Control Program) are working ๐Ÿ’ป. Getting FTP service has a response time that's very close to getting logger service, because both use the ICP (Initial Connection Protocol) ๐Ÿ”—.

Preliminary results from the Survey Project say the average response time in recent months has been about 2.7 seconds โฑ๏ธ. The average availability has been about 85%, and the failure-to-connect rate is about once every 10 hours ๐Ÿซ . Table I shows the summary results for August 26 through August 31, 1973, for three Hosts running TENEX operating systems (SRI-ARC (NIC), BBN-TENEXA, and USC-ISI) ๐Ÿ–ฅ๏ธ.

The reader is cautioned that the data below reflects the Host performance as seen by the MIT-DMS survey program, which surveys the Hosts only once every twenty minutes. Consequently, the actual host performance may be somewhat different. Also, we cannot tell apart IMP, telephone line, and Host failures, and a host's response time is affected by its distance (number of IMP hops) from the MIT IMP (IMP 6) ๐Ÿ™ˆ.

In the data shown in Table II, each success or fail response is treated as lasting 20 minutes, so Hosts get the benefit of the doubt for the time we aren't surveying ๐Ÿซถ. The response time is averaged only over the successful logger available responses ๐Ÿ“ˆ. The logger counts as available if the SURVEY program can set up a full-duplex connection within 20 seconds โœ…. The Host counts as available when it is not in the "DEAD" state. (The states where the logger isn't up but the Host is still available are logger not responding and logger rejecting.) ๐Ÿ’…

                                TABLE I

   RESPONSE TIME, AVAILABILITY, AND FAILURE RATE FOR SELECTED HOSTS
          (based on SURVEY data for 8/25/73 through 8/31/73)

            PARAMETER                      NIC     BBN     ISI

           Average Response-time (sec.)    2.7     2.4     3.0

           Host Availability               93%     85%     87%

           Logger Availability             91%     79%     83%

           Failure-to-connect rate

           for Host (hours)                18.2    9.4     18.1

           Failure-to-connect rate

           for logger (hours)              16.0    6.0     10.0

The details on the measurements above will be in a forthcoming paper ๐Ÿ“. This paper focuses on the remaining parameters: transmission rate, processing costs, and accuracy, as measured by the MIT-DMS File Transfer Measurement facility ๐Ÿ”ฅ.

The FTP measurement facility lives in the MIT-DMS CALICO subsystem ๐Ÿงฉ. Every time the MIT-DMS FTP-user or FTP-server program in the CALICO subsystem is used to transfer files (and data) over the ARPANET, it records these transfer parameters in a local disk file ๐Ÿ’พ:

  • the remote Host involved
  • the date and time the transfer is initiated
  • the total number of bits transferred
  • the real time taken (in seconds) for the transfer
  • the CPU time (in micro-seconds) used by the program
  • whether the program is the server or user
  • the FTP parameter settings for byte size (BYTE), representation type (TYPE), transfer mode (MODE), and the file structure (STRU)

There are programs in CALICO that display and summarize this data ๐Ÿ“Š.

It should be noted that no measurements are recorded when the non-CALICO FTP-user and FTP-server programs are used to transfer files ๐Ÿšซ. So the measurement is only a small subset of our total FTP usage, bestie ๐Ÿ˜ญ. The CALICO FTP-server was only operated until May 1973, when we switched to the non-CALICO FTP-server. (The switch happened because CALICO, which is still under development, is somewhat less reliable. As CALICO stabilizes, we may run the CALICO server again and keep measuring data transfer ๐Ÿ”„.) Also, many users prefer the simpler stand-alone FTP-user program, which uses fewer system resources ๐Ÿ™Œ. The measurement does include the data transferred when FTP is used indirectly through commands like "copy", "print", "listf", and "mail.file" in the CALICO NETWRK subsystem ๐Ÿ’œ.

III. THE MEASUREMENT RESULTS โœจ

okay so the measurement facility has been running since 25 February 1973 ๐Ÿ—“๏ธ (not nonstop, but still!). In that time it has logged the transfer of 304 files, which adds up to 57.6 million bits ๐Ÿ’พ. Over 90% of the bits (but only 75% of the files) moved using the more efficient Image-36 stream mode (TYPE I, BYTE 36, MODE S) ๐Ÿ”ฅ. The rest of the files used the ASCII-8 stream mode (TYPE A, BYTE 8, MODE S). Block mode was available, but it was never used by our users ๐Ÿ™ˆ. The main reasons were that many FTP servers don't implement it, and it's less efficient anyway. Every single file had a sequential non-record file structure (STRU F) ๐Ÿ“„. Here's the summary in Table II ๐Ÿ‘‡

                           TABLE II

              SUMMARY OF FTP MEASUREMENT RESULTS

Subset of data  # Files  # bits  Av. File  Speed    CPU-use
                          Mbits    Kbits    Kbps     sec/Mb

Total             304     57.6      189     7.56       4

Image 36 mode     223     53.6      240     9.35       3

ASCII-8 mode       81      4.0       49     2.09      19

Server sending     62      3.8       61     7.50       2

Server receiving  110     19.8      180     7.44       1

User receiving     83     22.8      276     7.92       6

User sending       49     11.1      225     7.09       4

Everything you see in that table, and the summaries, is generated by the "PFTPST" (Print FTP Statistics) program in the CALICO subsystem ๐Ÿ’…. Table III is a sample of what that program displays ๐Ÿงš. The BPS (bits per second) and M/B (CPU microseconds per bit or CPU seconds per Megabit) numbers are calculated by the display program itself โœจ.

The biggest file was 5.03 Mbits, a "STOR" from the FTP user to MIT-AI ๐Ÿ˜ญ. It took 10 minutes of real time, which works out to a little over 10 Kbps. The fastest transfer was 27.8 Kbps, a "RETR" from BBN-TENEXA to the MIT-DMS FTP server ๐Ÿš€. That file was 28 Kbits, and both of those big transfers used the more efficient Image-36 mode, obviously ๐Ÿ’–. The smallest file, and the slowest rate recorded, was an 80 bit "MLFL" to MIT-ML using ASCII-8 ๐ŸŒ. It took 7 seconds of real time for an 11 bps transfer rate ๐Ÿ’€.

                           TABLE III

                SAMPLE DISPLAY OF FTP MEASUREMENT DATA

-#- ---HOST--- COMM --DATE-- --TIME-- --BITS-- -BPS- M/B T BY PRG

  2 sri-arc    STOR 73/08/09 18:19:49   121392  1395  21 I 36 U
198 mit-ml     STOR 73/08/15 15:00:30    50688  5336   8 I 36 U
198 mit-ml     RETR 73/08/15 15:01:14    50688 10137  12 I 36 U
198 mit-ml     STOR 73/08/15 15:02:33   255456  8808   7 I 36 U
198 mit-ml     RETR 73/08/15 15:03:58   258048  8601  12 I 36 U
134 mit-ai     STOR 73/08/15 15:13:17   286720  1898  29 A  8 U
134 mit-ai     RETR 73/08/15 15:18:39   258048  9557  14 I 36 U
134 mit-ai     STOR 73/08/15 15:19:42   258048  6974   7 I 36 U
  2 sri-arc    RETR 73/08/15 15:31:20     7236  3618  22 I 36 U
  2 sri-arc    STOR 73/08/15 15:32:55    49428  8238  31 I 36 U
  2 sri-arc    RETR 73/08/15 15:34:56    49428  3530  15 I 36 U
  2 sri-arc    STOR 73/08/15 15:38:09    49428  7061   8 I 36 U
  2 sri-arc    STOR 73/08/20 15:18:26    35460  2364   9 I 36 U
  2 sri-arc    RETR 73/08/20 16:08:09    58832   426 153 A  8 U
  2 sri-arc    RETR 73/08/22 12:46:10    10512   166 247 A  8 U
  2 sri-arc    RETR 73/08/23 16:29:37      320    64 369 A  8 U
  2 sri-arc    RETR 73/08/24 12:25:38     9992   262 254 A  8 U
  2 sri-arc    RETR 73/08/24 12:27:26     9992   454 250 A  8 U
198 mit-ml     STOR 73/08/29 10:40:58   768924  7538   7 I 36 U
198 mit-ml     STOR 73/08/29 10:44:09   166572  5552   7 1 36 U
198 mit-ml     STOR 73/08/29 10:54:32   166572  7932   7 I 36 U
198 mit-ml     STOR 73/08/29 13:48:18   158040 12156   7 I 36 U
 69 bnn-tenexa MLFL 73/08/29 22:30:55     5600  1866  51 A  8 U
 69 bbn-tenexa MLFL 73/08/29 22:31:42     5600  2800  50 A  8 U
 86 usc-isi    MLFL 73/08/29 22:33:55     5600  1400  54 A  8 U
 69 bbn-tenexa MLFL 73/08/29 22:36:15     5600  2800  48 A  8 U
 69 bbn-tenexa MLFL 73/08/29 22:36:54     5600 2800   49 A  8 U

Also, the recent ASCII-8 data includes retrievals of "NIC Journal" documents ("<Xjournal>xxxxx.nls;xnls" files) from SRI-ARC ๐Ÿ“ฐ. SRI-ARC converts these "xnls" files from NLS to sequential form on the "fly", which takes a lot of time, so those transfers come out with a really low rate ๐Ÿฅฒ.

Reliability-wise, the ARPANET and FTP were honestly solid for us ๐Ÿซถ. On plenty of occasions we moved a complete listing of our operating system (about 6 million bits), reassembled it, and ran it with no problems at all. Nobody has reported any data lossage to us so far ๐ŸŽ‰.


IV. THE SIGNIFICANCE OF MEASUREMENT RESULTS ๐Ÿง 

First, I'm totally on board with Barry Wessler (Ref. "Revelations in Network Host Measurements" NWG/RFC 557, NIC 18457) ๐Ÿ™Œ. The measurements should be read in the spirit of "Here is a place to make the Network better," not "Look, isn't the Network terrible." We take our measurements in that same spirit, and honestly the measurement effort has been super fruitful ๐Ÿ’œ. A few times, with help from our measurement facilities, we managed to improve our Network programs by an order-of-magnitude ๐Ÿ”ฅ (just like Don Allen at BBN did with Greg Hicks' RJS program).

Our results match up closely with the BBN FTP measurements (8.2 cpu seconds/Mb for 8-bit byte and 2 CPU seconds/Mb for 36-bit byte transfers) ๐ŸŽ€. We also find that 36-bit byte transfer is an order-of-magnitude more efficient than 8-bit byte transfer ๐Ÿ‘‘. Assuming $6.00 per CPU minute, moving a Megabit costs about $1.90 in ASCII-8 mode, versus only $0.30 in Image-36 mode ๐Ÿ’ธ. The transfer rate difference is just as wild: 9.4 Kbps for Image-36, compared to only 2 Kbps for ASCII-8 ๐Ÿ˜ณ.

So our recommendation is that Image-36 mode be used as much as possible for transferring data between PDP-10s (of which there are many on the ARPANET) ๐Ÿงš. We strongly urge that protocols and programs allow for, and use, Image-36 mode for all data transfers, including mailing files (MLFL), listing directories (LIST, NLST), and sending or retrieving NIC Journal documents ๐ŸŒˆ. A lot of the MID-DMS user programs, like "COPY" and "FTP", already take advantage of the fact that the remote Host is a PDP-10 (there's a table of PDP-10s in "COPY") and use the more efficient Image-36 mode ๐Ÿ’–. That approach is highly recommended, no cap ๐Ÿ’….

The effective IMP-IMP data transfer rate is about 37.5 Kbps over the 50 Kbps telephone line (Ref. McQuillan John M., "Throughput in the ARPA Network--Analysis and Measurement," BBN Report 2491, NIC 14188, January 1971) ๐Ÿ“ž. BBN's Host-to-Host measurements (above reference, p. 28) showed a transfer rate of 30-35 kbps BBN-to-BBN (0 IMP hops) and 12-16 Kbps BBN-to-SRI (5 hops) using a single link ๐Ÿ›ฐ๏ธ. Since FTP sends data over a single link, you can expect a maximum transfer rate somewhere between 12 and 35 Kbps (depending on the number of IMP hops) if the file transfer is the only thing going on ๐Ÿง. With that in mind, our maximum of 27 Kbps to BBN (2 hops) is probably the most anyone can expect from any program ๐Ÿ†. The average of 9.4 Kbps for Image-36 also seems reasonable, since lots of other network activity was happening during many transfers, and many of them ran while the computer systems were pretty heavily loaded ๐Ÿ˜ฎโ€๐Ÿ’จ. Still, our data shows that transfer rates are noticeably higher when a computer is likely to be lightly loaded ๐ŸŒ™.

None of this means improvements aren't possible or aren't needed in ARPANET data transfer ๐Ÿ™…โ€โ™€๏ธ. Our data has revealed areas where improvements can and should be made ๐Ÿ”ง. For example, transfers to other MIT Hosts (0 IMP hops) and back to ourselves should be faster than what we currently get (transfer to BBN is faster!) ๐Ÿ˜ค. The probable reason is that our allocation (Host-Host protocol) is very small (2944 bits) compared to what BBN gets (17724 bits) ๐Ÿค. That means our Network Control Program (NCP) has to wait for an allocation many more times when it's talking to an ITS system than to a TENEX system โณ. Large allocations are always desirable, but they matter even more during file transfers ๐Ÿ“ฆ. NCP designers can (and should) modify NCPs to allow large allocates (larger NCP buffers) for file transfer, even if that costs smaller allocates for other kinds of connections (like a terminal connected to a computer system) that don't need or use the larger allocation ๐Ÿงฉ. On top of that, a new allocate should be sent as soon as the receiving program reads data. The NCP shouldn't wait for the allocation to hit zero before sending the new allocate ๐Ÿ™Œ.

We also noticed that small files transfer at a much lower rate than large files, but past a file size of 40 Kbits, file size barely makes a difference in transfer rate or processing cost per bit transferred ๐Ÿ“Š. The 40 Kbit figure is probably related to the size of the sending and receiving buffers the programs use ๐Ÿงบ. In general, for most practical buffer sizes, bigger buffers and allocations mean faster and more efficient transfers ๐Ÿš„. Unfortunately, large NCP buffers aren't easy to come by on many systems, and they come at a premium ๐Ÿ’ฐ. The information on average file size (240 Kbits for Image and 40 Kbits for ASCII files) may come in handy when deciding how to allocate buffer space ๐ŸŽฏ.


V. REQUEST FOR COMMENTS AND SUGGESTIONS ๐Ÿ’Œ

We really hope these measurement results, along with our FTP and SURVEY measurement facilities, help ARPANET users plan how they use the Network and help Network programmers make it better ๐Ÿซถ. This RFC is literally a Request For Comments, so your suggestions on how we collect, store, and display measurement data would mean a ton ๐Ÿฅฐ. We can break the measurement data down by Hosts, and we'll happily share that if it sounds useful ๐Ÿ—‚๏ธ. Also, tell us what other parameters we should record or display ๐Ÿ‘€.

You can reach me through the ARPANET (AKB at MIT-DMS (Host 70), NIC Ident AKB), by phone (617-253-1428 or 1449), or by US mail (Rm. 208, 545 Tech Square, Cambridge, Mass 02139) ๐Ÿ“ฌโœจ.

[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Robert Baskerville 9/98 ]

๐Ÿ“ฆ where this page comes from