279
An Analysis of Piggybacking in Packet Networks Wai S u m L A I Bell-Northern Research Ltd., P.O. Box 3511, Station (', Ottawa, Canada K1 Y 4H7
To maximize packet network utilization, acknowledgements are usually piggybacked in reverse direction traffic. The probability of piggybacking is increased when acknowledgements are temporarily accumulated at the destination instead of returning immediately upon correct receipt of forward data packets. In this paper, a practical rule of thumb is derived for choosing a suitable number of acknowledgements to be accumulated in order to maximize the benefit of piggybacking. The concept of piggybacking level is first defined analytically and its basic properties are deduced. The piggybacking levels for several specific traffic types are then evaluated. It is shown that significant piggybacking levels can be achieved even when only a small number of acknowledgements are accumulated at the destination. Kevwords: Acknowledgement, packet network, piggybacking,
piggybacking level, Poisson traffic, deterministic traffic, traffic ratio. Wai S u m Lai h a s been with Bell-Northern Research, Ottawa, Canada since 1975. He has been involved in the evolutionary planning, standards development, design, implementation and analysis of a number of data networks, in particular the Northern Telecom SL-10/Datapac Packet Switching System and the CCITT C o m m o n Channel Signaling System No. 7. From 1971 to 1975, he was working in the A L O H A System research project at the University of Hawaii. He was involved in the design of the A L O H A protocols and the implementation of several major system components of the A L O H A network.
* This paper is based on an earlier version presented at the 5th Berkeley Workshop on Distributed Data Management and Computer Networks, Emeryville, California, Feb. 3 5, 1981. North-Holland Publishing Company Computer Networks 6 (1982) 279-290
1. Introduction Most packet networks employ some form of positive acknowledgement (ACK)/retransmission protocol together with the window mechanism for error and flow control. In the basic scheme, a separate A C K packet is returned to the sender as soon as a data packet is received correctly by the receiver. Since ACK packets consume network resources, significant overheads [4] can be incurred in using such a strategy. The length of an A C K packet is usually very short compared with the average length of data packets. Hence A C K packets themselves should only consume a relatively small amount of the transmission bandwidth. However, as we go down the protocol hierarchy in a packet network, an (n)-layer acknowledgement control message may become a data message in the next lower ( n - 1)layer, which in turn may need an ( n - 1)-layer acknowledgement. This mushrooming effect is most undesirable. In addition, each ACK packet consumes nodal processing time. In some networks, this is the bottleneck resource rather than the transmission bandwidth. Furthermore, nodal buffer space is needed to store the incoming ACK packets. If not properly designed, their contention with data packets for buffers may lead to potential deadlock conditions [5]. So, to improve network efficiency, a separate A C K packet is not generated every time a data packet is received correctly. Instead, the ACKs associated with the correctly received data packets are initially accumulated at the receiver. These ACKs are then returned to the sender in a set of A C K bits "piggybacked" on normal network traffic in the reverse direction [61. To avoid excessive waiting delay at the sender, in the absence of reverse direction traffic within a certain period of time, an explicit control packet is sent by the receiver to return the accumulated ACK(s). A design problem is how should ACKs be
0376-5075/82/0000-0000/$02.75 © 1982 North-Holland
280
W.S. Lai / Piggybacking in Packet Networks
accumulated in order to maximize the benefit of piggybacking. Intuitively, as more ACKs are accumulated at the receiver (before returning them using an explicit A C K packet), the probability of piggybacking them on reverse direction traffic is increased. In this paper, we are going to quantify this general relationship under certain conditions. Our objective is to derive therefrom a practical rule of thumb that can be used to answer the given design question. To this end, we first define analytically the concept of piggybacking level and then deduce some of its basic properties. Next, the piggybacking levels for several specific traffic types are evaluated. It is found that in all those cases examined, significant levels of piggybacking can be achieved even when only a small number of ACKs are temporarily accumulated at the receiver. Note that in addition to ACKs, flow control information such as credits can also be returned either using explicit A C K packets or by piggybacking. However, to avoid lengthy descriptions, we shall simply use the term A C K in the balance of this paper.
2. Assumptions Consider two peer entities in communication via some full-duplex transmission subsystem. Let one entity be arbitrarily referred to as the origin and the other as the destination. These entities can be processes in some host computers, nodes in a packet network, or stations connected by an H D L C link. Hence they may or may not be the ultimate source or sink of user data. In this paper, the data flow from the origin to the destination is referred to as the forward traffic, while the reverse flow is referred to as the return traffic. Forward packets generated at the origin are transferred to the destination via the transmission subsystem, while return packets are generated at the destination to be sent back to the origin. To simplify the analysis, we assume: (1) independent forward and return traffic, (2) infinite A C K time-out period at the origin, and (3) infinitesimally small packet transmission time. Let us first assess the potential impacts of these assumptions on the analytical results. We next
contend that the use of these assumptions in the analysis is justified for our purpose.
2.1. Traffic Independence Usually the transmission subsystem is shared among a population of users. The total forward traffic and the total return traffic generated by these users and carried by the transmission subsystem will then be more or less independent. However, as an example of dependent traffic, consider the extreme case when two entities are in half-duplex communication. Suppose that each side relinquishes the turn after sending a number of data packets. Then, only after all packets in one direction have been forwarded can any reverse direction traffic (including ACKs) be generated. All the ACKs will thus be forced to accumulate. They will be returned in one shot, either being all piggybacked on the first return packet, or using an explicit A C K packet if there is no return traffic. This shows that the relative timing between the receipt of a forward packet at the destination and the generation of a return packet is important. This fact will be made more explicit later (Section 9.1). Furthermore, the example shows that traffic dependency tends to enhance the performance of piggybacking. Our assumption thus may lead to a more pessimistic estimate.
2.2. Infinite A C K Time-Out After a forward data packet is sent, the origin usually expects an A C K to be returned within a pre-defined finite time period; otherwise a retransmission may be initiated at the end of that period. Hence, under a finite time-out arrangement, ACKs are no longer allowed to wait indefinitely at the destination. U p o n correct receipt of a forward packet, the destination must attempt to return an A C K as soon as possible. The effect is that the number of ACKs that can be accumulated at the destination is reduced. This in turn decreases the probability of piggybacking ACKs on return traffic. In other words, a finite time-out mechanism will place an upper bound on the achievable piggybacking performance. The smaller the time-out period, the lower is this upper bound and the less should we rely on piggybacking to return our
14(S. Lai / Piggybacking in Packet Networks
ACKs. By assuming inifinite time-out, the analysis will predict the best possible performance ultimately obtainable through piggybacking. 2.3. Negligible Packet Transmission Time Consider the transmission of a return data packet (Figure l). Let ~'s = start of its transmission, ~A = start of transmission of the ACK bits carried by it, and ~'F = end of its transmission. Since the transmission time is not infinitesimally small, ~s < ~'A<'r~. Let us now focus our attention on a forward data packet whose associated A C K is generated at time ~v E [ZS, ~'E]. First consider the situation when ~v ~ [~'s, ~'A)In this case, the ACK bits of the return packet currently under transmission have not yet been sent. So, in theory, it would still be possible to update the A C K bits of this return packet in order to piggyback the newly generated ACK. However, in most protocols, e.g. HDLC, X. 25, etc., the A C K bits are in the header portion of a packet. Since the headers are usually only just a few bytes long, the time interval [~s, ~'A) is small enough that the effect can be neglected. Hence, assumption (3) can actually be relaxed in this case if we assume that after a return packet is generated and ready to be sent, the contents of that packet cannot be modified. In general, this assumption is not unrealistic from software engineering considerations.
z~
z^
z~
Fig. 1. Non-infinitesimal Transmission Time of a Return Packet.
return packet
I
(a)
return packet
t
non-zero
return packet
2
return packet
2
1
bits
(b)
Now suppose that ~'vE[~-A, ~'E]" During this time interval, the A C K bits of the return packet cannot be modified since they were already sent. We assume that the packet transmissions are nonpreemptive, i.e., once started, a packet is allowed to complete its transmission. There are two cases to consider. First. suppose there is a non-zero time gap between two successive return packet transmissions as shown in Fig. 2(a). Then the ACK generated during the interval [TA~, ~'Et] of return packet 1 can be piggybacked on return packet 2 only if there is no explicit ACK packet generated during (~E~, ~s2). In this event, assumption (3) can again be relaxed. On the other hand, if there is no time gap between two successive return packet transmissions as shown in Fig. 2(b), then it is possible for return packet 2 to piggyback the A C K generated during [~'A~, ~EJ]' In normal operation, in order to avoid excessive queueing delays, the average return packet interarrival time should be greater than the average return packet transmission time. This means that, on the average, there would be non-zero time gaps between successive return packet transmissions. Of course, this may depend on the manner in which the return packets are clustered, but consideration of this would further complicate the simple analysis intended here. In summary, the effect of a non-infinitesimal non-preemptive return packet transmission time is that ACKs are forced to be accumulated at the destination, increasing their probability to be piggybacked. Assumption (3) then leads to a lower bound on the piggybacking performance. It may be argued that since time gaps exist
time-gap
1
contiguous
transmisslons
Fig. 2. Successive Return Packet Transmissions.
281
282
w.s. Lai / Piggybacking in Packet Networks
between successive return packet transmissions, then it is possible to transmit explicit A C K packets during these idle periods. When the return traffic intensity is low, this is indeed desirable (so as to reduce A C K waiting delay). But when the return traffic intensity is high, these time gaps would be small. The transmission time of explicit A C K packets may cause additional delays to the transmission of return data packets. Furthermore, as mentioned in Section 1, explicit A C K packets may have impacts on the nodal processing and buffer capacities. Therefore, it is desirable to piggyback as many ACKs as possible.
2.4. Justification of Assumptions Our objective as stated in Section 1 is to derive a simple rule for choosing a suitable number of ACKs to be accumulated so as to maximize piggybacking performance. We are not so much interested in the problem of determining exactly how many ACKs can actually be piggybacked in a real network. Bearing this in mind, our use of the above three assumptions in the following analysis is justified. Dependent traffic and non-infinitesimal packet transmission time will both enhance the real performance of piggybacking. So much the better. The upper bound on the performance of piggybacking achievable through A C K accumulation is placed by the finite A C K time-out period. The ultimate performance level is reached only at infinite time-out. Subsequent analysis will show that under most traffic conditions, even at infinite time-out, an accumulation of two or three ACKs is all that is needed in order to achieve a significant level of piggybacking performance. Given this result, we deduce that it is not necessary to accumulate any more than a couple of ACKs under finite time-out. The relaxation of the infinite time-out assumption will certainly make the analysis more precise. This in fact has been done in [7] for the specific case where Poisson arrival is assumed for both directions of traffic. But even in this simple case, the analysis is tedious and the resulting formula is complicated. As can be seen from the above discussion, this kind of detail is not really necessary in order to reach our goal.
3. Modeling To analyze the behavior of piggybacking, consider the set of epochs [1] when either forward or return packets arrive at the destination end: (1) forward packed arrival epoch: the epoch when a foward data packet is received correctly at the destination, and (2) return packet arrival epoch: the epoch when a return packet is generated at the destination and is ready to be sent. To simplify subsequent description, we call the time between any two successive return packet arrival epochs as an interval I. In general, the length of such an interval I is a random variable, t-, with distribution A(t). Within an interval I the number of forward packet arrivals is another rand o m variable, f. At each forward packet arrival epoch, an A C K is generated to be returned to the origin. Let r~ be the maximum number of A C K s accumulated at the destination before being returned to the origin using only one explicit A C K packet, in the absence of return traffic. In practical implementations, ~ is usually preset for each pair of communicating entities for a certain period of time. Hence in this paper we assume that ri is a degenerate random variable with a constant value N. If W is the window size for forward traffic, then it is required that 0 < N ~< W to prevent deadlock.
3.1. Forward Packet Arrivals By the theorem of total probability, the probability that f ( f = 0, 1. . . . ) forward data packets arrive during an interval I is
P[/=fl=foo~P[f=fl[=t]dA(t).
(1)
The expected number of forward packet arrivals is
e[:] =
:P[/=:]
(2)
f=0
3.2. Piggybacking and Expficit A CK Packets Let ~ be the number of ACKs that have been piggybacked on a return packet, and /~ be the number of explicit A C K packets sent during an
W.S. Lai / Piggybacking in Packet Networks
283
interval I. Within this interval I, if there are N or more forward packet arrivals, then an explicit ACK packet will be sent each time N ACKs have accumulated. Hence the random variables ~,, k7and f are related:
of the average number of ACKs sent by explicit ACK packets and that sent by piggybacking on return traffic is equal to the average number of forward packet arrivals. Actually, by the linearity of expectation, we have the same relation,
f = kTN+ ~ for given N and interval I.
E[ f] : E[/TU + ,~]
with
--NE[I~Ih=N ] + E [ ~ I ~ - - N
f - O , 1..... ~,=0, 1. . . . . N -
].
Based on this "conservation" result, we define for each given N, the piggybacking level, G( N ), as
1,and
/~=0, 1. . . .
G( N)= E[g, ln= N]/E[ f] = 1 - NE[I~I~= N]/E[f].
3.3. Definition of Piggybacking Level For a given N, the conditional probability that g ACKs have been piggybacked on a return packet is P[~'=gtn=N]
= i
That is, G represents the expected percentage of ACKs generated within an interval 1 that are piggybacked.
P[f=hN+g]. 4. Piggybacking Level - Basic Properties
h--0
Hence the conditional expected number of ACKs that have been piggybacked on a return packet is h:0i P [ f : h N + g l
E[g'ln=N]:~=0g,
(6)
•
(3)
Similarly, the conditional probability that h explicit ACK packets have been sent within an interval I is N--1
V[t~=hle=N]= 2 P[f=hN+g]. g=0
Then the conditional expected number of explicit ACK packets sent within an interval I is
We now derive some simple analytic properties of the piggybacking level, G(N). We also restate the practical limitations of the analytic model discussed earlier in Section 2.
4.1. N = l It is obvious from eq. (3) that when N = 1, E[~?lr~ = 1] = 0. It follows that G ( 1 ) = 0. After all, when ACKs are never accumulated and are returned immediately, no piggybacking can be effected.
4.2. Large N E[/~I'~--N] --
i h h=0
P[f=hN+g] .
(4)
g=0
At the other extreme, when N is very large, we have from eq. (3),
This can also be formulated alternatively as lim e [ ~ h , ~ = N l =
h
E[/~Ir~=N ] = h=0
2
P[f=f] .
(5)
h=0
2og
P[f=hN+g] h = 0
= '} ge[/= g=0
= N]
= e[z'].
N--l
= 2
lim N ~ ~
f=hN
We have
NE[ I~I~= N] + E[~lr~
N ~ ~¢
2 (hN+g)P[f=hN+g]:e[f]" g-0
This result is pleasing: for each given
N,
the sum
Hence, G(N)+I as N ~ a c . In other words, ultimately all ACKs will be piggybacked if they have to wait indefinitely.
W.S. Lai / Piggybacking in Packet Networks
284
4.3. Isotonicity
this point. Meanwhile, let us continue with the simple model and derive the piggybacking levels for three different traffic conditions.
Consider the difference AE[/~ir~ : N] :
E[UI,~-- N + 1] -- E[/~[ri : N-,[N j-,
= -i=0
E
E
j=0
k=0
N]
J
+ E (i+l)P(iu, k), k = N --j
5. Specific Traffic Types
iP(i,j, k)
where P(i,j, k ) : P [ f : ( i N + j ) ( N + 1 ) + k ] ~ > 0 . Hence
AE[t;I :N] It follows that G(N) is an isotonic function of N, increasing in value from G ( 1 ) = 0 to 1 as N approaches infinity. So it is possible to increase the piggybacking level arbitrarily by increasing N. As a corollary, since G ( 1 ) = 0 and G(N) is isotonic, it follows that G ( N ) > 0 when N > I . Therefore, on the average, piggybacking is "guaranteed" to occur when we do not return the A C K immediately.
4.4. Practical Considerations A word of caution! The simple results, G(1) : 0 and G(~z) = 1, do not hold in the real world. Also, we cannot really increase G(N) by arbitrarily increasing N. The use of assumptions (2) and (3) in the analysis leads to these practically "incorrect" results. The effects of non-infinitesimal packet transmission times is that they tend to enhance the piggybacking performance. So it is indeed pessimistic to say that G(1) : 0. Under finite time-out, ACKs are not allowed to accumulate indefinitely. So it is effectively useless to increase the value of N beyond a certain level. In addition, deadlock avoidance in the window flow control mechanism dictates that N cannot go beyond the window size. The value of G ( ~ ) = 1 is then not realizable. Nevertheless, as discussed in Section 2.4, it is the trend, rather than the exact value of G(N) that is important for our engineering purpose. The intent of this analysis is to help us to determine qualitatively how ACKs should be accumulated so as to maximize piggybacking performance. We shall return later (in Section 10) to further discuss
In the next three sections, we are going to derive the piggybacking level for each of the following types of traffic: (1) Poisson arrivals in both directions, (2) Deterministic arrival in the forward direction and Poisson arrival in the reverse direction, and (3) Poisson arrival in the forward direction and deterministic arrival in the reverse direction. To simplify the description, we use the notation A / B , where A and B are the types of arrival distribution in the forward and reverse directions respectively. Following the convention of queueing theory, the above traffic types are denoted by M / M , D / M , and M / D .
5.1. Traffic Ratio Let X F and Xrt be the average data packet sending rates in the forward and return directions respectively. We assume that they are time-homogeneous (i.e., constant in time). By assumption (1), they are also independent. We define the return-to-forward traffic ratio, y, as y = ~kR/~k g.
When y = 1, we say that traffic in the two directions is perfectly balanced. Otherwise the traffic is unbalanced. When X R <>Xv so that y --, 0 or y ~ ~ respectively, we say that the traffic is extremely unbalanced.
6. The M / M Case 6.1. Distribution of Forward Packets For Poisson forward packet arrival, we have
P[ f = f It'---- t] = exp(-- Xvt)(Xvt )i/f !. For Poisson return packet arrival, the inter-arrival time distribution is exponential:
A(t) = 1 -- exp(--XRt ). Evaluating the integral in eq. (1) using these ex-
285
DiS. Lai / Piggvbackmg in Packet Networks
pressions, we get
6.4. M / M Piggybacking level
P [ f - f ] = ) t l X a / ( xF + ) t a ) j + '
Substituting eqs. (9) and (10) into eq. (6) yields the piggybacking level for the M./M case,
= 7 / ( 1 -t- ]/) f ÷ l
(7)
This result can be derived intuitively: The mean total packet arrival rate at the destination is (X v + )tR). Each packet arrival at the destination can be regarded as an independent Bernoulli trial with probability:
)t v / ( Xv + Xa ) = 1/ ( 1 + 7) for a forward packet, Xa/()tv+Xa) y/(l+y)forareturnpacket. (8) The probability that f forward packets arrived in succession followed by a return packet then forms a geometric distribution:
P[f=f]=[l/(l
+ 7)]f[7/(1 + y ) ]
= ' r / ( 1 + ~')/+
6.2. Mean number of Forward Packets The mean of this geometric distribution is
E[f] (9)
: l/r.
This is clear intuitively. The mean inter-arrival time of return packets is 1/)t R. Hence the mean total number of forward packets arrived during this time is Xv(1/XR).
6.3. Mean Number of Explicit A CK Packets
GMr,,(N ) = I - N r / [ ( I + 7 )
7.1. Distribution of forward packets Let T v = 1/X v = (constant) forward packet inter-arrival time, 2 = the random time interval between a return packet arrival epoch and the first forward packet arrival epoch following it. Then we have 0 < 2 < T~. Consider an interval 1 of length t and starts at epoch ,r. That is, the two successive return packets arrive at epochs r and r + t, respectively. Further, suppose that, after epoch r, the first forward packet arrives at epoch r + x. If no forward packet arrives during the given interval 1, then it must be that r + t < r + x. Hence, given x, the conditional probability for this to happen is P [ f = 012 = x] = fo~)tRexp(--)tR t )dt. If f > 0 forward packets arrive within the given interval I, we must have
r+x+(f
1)Tv
x] = j.
This is also the probability that an explicit ACK packet will be generated. The probability that h explicit ACK packets will be sent followed by a return packet (i.e., within an interval I) forms another geometric distribution, { p~,( 1 - p,~,)}, with mean
x Rexp( - )tRt )dt.
x4(f
(10)
p , = [ l / ( 1 + ~,)]'~
l)Ti
It can be shown [3], by renewal theory arguments, that 2 is uniformly distributed in the open interval (0. Tv). Then, by unconditioning on .,~, we have
v[i:J] fo r'(1 / Tv )dxfoX)ta exp( --)tat )dr,
f=0, for'(1/G)dx[~+'r ~ x+(j-
1].
v.
Therefore, we have the conditional probability
Again, this result can be derived intuitively: The probability that N forward packets arrived in sequence, Px. is, from (8),
p,v/(1 - - P , v ) = 1/[(1 + 7 ) N
(ll)
7. The D / M Case
Substituting eq. (7) into eq. (5), we get E[/~Iri = N ] = 1/[(1 + 7 ) ' v - 1].
x - 1].
'
)tRexp(--)tRl)dt, l)T I
/>0.
W.S. Lai / Piggybacking in Packet Networks
286
E[f-] = XFTR = 1/7.
Evaluating these integrals, we get
P[f=f]=
1--[1- exp(--y)]/"/,
It follows from eq. (3) that
f=O, exp[--7(f--1)][1--exp(--y)]2/7,
E[glfi=U ] =
If>0.
N
(16)
1
Y, g ~ (XFTR)hN+~exp(--XFTR). ~=0 h=0 (hN+g)!
(12) Hence the piggybacking level for the M / D case is
7.2. Mean Number of Forward Packets
GMD(N) =
Substituting eq. (12) into eq. (2) and after some algebra, we obtain the expected number of forward packet arrivals:
E[f] = 1/7.
~
l
1/7). (17)
(13)
7.3. Mean Number of Explicit A CK packets Similarly, using eq. (12) in eq. (5) and upon reduction, we obtain
E[I~Ifi:N ] _ 1
N--1
exp(7)-i 7 e x p ( N T ) - 1'
(14)
7.4 D/M Piggybacking Level Substituting eqs. (13) and (14) into eq. (6) yields the piggybacking level for the D / M case,
GDM(N)=I-N
exp(7)-I e x p ( N y ) - 1"
(15)
It is interesting to compare this expression with that for GMM. When we re-write eq. (11) as GMM(N) = 1 - - N
(1+7)-1 (1+7 )N -1
we observe that GDM has the same form as GMM , the only difference being that 1 + Y is reptaced by exp(7). In fact, it can be shown (Section 9 and Appendix A) that their similarity is asymptotically exact as 7 --' 0. 8. The M / D Case The return packets arrive at the destination with constant inter-arrival time T R = 1/X R. Within this period, the probability that f forward packets arrive follows the Poisson distribution
P[ f = f] = exp( --X vTR )( X vTR )fly !, with mean given by
Unfortunately, this expression cannot be reduced to a closed form. However, extensive tabulations of the Poisson distribution are available for its evaluation (e.g., [2]).
9. Numerical Results
Eqs. (11), (15) and (17) show that the piggybacking levels for the three different traffic conditions considered are all functions of N and y. They were plotted in Figs. 3 and 4, using one of these two variables as a parameter. In Fig. 4, continuous curves have been used to enhance visibility, even though N is actually an integer variable. From these graphs, we observed some useful general results:
9.1. The Role of 3' Besides being dependent on N, the piggybacking levels for all three cases are functions of y only. Obviously, this is consequence of using assumption (1): independent forward and return traffic. In Section 2.1, we mentioned that the relative timing between forward and return traffic plays a role in the behavior of piggybacking. The functional dependence of the different G's on y helps to formalize this concept: By definition, y =XR/~ v is the return packet sending rate normalized with respect to the forward packet sending rate. So its value indicates, on the average, how many return packets are generated on the receipt of a forward packet. Clearly, the larger 3' is, the shorter will be the expected time
W S. Lai /' Piglcvbacking in Packet Networks
287
Fig. 3 illustrates this point clearly: the piggybacking level increases as 7 is increased. However, observe that, for all the G's, their functional dependence on 7 is highly nonlinear. In fact, when 7 < 0.2, all the G's are very small. When the traffic is balanced (7 ~ 1), we can expect a piggybacking level of about 50%. When 7 > 2. most of the ACKs will be piggybacked.
9.2. Sirnilarity of Behavior 00 ,
' '1
lO-Z
. . . . . . . .
lO o GAMMA
I0 l
1.0-1 0.9~ 0.8 d 0.7 -
0.6 7
//J
[?.4~
/
10-~
/
1O0
Figs. 3 and 4 show that the piggybacking levels for all three cases behave similarly. In fact, the asymptotic behavior of G~,~M, GDM, and GMD are identical under certain conditions. For example, it is established in Appendix A, that, when 7 << 1 and N is not so large such that N'y<< 1, then the piggybacking level is asymptotically linear in N and y independently. This kind of similarity can be explained intuitively: Eqs. (9), (13) and (16) show that, for all three cases, the expected number of forward packet arrivals within an interval I is 1/7. Thus, on the average, the relative timing between forward and return traffic is the same, leading to similar piggybacking performance.
10L
GAMMA
9.3. Fluctuation of Traffic From the curves in Figs. 3 and 4, it is observed that GI~M >
GMD ~> GMM,
GMD>GDM>GMM,
y > 1,
7<1.
When, 7 = 1, GMD>GDM for N > 2 . In all cases, the piggybacking level for M / M is always less than that for D / M or M / D . This demonstrates that the more random the traffic is, the less is the expected number of ACKs being piggybacked. 0.0 i0-I
i~ °
IO 1
GAMMA
Fig. 3. Piggybacking level as a function of return-to-forward traffic ratio, using number of accumulated ACKs as parameter.
interval between the receipt of a forward packet and the generation of a return packet. Hence, intuitively, when 7 is large, an ACK does not have to wait too long before it is piggybacked by a return packet.
9. 4. Fast "Convergence" As was discussed in Section 9.1, the piggybacking level increases as the return traffic is increased relative to the forward traffic. When 7 > 1, the increase is very fast, even for small N ( N > 1), and then gradually smooths out. But when y < 1, the increase is very slow with N. Thus in situations when the traffic is unbalanced, while the piggybacking level may be high in one direction, it would be low in the reverse direction.
288
W.S. Lai / Piggybacking in Packet Networks 1.0
1.0 O
i
0.9-
0.9-
0.8-
0.8-
.o
0.7-
0.7-
0.6-
0.6-
~ o . 5-
/o
. 0.5-
0.4-
0.4-
0.3-
0.3-
0.2-
0.21
0.1
0.0
0.0
!
1
2
3
4
3
4
0
1
N
1.0
0.9
0.8
0.7
0.6
~o.s 0.4
0.3
0.2
0.1
0.0 0
1
2
5
N
Fig. 4. P i g g y b a c k i n g level as a function of n u m b e r of a c c u m u l a t e d A C K S , using r e t u r n - t o - f o r w a r d traffic ratio as p a r a m e t e r .
Observe that in all cases, when N = 2 a n d 7 = 2, half of the A C K s (for M / M ) or m o r e (for D / M a n d M / D ) are p i g g y b a c k e d already. W h e n comp a r i n g with the fact that G = 0 at N = 1 (or a small
G, if we include the effect of n o n - i n f i n i t e s i m a l p a c k e t t r a n s m i s s i o n times), this is a significant i m p r o v e m e n t indeed. W h e n N > 3 a n d 7 > 1, the m a r g i n a l increase of G with N is very small. Thus,
14~S. Lai / Piggybacking in Packet Networks
for all the traffic conditions considered, G(N) "converges" very rapidly to its upper limit (i.e., 1). It does so over only a very small range of the values of N.
10 General Discussion of Results
10.1. "'Optimal" number of A CKs It is interesting to compare the fast convergence behavior of piggybacking with the principle of concentration proposed by the 19th-century Italian economist and sociologist Vilfredo Pareto. In essence, this principle states that the significant items in a given group normally constitute a relatively small portion of the total item in the group. In our application of this principle, the "cream" of piggybacking is skimmed by the first few accumulated ACKs. As proved in Section 4.3, the piggybacking level G ( N ) is isotonic, independent of any assumption of traffic types. Given this result alone there is no real optimization problem to solve since if we increase N (within the finite A C K time-out and window size limits), G ( N ) will increase. However, the applicability of the Pareto principle in the specific traffic types that we have examined "tightens" the general isotonic trend. There is an initial fast increase of G(N) toward a value very close to the maximum. That is, the sharp rising edge of G(N) is located near the small values of N. After that, it is quite a flat plateau, with a negligible rate of increasing altitude. Because of this rapid diminishing return in investment, it does not really buy too much (in terms of maximizing piggybacking performance) to accumulate too many ACKs at the destination. There is also the lurking danger that the finite ACK time-out and window size constraints be exceeded. In most applications, N = 2 or 3 should therefore be quite adequate and commendable.
289
holding time at the origin are increased. This may also have an impact on the retransmission time-out interval for error control. Furthermore, to maintain throughput, the window size for flow control has to be increased also. Hence, it is undesirable to accumulate too many ACKs at the destination. However, since it is demonstrated that G(N) rises so sharply with the first few N ' s , it pays off to delay sending the ACKs a little bit.
10.3. Rationale of Analysis The problem of choosing an optimal number of ACKs to be accumulated is really a trade-off between piggybacking performance and other factors such as buffer utilization. A more complete analysis of the problem would probably include, in addition to N and y, parameters such as: the traffic intensities in the two directions, the retransmission time-out interval, the time-out interval at the destination for the accumulated ACKs to be returned, buffer capacities and window sizes at the two ends, the average packet length, the clustering of packets, etc. Obviously, this list can go on and on, and the analysis can become more and more academic. Instead of carrying out of more detailed and exact analysis, we have adopted a simpler and more pragmatic approach. Our method is somewhat analogous to a procedure frequently used in buffer dimensioning and related type of problems. In this procedure, the relevant statistics (such as mean and variance) of the number of occupied buffers (or busy servers) are determined by first assuming an idealized system with infinite capacity. Then working backwards, these results are used to establish a practical upper bound for the number of required buffers. Similarly, in this paper, we first assumed infinite time-out to simplify the analysis. Using the results we established a suitable number of ACKs to be accumulated in the case of finite time-out.
10.2. Trade-off Considerations 11. Conclusion The advantage of accumulating ACKs at the destination is that it improves network efficiency: the piggybacking level is increased and the number of explicit A C K packets is reduced. However, as more A C K s are accumulated, the average packet response time and hence buffer
In this paper, we have developed a simple analytic model to investigate the behavior of piggybacking. We have shown that, by accumulating 2 or 3 ACKs at the destination (subject to within finite A C K time-out and window size limits),
290
W.S. Lai / Piggybacking in Packet Networks
satisfactory piggybacking performance is achieved for most traffic conditions.
we obtain GM M z
(1 + 7 ) ~'¢- 1 - N 7
(l+r References
N
-1
I+Ny+N(N-- 1)y2/2-- 1 - - N y
[1] W. Feller, "An introduction to probability theory and its applications," Vol. I, 3rd edition, John Wiley & Sons, Inc., 1968. [2] General Electric Company, "Tables of the individual and cumulative terms of Poisson distribution," D. Van Nostrand Company, Inc., 1962. [3] L. Kleinrock, "Queueing systems, Vol. l: Theory," John Wiley & Sons, Inc., 1975. [4] L. Kleinrock, W.E. Naylor, and H. Opderbeck, "A study of line overhead in the ARPANET," Comm. ACM, Vol. 19, No. 1, January 1976. [5] W.S. Lai, "Protocol traps in computer networks - a catalog," IEEE Trans. Comm., Vol. COM-30, No. 6, June 1982. [6] J.M. McQuillan, W.R. Crowther, B.P. Cosell, D.C. Walden, and F,E. Heart, "Improvements in the design and performance of the ARPA network," AFIPS Conference Proceedings, 1972 FJCC, December 5-7, 1972, Anaheim, California. [7] C.W. Tseng, "Flow control in store-and-forward computer networks," Computer Science Department, University of California, Los Angeles, Report No. UCLA-ENG-8110, April 1981.
=(U-
l+N7-1 1)y/2.
A.2. The D / M case
From the series expansion of the exponential, exp(x) = 1 + x + x 2 / 2 +
o(x2),
we obtain GDM = [ e x p ( N 7 ) - - 1 ] - N [ e x p ( 7 ) - 1 ] exp(N7) - 1 Ny + ( N y ) 2 / 2 - - N(y + 72/2) N7 = ( N - 1)y/2. A.3. The M / D Case
For each given g and N, the infinite sum 1 S=a•=0 ( h U + g ) ' . ( 1 / y ) h N + g e x p ( - - 1 / Y )
Appendix A We wish to show that, when 7 << 1, and N is not so large such that NT<< 1, then G = ( N - 1 ) 7 / 2 for M/M, D / M and M / D . A. 1 The M / M case
takes from the Poisson distribution every N-th term starting from the g-th term. Under the given conditions, S is approximately ( l / N ) - t h of the sum of all the terms (which is unity). Hence, N--1
GMD~V E g ( 1 / N ) g--0
From the binomial expansion, (1 +
x) N =
1 + Ux + N ( N -- 1)x2/2 + o(x2),
= 7[N(N-- 1)/2](1/N)
= ( U - 1)V/2.