Files have become larger and larger over time. Most computers and Internet devices today support streaming video and other large file transfers. A home may have several computers accessing the Internet and transferring large files simultaneously. Many on-line computer repair tools advertise speeding up your computer’s communications speed. So what makes for fast information transfers? This article explains how communications speeds can be increased in your computer.
Communications speed depends upon the bits per second transmission speed, the amount of data in each chunk (packet-frame) of data transmitted and the error rate (e.g. one (1) bit error in 10,000 bits transmitted or a lot lower). Matching these to a communications channel is what makes the channel efficient and speedy in transferring data.
In the early 80′s communications between computers used dial-up analog telephone channels. In the mid 1980′s the first Small Office Home Office (SOHO) Local Area Networks (LANs) were sold. These permitted all computers in a home or office to share data amongst themselves. As time transpires communications speeds have increased substantially. This has made a difference in communications performance because the primary contributor to communications performance is transmission speed in bits per second.
Transmission speeds across a an analog telephone channel began at 300 bits per second (bps) or roughly 30 characters per second in 1980. It soon increased to 1,200 bps, then 9,600 bps, and upwards to 56 thousand bits per second (Kbps). The 56 Kbps speed was the fastest speed that an analog telephone channel could support. Internet connections now are broad band connections that started at speeds of 768 Kbps – up to the Internet and 1.5 Mbps down from the Internet. Coaxial Cable and Fiber Optic cable systems offer a variety of speeds ranging from 5 Mbps up/15 Mbps down to 35 Mbps up/ 150 Mbps down. Comcast and Verizon often state the down speed first because it is the larger and more impressive number. The speeds are mismatched because less data is sent to the Internet than is downloaded from the Internet.
LAN speeds in the mid 80′s started at 10 Million bits per second (Mbps), then rose to 100 Mbps, and today we have 1 Giga or Billion bits per second (Gbps).
The early disk drive interfaces transferred data in parallel at speeds of 33 Mega or million Bytes per second (MBps). An equivalent bits per second speed would be roughly 330 Mbps. Speeds increased to 66.7 MBps, then to over 100 MBps. At that time the new Serial AT Attachment (SATA) interface was introduced which jumped the transfer speeds to 1.5 Giga bits per second (Gbps), then quickly to 3 Gbps, and to 6 Gbps today. These communications speeds were and are needed to keep pace with the volumes of data communicated between computers and within a computer.
When computers transfer data like web pages, video files and other large data files, they break the file up into chunks and send it a chunk at a time to the receiving computer. Sometimes depending upon the communications channel, a wired Local Area Network (LAN) channel or a wireless Local Area Network channel, there are errors in the chunks of data transmitted. In that event the erroneous chunks must be retransmitted. So there is a relationship between the chunk size and the error rate on every communications channel.
The configuration wisdom is that when error rates are high the chunk size should be small so as few chunks as possible have errors necessitating re-transmission. Think the opposite way, if we made the chunk size very large it would guarantee that every time that large chunk of data were sent across a communications channel it would have an error and would then be re-transmitted – only to have another error. Such a large data chunk would never be successfully transmitted when error rates are high.
In communications terminology my data chunks are often called packets or frames. The original Ethernet LAN packets were 1514 characters in size. This is roughly equivalent to one page of printed text. At 1,200 bps it would require about 11 seconds to transmit a single page of text. I once sent 100 plus pages of seminar notes to MCI Mail at 1,200 bps. Because of the high error rate it took several hours to transfer the complete set of course notes. The file was so large that it crashed MCI Mail. Oops!
When communications speeds are higher and error rates very low, as they are today, extra-large chunks of data can be sent across a communications channel to speed up the data transfer. This is like filling boxes on an assembly line. The worker quickly fills the box, but extra time is required to cover and seal the box. This extra time is the transmission overhead. If the boxes were twice the size, then the transmission overhead would be cut in half and the data transfer would speed up.
Most all computer products are designed to communicate across low-speed high error rate communications channels. The high-speed communications channels of today also have extraordinarily low error rates. It is sometimes possible to adjust the communications software and hardware to better match the speed and error rate of a communication channel and improve performance. Sometimes adjustments are blocked by the software. Many times you cannot tell if the performance has been improved or not. Generally, if you can increasing the packet (chunk) size should improve performance when the hardware and software products you are working with permit such changes. In Windows adjusting the Maximum Transmission Unit (MTU) adjusts the networking chunk size. There are non-Microsoft programs that help make the changes or this can be manually adjusted. The problem is that the error rate can vary depending upon the site which you are visiting.
For example, when the first Mars rover pictures were being published by JPL there were several mirror sites hosting the files. These sites had a lot of people with computers trying to download the pictures. There was huge congestion at these sites. I wanted the pictures badly but did not want to battle crowds, so I look at the available mirror sites and spotted one un Uruguay. At that time I figured how many people in Uruguay had computers and high-speed Internet access. So it seemed to me that there would be no congestion at that site and I could down load the Mars pictures easily. I was correct, but the download speed was not fast. It probably took twice as long to down the Mars pictures. That is because the communications speed to the servers in Uruguay was slower than the speed in the U.S. and likely the error rate was higher as well.
At this point it is good to remind you that “Defaults Work Best”. When in doubt go with the default values. Do not try to out think Windows.
Since the communications speed and error rates vary depending upon whether you are visiting Yahoo, Google, Microsoft, or some little known site in Uruguay, it is best to pick a good all round chunk (packet) size and stick with it. If you do change the size, it is good to conduct periodic comparisons to see if performance really is better.
There is at least one simple thing you can do to improve performance when copying files from computer disk drive to computer disk drive inside your computer. Start three copying tasks going in the Windows Explorer and have the 1st Windows Explorer copying task copy one-third of the files, the 2nd copy the second third and the 3rd copy the remaining files. In this manner the three Windows Explorer copying tasks run simultaneously and increase utilization of the communications channel shortening the overall communications time. If you do the transfers across the network channel, you can see the network utilization increase in the Task Manager by starting multiple copying tasks in Windows Explorer.
There is a commercial (not free) program called Total Commander that acts similar to Windows Explorer. In addition, Total Commander does permit setting the transfer chunk size. This option is buried in the menus. As an experiment I tested to see if there was an impact on performance when the chunk size was increased. Normally, the default size is 32 Kb per chunk, but I found that increasing the size to 8192 Kb per chunk provided better overall data transfer performance. This has proved a boon because I routinely transfer 100′s of Gigabytes of data between drives. Still running several copying tasks in Windows Explorer is improves performance as well.
So the bottom line is that as communications speeds increase and error rates decrease, transferring larger chunks of data (if we can) improves communications performance. When error rates are high on any communications channel, Windows stops dead in its tracks and times out waiting for the channel to respond. To us it looks like Windows has died. In this case go to lunch and come back before powering off the computer.
Please remember “Defaults Work Best” so do not get too creative.
Pete the Nerd
“Your Friend on a Technically Challenged Planet©”
©P D Moulton