APP下载

A MPTCP Scheduler for Web Transfer

2018-11-29WenjunYangPingpingDongWenshengTangXiaopingLouHangjunZhouKaiGaoandHaodongWang

Computers Materials&Continua 2018年11期

Wenjun Yang, Pingping Dong, , Wensheng Tang, Xiaoping Lou, Hangjun Zhou,Kai Gao and Haodong Wang

Abstract: Multipath TCP (MPTCP) is the most significant e xtension o f TCP that enables transmission via multiple paths concurrently to improve the resource usage and throughput of long flows. However, due to the concurrent multiple transfer (CMT) in short flow trans-mission, the congestion window (cwnd) of each MPTCP subflow is too s mall and it may lead to timeout when a single lost packet cannot be recovered through fast retransmission. As a result, MPTCP has even worse performance for short flows compared to regular TCP. In this paper, we take the first step to analyze the main reason why MPTCP has the diminished performance for short flows, and then we propose M PTCP-SF, which dynamically adjusts the number of subflows f o r e a c h f l ow . In pa rticular, MP TCP-SF fir stl y analyzes the distribution characteristics of the web objects to extract two thresholds to be used for classifying each flow. After eceiving each new ACK, M PTCP-SF periodically counts the data being sent based on per-flow a n d u s es the t hreshold t o c l assify t h e we blows. Finally, MPTCP-SF dynamically switches path scheduling model for different classification flows. We conduct extensive experiments in NS3 to evaluate its e fficiency. Our evaluation proves that MPTCP-SF decreases the completion time of short flows by over 42.64% com-pared to MPTCP, and the throughput achieved by MPTCP-SF in transmitting long flows is about 11.11% higher than that of MPTCP in a WLAN/LTE wireless network. The results successfully validate the improved performance of MPTCP-SF.

Keywords: MPTCP, short flow, web transfer, timeout, path heterogeneity.

1 Introduction

Multipath transfer protocols enable data transmitting concurrently via multiple IP addresses or Network cards to provide high quality network service. It attracts a lot of interest and many researchers have begun to study the field of multipath transport protocols [Raiciu,Barre,Pluntke et al.(2011);Dong,Wang,Huang et al.(2016);Kheirkhah,Wakeman and Parisis(2016)].IETF published MPTCP as an experimental standard in 2013.Compared to single-path TCP(SPTCP),MPTCP can greatly improve the network resource utilization and achieve higher throughput for long TCP flows[Raiciu,Barre,Pluntke et al.(2011)],the reason is that it distributes packets to all established sub flows and it actively manages network congestion for all its sub flows and shifts traf fic from more to less congested paths.It is well known that MPTCP has good performance for long-lived flows.For the short flows,around hundreds of KBs,MPTCP behaves worse compared against SPTCP[Deng,Netravali,Sivaraman et al.(2014);Kheirkhah,Wakeman and Parisis(2016)],because the packets are split to multiple sub flows,the congestion window of a sub flow may be very small over its life-time.Therefore,timeout will occur when a single lost packet cannot be recovered through the fast retransmission.However,in the real-time and interactive applications,such as web transfers,video streaming and online gaming,a majority of flows are short flows and often come with strict deadline regarding their completion time[Kheirkhah,Wakeman and Parisis(2016)].If these short flows are not completed before their deadlines,some data will be lost and cause retransmission.Therefore,the overall network performance and the user’s experience will be degraded harmfully.Then a major question raised is how to enhance MPTCP’s performance in dealing with short flows while retaining its advantages on long flows.

There has been significant interest in designing an efficient algorithm for MPTCP.The methods proposed previously in literature can be categorized into two main aspects:Congestion control and path scheduling.

The first aspect mainly concentrates on shifting traf fic from more congested paths to less congested ones.Currently some congestion control algorithms have been proposed:LIA(Linked Increases Algorithm)[Wischik,Raiciu,Greenhalgh et al.(2011a)],OLIA(Opportunistic Linked-Increases Algorithm)[Khalili,Gast,Popovic et al.(2012)],Balia(Balanced Linked Adaptation)[Peng,Walid,Hwang et al.(2016)],wVegas(Weighted Vegas)[Cao,Xu and Fu(2012)].The performance of MPTCP is certain to be enhanced with these proposals,but these algorithms still unable to improve the efficiency of MPTCP when the flow size is small[Kheirkhah,Wakeman and Parisis(2016)].

