RFC 573
DATA AND FILE TRANSFER - SOME MEASUREMENT RESULTS
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:
- Transfer rate (both peak and average, measured in bits per second). This decides the throughput of the facility ๐.
- Response time or delay (measured in seconds). This is what decides the "interactibility" of the facility ๐ซ .
- 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 ๐คทโโ๏ธ.
- 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 ๐.
- Availability: the percentage of time a given facility is available, or alternately the probability of finding the facility available at a given time ๐ข.
- 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
- ietf: rfc573 1973-09
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms