ENHANCING TCP ENERGY EFFICIENCY FOR MOBILE HOSTS W. Lilakiatsakun*, ** A. Seneviratne** *Dept. of Computer Engineering Mahanakorn University of Technology, Bangkok 10530 Email:
[email protected] **Dept. of Electrical Engineering and Telecommunications The University of New South Wales, Sydney 2052 Australia Email:
[email protected]
ABSTRACT We present the finding of an investigation into an energy and performance enhancing technique for TCP operating in wireless networking environments. This technique, in contrast to other schemes that have been studied to date, are based on the concept of minimizing the probability of packet loss in wireless links rather than on error recovery. The scheme we propose intelligently suspends transmissions when the wireless link displays poor error characteristics and resumes when the error condition abates, to minimize packet loss without TCP modification. Through simulation, in LAN environment it is shown that intelligently suspending and resuming is possible to get better TCP performance and energy efficiency when the error is persistent, long duration of bad period and high error rate. On the other hand, in WAN environment it is worth doing in all situations that can improve energy efficiency up to 40% and improving TCP performance up to 35 %. This study will lead to improve TCP performance and energy efficiency by deploying lower layer information efficiently.
1. INTRODUCTION TCP have been widely used as a reliable transport protocol in many applications. During the past few years, a large number of studies have focused on improving TCP performance. TCP Tahoe [1], Reno [2], and Newreno [3] algorithms have been developed to deal with error conditions in various situations. However, these were designed for wired networking environments in which packets losses are primarily due to network congestion. TCP implementations assume that all packet losses are due to network congestion. Wireless link transmission characteristics are completely different to wired links, especially in terms of their error characteristics. They always suffer from packet losses due to link errors as well as network congestion. Therefore, one of the interesting aspects of using TCP in wireless networking environments is the side-effects of misinterpretation the cause of packet losses. The most common effect, shown by researchers, is the inappropriate invocation of the TCP congestion algorithm and the resulting loss in performance [10]. Several methods of overcoming this have been reported in the literature [4,5,10] introducing mechanisms that enable the transmitter to distinguish error within the wireless and wired
network segments. Although these methods can improve TCP performance, but the energy issue has not been addressed. It, therefore, is not clearly presented that improving performance will improve the energy efficiency. The other proposals propose the use of a split connection where they divide a TCP connection into two connections, one between the mobile hosts and the base station and the other between the base station and the fixed host [6]. The main disadvantage of split connection schemes is the destructions of the TCP end-to-end. For example, if the base station crashes, it will not be possible to recover the connection. In addition to the above, both schemes do not take into account, the impact of the scheme on energy consumption. Energy consumption is a significant metric in mobile devices as they have to rely on battery power. In an attempt to address this, Stemm et al. [7] proposed turning off the network interfaces based on the knowledge of higher layers. By doing this however, made the mobile devices unreachable hosts whist being turned off. Tsaoussidis et al [8][9] also studied the tradeoff between energy and throughput, and proposed a new protocol to probe the network condition when a packet loss was detected and TCP will response toward error adaptively. Even though, adaptive error recovery mechanism in TCP probe can achieve better TCP throughput. But some packets will be dropped before TCP takes any responding, especially in deep fading condition TCP might pay expenditure in term of energy to retransmit those packets. Closely related work is Tom Goff et al. [14] proposal on FreezeTCP technique to improve TCP performance for mobile environment. That is the mobile host will send the zero window advertisement (ZWA) when it senses to disconnection. However, the Freeze TCP was intended to implement on a mobile host while being as a TCP receiver. As oppose to Freeze TCP, we proposed scheme implemented on mobile host as a TCP sender. Again, the energy issue was not taken into account. In current wireless networking environments it is possible to determine the SNR of the channel, and hence infer the link status, quality and PER (packet error rate) and make it use of this information at the TCP layer. In this paper, we propose a way of achieving this under existing TCP mechanisms. The aim of this scheme is not intended to design the new TCP for wireless channel. Rather, the scheme has been designed to be additional function. The scheme basically suspends transmissions when the link state is poor, and resume when it improves. Using simulation, we show the viability of this simple scheme, and also
show that it performs extremely well, especially in high latency network.
2. INTELLIGENT SUSPENSION/RESUMPTION SCHEME The shortcomings of the above schemes can be overcome by simply determining the channel state. The channel state can be considered to be in one of two states: good or bad [9]. The state can be determined by measuring the SNR as described below. When then the channel is in a bad state, the mobile simply stops transmitting. It resumes transmission when the channel returns to a good state. It is realized by implementing a thin layer, the control layer, between the network layer and the transport layer to control creation transmission of packets dependent on the channel state. The channel state was determined by analyzing the SNR measurements. The SNR measurements were collected and analyzed by the intelligent plane. This is schematically shown in Figure 1.
2.1 Collecting and Decision Processes Both processes will be implemented on the intelligent plane. The functionality of collecting process is to gather the SNR information via device driver interfacing function. While the decision process will analyze these information for what the TCP should do next. If the SNR is stable and much higher the threshold, this situation would mean that the mobile host is not being moved. The process will not send any signal to control layer in TCP/IP stack. On the other hand, when the SNR decreasingly changes the decision process will consider this situation as mobility and approaching to bad state. The basic algorithm used is that the values will be compared with the predefined level. If the SNR is lower than defined value, the process will send STOP signal to control layer. The SEND signal will be launched again when the SNR become higher than threshold. The main advantage of this separated plane is that implementation of the scheme can be done as a loadable module or add-on function rather than embedding in the kernel. Additionally, the complicated and intelligent algorithm can be developed independently without too much TCP/IP code interfering in this plane. Application Layer Transport Layer Control Layer
STOP/SEND Decision Process
Network Layer Collecting Process Link Layer SNR Physical Layer
Device Driver Interface
TCP/IP Suite
Intelligent plane
Figure 1. The Control layer and the Intelligent plane
2.2 Control Layer We suspended TCP sender by stopping generating new packets from TCP layer when link state was bad. An acknowledge packet was used to resume transmissions when the channel returned to a good state. This was accomplished by the thin layer sending receiving window of 0 when the SNR measurements indicated that the channel was in a bad state. This, in effect, stopped TCP from generating new packets. Meanwhile, the control process will take control incoming acknowledgement packets until channel state will be considered as a good state. The resumption was achieved by the received window size will be updated with last received value. However, this scheme will not stop any packet below TCP layer, therefore, it is possible that packets can be dropped during in suspension mode due to the packet in a lower layer buffer. This, we do not believe significantly affect the performance of the system as shown in the simulation result later.
3. VALIDATION OF THE OPERATION AND PERFORMANCE The viability of the proposed scheme was evaluated though simulation. The simulations were done using NS2.
3.1 Simulation Environment The topology used in our simulation is a three nodes network including a mobile host, base station and a fixed host as shown in Figure2. The mobile host functions as a TCP source connecting to the base station with a low bandwidth and high error rate link. The link between the base station and the fixed host is a relatively high bandwidth and low error rate link.
Wired LAN/WAN Base station /Access Point
Fixed Host
Mobile Host
Figure 2. Simulation topology In wireless connection, the bit rate is 2Mbps and link delay is 2 ms. For LAN, the link between the base station and the fixed host is high bandwidth and low latency, therefore, the bandwidth is 10Mbps and link delay is 1 ms. For WAN, we observed on the high bandwidth-delay product, thus the bandwidth is 1Mbps and link delay is 100ms. We simulated by using FTP to transfer 5Mbytes data from the mobile host to the fixed host. We assume that the wired link is reliable and not congested. We further assume that the packet is not dropped at base station since buffer overflow and no acknowledge packet will be dropped in wireless link
3.2 Error Model
4.1.1 LAN Environments
We simulated the situation when the mobile host moves around the base station. The SNR levels will be reflected as the channel error [12]. However, mapping between the SNR and the PER in TCP layer might need some factors to be accounted for such as MAC retransmission, geographical environments and etc. The investigation to achieve this is beyond of scope in the paper. We, therefore, assume that at a certain SNR value can reflect to a certain PER. The channel state was also characterized as a two state Markov model, representing a good and a bad state was used. A PER of 0 was used to represent a clean good link state and a mean PER between 0.1 – 0.5 was chosen to represent the behavior of error in a bad state, for example, random or burst error. The transition time from good to bad state and vice versa was assumed to be exponentially distributed. Finally, the mean sojourn time in a good state was assumed to be 5 sec. while the mean sojourn time was varied between 0.25 - 2 sec to represent the consistency of error.
The performance of the proposed Suspension/Resumption scheme in LAN environments is shown in Figure 3. As can be seen, proposed scheme cannot perform well under low packet error rates. The reason is that under low packet error conditions, error recovery mechanism can possibly be triggered by a fast retransmission and following by the fast recovery mechanism. While stop transmitting, although, we can avoid some errors but time spent in suspension will take longer than being used in error recovery phase. However, the performance of the proposed scheme will be improved as the channel becomes more lossy. At a PER of 0.3, the throughput of Suspension/Resumption is approximately equal to the Reno. This trend can be clearly demonstrated in Figure 3 (d). As the errors become more persistent, the enhancing scheme will perform significantly better. Under such error conditions, TCP will detect errors as a result of a retransmission timeout. Thus it will invoke slow start with a congestion window size of one. This results in significant degradation in performance due to recovery time will be spent much more than proposed scheme.
3.3 Performance and Energy Efficiency Metrics Throughput (Bytes/Sec)
The results below based on the parameters described previously are shown in two aspects TCP performance and energy efficiency. The traced based results of this scheme can be founded in [13]. On observation, the experiments were conducted with the various flavors of TCP, and were found to have similar results under the conditions reported in this paper. Therefore, only result TCP Reno is presented.
4.1 Performance The performance of the proposed scheme was evaluated using throughput as the metric under two operational scenarios, namely in LAN environments, and WAN environments. LAN environments were defined as a high bandwidth and low latency network having 10 Mbps bandwidth and 1 ms propagation delay. WAN environments were defined as a low bandwidth and high latency network having 1 Mbps bandwidth and 100 ms propagation delay.
*
2.1 2 1.9 1.8 1.7
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
5
2.2
2.2
1.5 0.2
x 10
PER 0.3
Reno+Suspension/Resumption * Reno
1.6
2
2 1.9 1.8 1.7 1.6 1.5 1.4 0.2
0.4
x 10
2.3
PER 0.2
* *
2.2
Reno+Suspension/Resumption Reno
2.1 2 1.9 1.8 1.7 1.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
x 10
5
PER 0.5
Reno+Suspension/Resumption
* * Reno
2.1 2 1.9 1.8 1.7 1.6 1.5 1.4
1.5 1.4 0.2
0.6
Mean Bad-State Time (Second) (c)
5
2.4
Reno+Suspension/Resumption
* * Reno
2.1
Mean Bad-State Time (Second) (a)
Throughput (Bytes/Sec)
4. SIMULATION RESULTS
2.3
2.3
2.3
Overhead =(Total bytes sent – Original data) /Original data * 100
5
PER 0.1
Throughput (Bytes/Sec)
Three metrics, namely throughput, overhead, connection time was used for the evaluation of the system. The first, throughput, is the classical performance metric and provided an indication of how much data the TCP layer can transmit/receive per second. The other two, connection time and overheads were used to assess the energy efficiency [8]. The connection time provide the total time a connection was active. The overheads indicated the extra information that was transmitted/received during a connection and was defined as:
x 10
2.4
Throughput (Bytes/Sec)
2.5
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Mean Bad-State Time (Second) (b)
1.3 0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Mean Bad-State Time (Second) (d)
Figure 3. TCP throughput in LAN environments
4.1.2 WAN Environments As clearly shown in Figure 4, in a WAN environment, the Suspension/Resumption scheme performs well even under small PERs. The reason for this is that, in WANs, due to the relatively high latencies, TCP sender is likely to detect loss of packets late. As a result, the reactive error/congestion control and recovery mechanisms will be only invoked after some packets are lost. This delayed reaction, in a wireless environment may mean that it will occur after the event, i.e. when the link is in a good state. The proposed scheme overcomes both these problems, as it prevents new packets being transmitted when the link state is bad thus minimizing the number of new packets being dropped and not idling when the channel is in a good state.
2
5
0.9 0.8 0.7
0.6
0.8
1
1.2
1.4
1.6
1.8
10 9 8
40
7 6 5 0.2
2
0.4
Mean Bad-State Time (Second) (a) 4
Throughput (Bytes/Sec)
13
x 10
13
PER 0.2
* *
12
Reno+Suspension/Resumption Reno
11 10 9 8 7 6 5 0.2
x 10
0.8
1
1.2
1.4
1.6
1.8
2
4
PER 0.5
12
Throughput (Bytes/Sec)
14
0.6
Mean Bad-State Time (Second) (c)
Reno+Suspension/Resumption * Reno
*
11
0.6
0.8
1
1.2
1.4
1.6
1.8
36 34 32 30 28 26
Reno+Suspension/Resumption
PER 0.3
* * Reno
38 36 34 32 30 28 26
24
0.4
0.6
0.8
1
1.2
1.4
1 .6
1.8
24 0.2
2
0.4
Mean Bad-State Time (Second) (a)
9
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Mean Bad-State Time (Second) (c)
8 7
42
6
40
44
Reno+Suspension/Resumption
PER 0.2
4 0.2
2
40
Reno+Suspension/Resumption
* * Reno
22 0.2
10
5
0.4
PER 0.1 38
Connection Time (Second)
1
11
0.4
Mean Bad-State Time (Second) (b)
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Mean Bad-State Time (Second) (d)
Figure 4. TCP Throughput in WAN environments
* * Reno
38
42
Connection Time (Second)
1.1
0.4
Reno+Suspension/Resumption
* * Reno
12
1.2
For the same reason as explained in previous section, the time spent in TCP connection of the Suspension/Resumption scheme will be less than TCP when the error is considerably high, shown in Figure 6 (c,d).
4
PER 0.3
Reno+Suspension/Resumption * Reno
Connection Time (Second)
Throughput (Bytes/Sec)
*
0.6 0.2
x 10
13
PER 0.1
Connection Time (Second)
x 10
1.3
Throughput (Bytes/Sec)
1.4
36 34 32 30 28 26
Reno+Suspension/Resumption
PER 0.5
* * Reno
40 38 36 34 32 30 28 26
24 0.2
4.2 Energy Efficiency
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
0.2
2
We consider the energy efficiency as a combination of the time spent in a connection and the overhead of the data transmission as used in [8]. Again the evaluation was done in LAN and WAN environments.
2
0.9 0.8 0.7 0.6
*
1.2
1.4
1.6
1.8
2
4.5
Reno+Suspension/Resumption
PER 0.1
1.8
Reno+Suspension/Resumption * Reno
2
1.8
1.6
4
* * Reno
1.6 1.4 1.2 1 0.8 0.6
1.4
* * Reno
3 2.5 2 1.5 1
0.4
0.5
Reno+Suspension/Resumption
PER 0.3
3.5
Overhead (%)
Overhead (%)
Overhead (%)
PER 0.3 2.2
Overhead (%)
* *
1
Reno+Suspension/Resumption Reno
1
In WAN environments, the overhead and connection times of Suspend/Resume shows the advantages even though inconsistent error condition, low error rate and short period of bad state. The overheads of proposed scheme is flat in all cases, 0.1 % whereas the standard TCP will grow up dramatically when the error becomes more burst. This is shown in the results presented in Figures 7 and 8. It can be seen that the overhead will be save up to 5 % and the connection time reduced by up to 40%. Thus, this scheme significantly improves the energy efficiency of TCP in WAN environments as well.
2.4
PER 0.1
0.8
4.2.2 WAN environments
Intuitively, the higher the error rate, the higher retransmissions. In Figure 5, the result shows that the overheads of a TCP connection will grow up both ordinary TCP and enhanced TCP. However, TCP with the Suspension/Resumption can pay relatively less energy expenditure than TCP Reno under same situation. The overheads of the proposed scheme become flat when the error is more persistent. By contrast, the TCP Reno’ s overheads in lossy condition grow consistently. 1.2
0.6
Mean Bad-State Time (Second) (d)
Figure 6. TCP Connection time in LAN environments
4.2.1 LAN Environments
1.1
0.4
Mean Bad-State Time (Second) (b)
0.5
0.2
0.4 0.3 0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 0.2
1.2 0.2
0.4
Mean Bad-State Time (Second) (a)
0.6
0.8
1
1.2
1.4
1.6
1.8
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
0 0.2
2
Mean Bad-State Time (Second) (a)
Mean Bad-State Time (Second) (c)
* *
Overhead (%)
Overhead (%)
1.4
1.2
Reno+Suspension/Resumption Reno
2.7 2.6 2.5 2.4
PER 0.5
* * Reno
3
1
1.2
1.4
1.6
1.8
2
2
1.5
1
Reno+Suspension/Resumption
* * Reno
5
2.5
4
3
2
2.3 1
0.5
1
0.8
6
Reno+Suspension/Resumption
PER 0.2
PER 0.5
2.8
1.6
2.2 2.1
0.8 0.2
2.9
Overhead (%)
* *
1.8
Reno+Suspension/Resumption Reno
Overhead (%)
PER 0.2
0.6
Mean Bad-State Time (Second) (c)
3.5
3
2
0.4
2
0.4
0.6
0.8
1
1.2
1 .4
1.6
Mean Bad-State Time (Second) (b)
1.8
2
2 0 .2
0 0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Mean Bad-State Time (Second) (d)
Figure 5. The Overhead of TCP data transmission in LAN environments
2
0.4
0.6
0.8
1
1.2
1.4
1.6
Mean Bad-State Time (Second) (b)
1.8
2
0 0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Mean Bad-State Time (Second) (d)
Figure 7. The overhead of TCP data transmission in WAN environment
2
PER 0.1
85 80 75 70 65 60 55 50 45 0.2
0.4
110
Reno+Suspension/Resumption
* * Reno
Connection Time (Second)
Connection Time (Second)
90
0.6
0.8
1
1.2
1.4
1.6
1.8
PER 0.3
90
80
[1] M.Allman, V.Paxson, W.Stevens,”TCP Congestion Control”, RFC 2581,April 1999.
70
60
50
40 0.2
2
0.4
Mean Bad-State Time (Second) (a)
Connection Time (Second)
95
PER 0.2
*
90
Reno+Suspension/Resumption * Reno
85 80 75 70 65 60 55
0.8
1
1.2
1.4
1.6
1.8
2
140 130
PER 0.5
Reno+Suspension/Resumption
* * Reno
120 110 100 90 80 70 60 50
50 45 0.2
0.6
Mean Bad-State Time (Second) (c)
Connection Time (Second)
100
7. REFERENCES
Reno+Suspension/Resumption
* * Reno
100
0.4
0.6
0.8
1
1.2
1.4
1.6
Mean Bad-State Time (Second) (b)
1.8
2
40 0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Mean Bad-State Time (Second) (d)
Figure 8. TCP connection time in WAN environments
5. CONCLUSION It was shown that error avoidance provides significant improvements in TCP performance and the lower layer information can efficiently be used for this purpose. Furthermore, these avoidance schemes can be effectively deployed without changing too much in TCP code. Results show this works well in both in LAN and WAN environments with performance improvements up to 35 %. The only qualification is that in LAN environments, scheme will be useful at PERs of higher than 0.3. The reason for the poorer performance in LAN environments is because TCP can respond bad link conditions fast enough in recovering. More importantly, it was shown that our proposed scheme can improve the energy efficiency dramatically, reducing the overhead up to 5% and spending up to 40% less time in high latency networks. The major difficulty of getting better results with the proposed scheme is the difficulties in predicting when errors will happen in TCP connections, i.e. the accuracy of the SNR inference and the effect of error control mechanism in link layer. We believe that it may be possible to predict the channel state more accurately. We are currently investigating of doing this. Although, this scheme might have to consume additional power due to the separate process and the control layer. That might increase the overall energy consumption of mobile hosts. But the number of additional codes executed in proposed scheme can be compensated by less code to be executed in error recovery mechanism.
6. ACKNOWLEDGEMENT We would like to give a special thank to Prawit Chumchu who gave me a valuable suggestion in NS2 (Network Simulator 2) as well as Zhe Guange Zhou who gave me good comments.
[2] V.Jacobson, “congestion avoidance and control”, in Proc of ACM SIGCOMM’88,August 1988. [3] S.Floyd,T.Henderson, “The New Reno Modification to TCP’s Fast Recovery Algorithm”,RFC2582,April 1999. [4] H. Balakrishnan, Randy H. Katz. “Explicit Loss Notification and Wireless Web Performance”. Proc. IEEE GLOBECOM'98 Internet Mini-Conference, Sydney, Australia, November 1998. [5] Goel, S.; Sanghi, D. “Improving TCP performance over wireless links “TENCON '98. 1998 IEEE Region 10 International Conference on Global Connectivity in Energy, Computer, Communication and Control, Volume: 2 , 1998 Page(s): 332 -335 vol.2 [6] A.Bakre, B.R. Badrinath, “Implementation and Performance Evaluation of Indirect TCP” IEEE Trans. on Computers, vol. 46, no. 3, March 1997. [7] M.Stemm, P.Gauthier,D.Harada,R.H.Katz, “Reducing Power Consumption of Network Interfaces in Hand-Held, Proceedings of third International Workshop on Mobile Multimedia Communications (MoMuC-3) , October 1996. [8] V.Tsaoussidis, H.Badr,X.Ge,K.Pentikousis, “Energy/ Throughput Tradeoffs of TCP Error Control Strategies”, Computers and Communications, 2000, Proceedings,Sixth IEEE Symposium on 2000, Page(s): 106-112. [9] V.Tsaoussidis, H.Badr, “TCP – Probing: Towards an Error Schema with Energy and Throughput Performance Gains”,Network Protocols, Proceeding International Conference, 2000 Page(s) 12-21. [10] Chan, A.C.F.; Tsang, D.H.K.; Gupta S.,” TCP (transmission control protocol) over wireless links”, Vehicular Technology Conference, 1997, IEEE 47th , Volume: 3 , 1997 Page(s): 1326 -1330 vol.3. [11] P. Bhagwat, P. Bhattacharya, A. Krishna, and S. Tripathi.” Enhancing Throughput over Wireless LANs using Channel State Dependent Packet Scheduling”, Proceedings, IEEE INFOCOM, Kobe, Japan, April 1997. [12] C. Heegard,J.T. Coffey, S. Gummadi,P.A. Murphy,R.Provencio, “High-Performance Wireless Ethernet”, IEEE Communication Magazine ,vol. 39, no. 11, November 2001. [13] W.lilakiatsakun, A.Seneviratne, “Enhancing TCP performance through intelligent Activation/Deactivation, Wireless 2002, Alberta, Canada, July 2002.
[14] T. Goff, J. Moronski, D.S.Phatak,V. Gupta, “FreezeTCP: A true end-to-end TCP enhancement mechanism for mobile environments”, Proceeding, IEEE INFOCOM, 2000.