The second aspect focuses on designing an efficient path scheduling algorithm for MPTCP to optimize the performance when dealing with short flows.Hwang et al.[Hwang and Yoo(2015)]designed a method to ensure short flows be quickly transmitted by fast paths if the network exists two paths and there are large difference of path delay between the slow and fast paths.BLEST[Ferlin,Alay,Mehani et al.(2016)]proposed a proactive scheduler which determines whether to send packets over the slow sub flow or not.The first two scheduling policies rationally distribute packet into fast or slow path and efficiently reduce the completion time of short flow compared to the regular MPTCP.However,these two methods only perform well in the network situation where there are two paths.As proposed by MMPTCP[Kheirkhah,Wakeman and Parisis(2016)],combining Packet Scatter(PS)[Dixit,Prakash,Hu et al.(2013)]with MPTCP to transmit short flows and long flows separately can effectively reduce the average completion time of short flows and increase the average throughput of long flows,but PS only performs well in the highly symmetrical topology[Raiciu,Barre,Pluntke et al.(2011)].

Based on the above analysis,we present MPTCP-SF(Multipath TCP for short flow)that is applicable to the scene where there are any number of sub flows.The key idea behind MPTCP-SF is that MPTCP-SF periodically measures the amount of data being sent per flow to identify the flow’s classi fication,and then dynamically switches path scheduling model.The main contributions of this paper are as follows:

·We analyze the main factors that affect the performance of MPTCP in handling short flows.

·We propose a path scheduling model to eliminate these factors to achieve both performance improvement and latency reduction. Specifically, in order to be suitable for all web applications, we design a method which counts the data have been sent after each new ACK to identify the application’s classification. And then we dynamically adjust path scheduling for different classification flows.

·We validate the efficiency of MPTCP-SF by conducting extensive experiments in different network scenarios. The simulations are based on our MPTCP-SF implementation in network simulator-3 (ns3). Compared with MPTCP, the test results demonstrate that MPTCP-SF greatly reduces the completion time of short flows in all scenarios.

The remainder of this paper is organized as follows.Section 2 discusses the related works.Section 3 introduces the design motivation of this paper.Section 4 describes the details of MPTCP-SF.Section 5 presents the evaluation of MPTCP-SF in ns3 with different experimental scenes.Finally,Section 6 concludes this paper.

2 MPTCP and related work

Multipath TCP is one of the significant multipath transport protocols.Its performance is certain to be affected by many factors[Paasch,Ferlin,Alay et al.(2014)].Congestion control and path scheduling are two main aspects and have drawn considerable research attention.

Wischik et al.[Wischik,Raiciu,Greenhalgh et al.(2011);Khalili,Gast,Popovic et al.(2012);Peng,Walid,Hwang et al.(2016);Cao,Xu and Fu(2012)]proposed some algorithms for congestion control.LIA[Wischik,Raiciu,Greenhalgh et al.(2011)],OLIA[Khalili,Gast,Popovic et al.(2012)],Balia[Peng,Walid,Hwang et al.(2016)],wVegas[Cao,Xu and Fu(2012)]are mainly dedicated to design an arithmetic model to control the increase of sub flow’s cwnd.Its design objective is balancing the degree of congestion among each sub flow in network and improving the goodput when the network is bandwidth-hungry.The test results of these proposals prove that they all reduce the degree of congestion and greatly improve the mean goodput compare to conventional MPTCP.However,these designs still do not take into account the existed problem when short flows are transported through multiple paths.

Next,the path scheduling policy is designed to rationally splitting data packets over multiple paths for optimizing the efficiency of default MPTCP scheduler.A freeze packet scheduling algorithm[Hwang and Yoo(2015)]was proposed to return the best sub flow with the lowest RTT(Round Trip Time)for transfer data and freeze the slow path if the difference between the fast and slow paths is significant.BLEST[Ferlin,Alay and Mehani(2016)]proposed a proactive scheduler which estimates whether a path will cause HoL(head-of-line)blocking and determines whether to send packets over the slow sub flow or not.However,both the algorithms in Hwang et al.[Hwang and Yoo(2015)]and Ferlin et al.[Ferlin,Alay,Mehani et al.(2016)]are designed for heterogeneous paths and only performed well in the network situation that there are two paths.

Recently,Kheirkhah et al.[Kheirkhah,Wakeman and Parisis(2016)]proposed a path scheduling algorithm named MMPTCP.MMPTCP achieves its objective by transmitting data in two phases.Initially,it follows the idea of PS[Dixit,Prakash,Hu et al.(2013)]to randomly scatter packets exploiting all available paths under a single congestion window.It is bene ficial to short flow which has the strict deadline regarding their completion time.If the data being sent achieves a speci fic amount,the process of transport switches to regular MPTCP to deal with long-lived flows.However,PS is only suitable for the topology that traf fic load is equal among servers in data center[Raiciu,Barre,Pluntke et al.(2011)],such as FatTree[Al-Fares,Loukissas and Vahdat(2008)]and VL2[Greenberg,Hamilton,Jain et al.(2011)].As long as the symmetry of topology is disrupted,PS will have a diminished performance for TCP flows.

3 Motivation

In this section,we study the main reason why MPTCP is not efficient for short flows,and then we present our design goals.

MPTCP manages a set of TCP connection,namely MPTCP sub flow to transmit data simultaneously.It is obviously bene ficial for long lasting flows.However,compared with SPTCP,if the data of short flow is divided into multiple paths,less traf fic is allocated to each sub flow.Therefore,the cwnd of each sub flow will be maintained at a small value.This arrangement potentially impairs the transmission performance of short flows.When cwnd is less than three and a single packet is lost,the packet transmission cannot recover through fast retransmission because the sender cannot receive three duplicate ACKs and the timeout will occur.As a result,it eventually decreases cwnd of sub flow and stalls the entire transmission flow.

To validate the above discussed problems,we conduct a short flow transmission experiment to compare the performance of TCP with MPTCP that contains 8 sub flows.The link characteristics for TCP and each MPTCP sub flow are set as follows.

·TCP:Bandwidth=100 Mbit/s,Delay=10 ms and Loss=0.02%

·MPTCP:Bandwidth=100 Mbit/s,Delay=10-100 ms and Loss=0.02%

Fig.1 shows the changing of congestion window over timetand the timeouts of short flow for TCP and MPTCP.Fig.1(a)illustrates how the cwnd of TCP fluctuates and when timeout occurs in short flows,Fig.1(b)shows how one of MPTCP sub flows acts in the same short flow transmission.

As shown in Fig.1,TCP has a faster cwnd growth rate than MPTCP sub flow.The red dot in the graph indicates a timeout at that time.Clearly,we observed that the number of timeouts in Fig.1(b)is 13,compare to 10 in Fig.1(a).Whenever the timeout occurs,the value of cwnd decreases to 1,and it significantly diminishes the performance of MPTCP.In addition,Fig.1(b)shows that,cwnd of the MPTCP sub flow stays at 1 during the time from 4th s to 6th s,suggesting that there has no new packet allocated into this sub flow.Thus the cwnd is unable to rise,which causes a number of retransmission timeouts(RTO)because the sender lacks the 3 duplicate ACKs.As a result,MPTCP with eight sub flow has longer completion time for short flow than TCP.

Figure 1:Evaluation of cwnd changes between TCP and MPTCP which contains 8 subflows

Moreover,as researched in literature Oh et al.[Oh and Lee(2015);Yedugundla,Ferlin,Dreibholz et al.(2016);Dong,Yang,Tang et al.(2018)],MPTCP fails to provide satisfactory performance because of path heterogeneity that may cause packet reordering.In other words,If the gap between one path’s RTT and the others is too wide,MPTCP has even worse performance than TCP.Therefore,reducing the heterogeneity between paths is also a problem we need to consider in our design.

Basedontheaboveanalysis,weconcludethattimeoutsusceptibilityandpathheterogeneity are the main reasons for the poor performance of MPTCP compared to regular TCP in short flow transmission.The observation motivates us to design an efficient policy that dynamically schedules appropriate paths for each application to improve the performance of MPTCP in different scenarios.

Table 1:Size distribution characteristic of different web objects(KB)

4 Protocol design

Based on the above discussion, a natural solution to the inefficiency of MPTCP when dealing with short flows is to dynamically adjust the number of MPTCP subflows for different flows. For example, in the case of short flows, it is better to utilize a single subflow.Unfortunately, a majority of applications do not render their flow size to the end-hosts[Kheirkhah, Wakeman and Parisis (2016)], i.e. the transport layer of MPTCP cannot get the high-level information and we cannot adjust the number of subflows according to the flow size.

Thus, in the paper, we take the first step to design a method that differentiates each application’s classification. Firstly, we take a packet capture tool, named HttpWatch, to analyze the distribution law of web objects in internet. Then, according to the distribution characteris-tics of these web flows, we extract the threshold used for classifying each web applications. Finally, we propose an algorithm to adjust the number of subflows for different flows based on this classification.

4.1 MPTCP-SF and threshold design

To select the thresholds reasonably, we analyze the distribution characteristics of the web flows. The HTTP Archive conducts statistics on the distribution of different web objects(e.g. JavaScript, Image, HTML, Flash) based on 500,000 websites. The results are shown in Tab. 1. According to Tab. 1, the average size of the JavaScript is between 100 KB and 400 KB, the size of image is more than 400 KB, and the other types of objects are less than 100 KB. To further research the characteristics of network traffic, we analyze the distribution of web objects by HttpWatch based on six classic websites. The analysis results are shown in Fig. 2 which demonstrates that 90% of the object files are less than 100 KB. The proportion is about 10% of the files whose size is between 100 KB and 400 KB, and only a small part of the objects are larger than 400 KB.

Based on the above analysis of the network traffic distribution, it is reasonable to recognize 100 KB and 400 KB as the thresholds. It is worth noting that these thresholds are set according to the network traffic c haracteristics. T he r esearchers c an c hange t he values based on their requirements in practical applications.

Figure 2:Distribution of web objects

4.2 Flow classi fication in real time

The flow size of some applications is uncertain,such as live video.Thus,to estimate the classi fication of flowFi,we calculate the amount of data(Di(t))being sent after receiving each new ACK in real time(t).Speci fically,if the value ofDi(t)is less than 100 KB,Fiis classi fied asS1.If value ofDi(t)is between 100 KB and 400 KB,Fiis classi fied asS2.Otherwise,Fibelongs to classS3.

It is clear that we divide the flows into three classes,namely,S1,S2,S3.In MPTCP-SF,flows of classS1are regarded as short flows.As analyzed above,choosing a single sub flow to transport short flows is more efficient.Thus, flows of classS1are allocated to the fastest path.If the flows are classi fied asS3,they can be considered as long-lasting flows and utilize all available sub flows in MPTCP-SF design.For the flows classi fied inS2,MPTCPSF takes the path heterogeneity into account and uses RTT as the metric to select a subset of sub flows,notedH1that contains a part of high quality utilized for flow transmission.

The variables used in this model are illustrated in Tab.2.

4.3 MPTCP-SF and optimal sub flow set H1design

If the RTT difference between sub flows is too large,it will lead to the receiver buffer over flow and cause data loss.In this section,MPTCP-SF designs a parameterλmeasuring the RTT difference between each sub flow and merges the quali fied sub flows into subsetH1which represents high quality paths will be utilized.

We first divide thensub flows into two groups:Theoptimal sub flow groupH1and the nonoptimal sub flow groupH2.There RTT differences are little among sub flows inH1while RTTs ofH2differ considerably.The details of the design ofH1are illustrated as follows.We use the variablesNandN′to denote the set of all established sub flows in the network and the sorted set of sub flows inNby RTT.Initially,setting N={p1,p2...pr...pn}and N′={}whereis the first sub flow with minRTT(Tmin)inN′.LetRTTrdenote RTT of sub flow r()inN′.IfRTTrsatis fies the following equation:

Table 2:Parameters and their physical signi ficances in the MPTCP-SF algorithm

Algorithm 1:H1design in MPTCP-SF Input:A sorted set N′=p′1,p′2...p′r...p′n Output:A set H1=s1,s2...sj(j∈[1,n])that selected for speci fic application 1for each p′r ∈ N′do 2 if RTTr/Tmin≤ λ then 3 Put p′rinto set H1;4 else 5 Put p′rinto set H2;6return H1;

H1design is as shown in Algorithm 1.In addition,we conduct the corresponding experiments in Section 5.2 to validate the model and find the optimal value ofλ.

4.4 The algorithm of MPTCP-SF

The basic idea of MPTCP-SF is dynamically adjusting the number of sub flows for certain applications according to the flow classi fication in real time.The detailed description is illustrated as follows.

Algorithm 2:The proposed algorithm MPTCP-SF Input:A set of sub flows N={p1,p2...pr...pn}Output:A set Uithat selected for Fi 1Initialization at t=0 2Di(t)=0,Ui=∅3Schedule sub flows into set Ui:4 Get the time t after receiving a new ACK;5 Order pr ∈ N by RTT and generate new Set N′={p′1,p′2...p′r...p′n}6 Calculate the value of Di(t)and Classify Fi 7if Fibelongs to S1then 8 Ui=p′1;9else if Fibelongs to S2then 10 Ui=H1;11else 12 Ui=N′;13return Ui;

·If Fibelongs to S1, we regard Fias a short flow. Using multiple paths for short flow will cause the cwnd of each subflow to stay in a small value and increase slowly and greatly increase the completion time of short flows. Therefore, MPTCP-SF switches MPTCP to TCP by selecting only the fastest path for the flows in classes S1, i.e. Ui= p′1.

·If Fibelongs to S2and the RTT difference between multiple paths is large enough,using single subflow may decrease the average goodput while the usage of all subflows may cause the receiver buffer overflow. As a result, we design the set of H1 which contains a part of qualified subflows to efficiently handle the applications in class S2.

·If Fibelongs to S3, MPTCP-SF immediately switches to default MPTCP scheduler to obtain higher throughput by for long flows.

Finally,we present the pseudo code of MPTCP-SF in Algorithm 2.It is called every time after a new ACK is received.

5 Performance evaluation

In this paper,the extensive experiments are conducted to validate the performance of MPTCP-SF based on ns3.Firstly,we test the basic performance of MPTCP,MPTCPSF and TCP for short flows in different scenarios.Then,we conduct the experiments with different number of long-lasting flows to measure the average throughput of the three algorithms.Finally,we conduct the experiment for the scenario where both WLAN and LTE interfaces are used to access internet,and are interacting with the MPTCP server.We investigate how short flows compete with long flows in this situation and select the average throughput and average flow completion time as the metrics.

5.1 Experiment setting

Following the network con figurations in Raiciu et al.[Raiciu,Barre,Pluntke et al.(2011)],the number of sub flowsnranges from 1 to 8.As shown in Fig.3,the MPTCP clients and the server are connected bynrouters,and therefore there arenMPTCP sub flows in the internet.The size of short flow obeys the Pareto random distribution with the mean value of 57 KB according to the previous researches[Greenberg,Hamilton,Jain et al.(2011)].The long flows are uniformly set to 15 MB for the statistical purpose.In the short flow and the long flow mixed scenario,the short flow(less than 100 KB,i.e.S1class)accounts for 90%.The flow that is larger than 100 KB and less than 400 KB(S2class)accounts for 10%.The number of long flow of 15 MB(S3)is set to 1 according to the analysis in Fig.2.In the experiments,we set up two experimental scenarios,namely the high bandwidth with low latency(the Bandwidth is 100 Mbps and the delay ranges from 10 ms to 100 ms)and low bandwidth with high latency(the bandwidth 10 Mbps and the delay varies from 100 ms to 500 ms),respectively.The queue management mechanism of the routers adopts Droptail[Al-Fares,Radhakrishnan,Raghavan et al.(2010)],and the congestion control algorithm of the MPTCP protocol is RTT_Compensator[Wischik,Raiciu,Greenhalgh et al.(2011b)].

Figure 3: The experiment topology

5.2 Analysis for λ setting

We take the network scenario where n is set to 8 and the link packet loss rate is 0.02% as an example to analyze the effect of λ on MPTCP-SF. Fig. 4(a) shows the relationship between the value of λ and the Average Finish Time (AFT). Fig. 4(b) randomly selects a data flow with the size of 300 KB, and analyzes the relationship between the different value of λ and the number of timeout.

We can see from Fig.4(a)that the minimum AFT can be obtained whenλis 4.Fig.4(b)also demonstrates that the number of timeouts is the least at this time.

Based on the above analyses,we conclude that MPTCP-SF has the best performance when the value ofλ is 4.Thus we setλ to 4 in the following experiments.

Figure 4: Performance evaluation with different λ when there are 30 concurrent flows with size of 300 KB

5.3 Experimental results

In this section, we firstly study the average completion time of each algorithm with various network con figurations to illustrate how each scheduler handles the challenges of short flows. And then, we measure the average throughput of long flows with the three algorithms. Finally, the performance of each algorithm in WLAN/LTE wireless network is investigated where long flows short flows are mixed.

5.3.1 The completion time of short flows

Lower completion time and higher transfer rate have always been goals pursued by researchers Lim et al.[Lim,Nahum,Towsley et al.(2017);Phejrsuksai and Pattaramalai(2017);Paasch,Detal,Duchene et al.(2012)].In the network,short flows are required to meet the completion time before its strict deadline.Therefore,the AFT is one of the important indicators to measure the performance of short flow.

In order to validate the performance of each algorithm in short flow transmission extensively, we take both the different packet loss rates and the different concurrent numbers of flows into consideration.

Different packet loss rates.Fig. 5 is the AFT of 30 concurrent short flows under different packet loss rates. Among them, Fig. 5(a) represents the high bandwidth low delay network scenario where the bandwidth is 100 Mbps and the delay ranges from 10 ms to 100 ms randomly.Fig.5(b)represents the low bandwidth high delay network scenario where the bandwidth is 10 Mbps and the delay ranges from 100 ms to 500 ms randomly.

As can be seen from Fig.5,AFT of the three algorithms increases with the increasing packet loss rate.In Fig.5(a),when the packet loss rate is 0 and 0.01%,the corresponding AFT of the three algorithms is basically the same.While the packet loss rate of the router increases to 0.05%,MPTCP-SF greatly improves the performance in dealing with short flows compared with MPTCP.Its completion time is far less than MPTCP and close to TCP.In Fig.5(b),the completion time of each algorithm increases compared to Fig.5(a).Similarly,the performance of MPTCP drops most obviously,but MPTCP-SF performs almost as well as TCP.

Figure 5:The average completion time of short flows with different packet loss rate

To further analyze the reason of the performance gains of MPTCP-SF in processing shortflows,we record how the cwnd changed for each algorithm in its life time,and count both the number of timeouts and the number of retransmissions.Fig.6 shows a curve of the congestion window of sub flow 1 when the packet loss rate is 0.05%.We can clearly see that the window of MPTCP and MPTCP-SF synchronously fluctuates in a zigzag manner between 0 s and 5 s.After 5 s,the congestion window of MPTCP drops to 1 and there is no window increasing process during this period.In comparison,the window of MPTCPSF fluctuates frequently and the overall network throughput improves significantly.This is because MPTCP uses multiple sub flows for short flows and is prone to RTO due to the small cwnd over each sub flow.Once a timeout occurs,the sender’s congestion window falls to a very small value and re-enters the slow start phase with MPTCP.For MPTCP-SF,a reasonable number of sub flows is selected according to the flow classi fication and the cwnd is maintained at a large value.If packet loss occurs,it will quickly enter the fast retransmission and the cwnd can be recovered in a short time.That is the main reason why MPTCP-SF can efficiently reduce the completion time of short flows.The data in Tab.3 indicates the number of timeouts and retransmissions of MPTCP and MPTCP-SF from 0th s to 20th s where the value of MPTCP is 75 and that of MPTCP-SF is 56.This further validates that that the MPTCP-SF can effectively reduce the occurrence of RTOs compared to MPTCP,and thus improves the transmission rate.

Figure 6:The cwnd changes over time

Table 3:The number of timeouts and retransmissions of MPTCP and MPTCP-SF

The number of different subflows.The number of subflows is one of the important factors affecting performance of multipath transport protocols. Fig. 7 shows the AFT of MPTCP and MPTCP-SF when using different number of subflows to transmit 30 concurrent short flows. The figure shows that the AFT of MPTCP rises sharply with the increasing number of subflows, while that of MPTCP-SF stay at a low value. This is benefited from the key idea of the MPTCP-SF that selecting different numbers of subflows for different flows. More specifically,MPTCP-SF can select the appropriate number of subflows to transmit the data flow regardless of the number of available subflows, causing the shorter the completion time and the higher the network utilization.

The mean throughput of long flows.For the long-lived flows, throughput is an important factor to measure the network performance. Fig. 8 compares the throughput of MPTCP,MPTCP-SF, and SPTCP when different numbers of long flows are transmitted concurrently.In this experiment, the high-bandwidth-low-delay scenario is adopted and the number of subflows n is 8. The average RTT of all subflows is 50 ms, and that of the SPTCP path is 50 ms.

Figure 7:The effect of different number of sub flows on short- flow AFT

Figure 8:Throughput evaluation during long- flows transmission

As shown in Fig.8,when the concurrent number of long- flow is less than 12,MPTCP-SF outperforms MPTCP as MPTCP-SF performs well in dealing with less-traf fic.As more and more traf fic floods,that is,the number of concurrent flows increases,the network becomesmorecongestedandtheobtainedthroughputdecreasesforeachalgorithm.However,both MPTCP and MPTCP-SF greatly improve the average throughput compared to regular TCP because of the bene fit from transmitting data by multiple paths.Based on the above observation and analysis,the MPTCP-SF algorithm can dynamically change path scheduling policy and adapt well in long- flow transmissions.It greatly plays a high efficiency of multipath transport protocol.

5.3.2 Performance analysis of long-short mixed flow

In the above experiments,we have compared and analyzed the performance of each algorithm for both short flows and long flows.These results prove that the MPTCP-SF takes the advantages of both TCP and MPTCP,and it can significantly improve the network performance during short flow and long flow transmissions.

In this subsection,we will further validate the performance of the MPTCP-SF algorithm when both short flows and long flow are present with the WLAN/LTE wireless network scenario as shown in Fig.9.

Figure 9:WLAN/LTE experiment scenario

In the WLAN/LTE network,the mobile device,namely the MPTCP Client accesses Internet to communicate with the MPTCP server via both WLAN and the LTE interfaces.MPTCP client can use the MPTCP protocol to establish two TCP connections to transmit data simultaneously.In this simulation,the default settings of parameters for WLAN and LTE are shown in Tab.3.The starting time of application obeys Poisson distribution[Al-Fares,Radhakrishnan,Raghavan et al.(2010)].

Fig.10 comprehensively illustrates the average completion time of the competing flows belonging toS1,S2,andS3,respectively,where there are 30 concurrent long-short mixed flows.For short flows,TCP with the fastest connection is better than that of using multiple TCP connections[Deng,Netravali and Sivaraman(2014)].And we use WIFI-TCP to denote the regular TCP with WIFI link for simplicity.

As shown in Fig.10,the value of AFT corresponding to MPTCP-SF is almost the lowest.When the data flow is less than 100 KB(S1class),the MPTCP-SF reduces the AFT of the short flow by about 42.64%compared to the MPTCP which is closed to the AFT of WIFI-TCP.When dealing with the flows belonging toS2andS3,the multipath protocol outperforms WIFI-TCP through the concurrent transmissions.In addition,the throughput gain achieved by MPTCP-SF in transmittingS3data is about 11.11%higher than that of MPTCP because MPTCP-SF is faster when transmitting head 400 KB of classS3.This further validate that MPTCP-SF optimizes the advantage of MPTCP with long-lived flows by CMT.

Table 4:Parameter setting of the link in wireless network

Figure 10:Performance evaluation in wireless network

From the above analysis,we can conclude that the MPTCP-SF reduces the overall average completion time and improves average throughput when dealing with long-short mixed flows in WLAN/LTE wireless network.

6 Conclusions and future work

Based on the characteristics of MPTCP,we analyze the problem of timeout susceptibility and path heterogeneity,which is harmful to the performance of MPTCP.To resolve these problems,we propose an MPTCP-SF algorithm that dynamically adjusts path scheduling for different flows and reduces the impact of path heterogeneity on MPTCP performance.And then,we conduct a series of experiments to compare the performance of SPTCP,MPTCP and MPTCP-SF for different flows under various scenarios.These experimental results demonstrate that MPTCP-SF can relieve the timeout occurrence of MPTCP,and retain the greater efficiency of MPTCP when dealing with long-lived flows.Besides,it can also achieve higher performance when transmitting short flows, and thus greatly improves network resource utilization and the user experience.

In future work, we plan to implement MPTCP-SF in Linux kernel to improve the performance of MPTCP in real WAN and address some related practical issues.

Acknowledgemen:This work is supported by the National Natural Science Foundation of China (No. 61602171, 61602172), Scientific Research Fund of Hunan Provincial E-ducation Department (No. 17C0960, 16C0050) and Hunan Provincial Natural Science Foundation of China (No. 2017JJ2016).