Validation of a Load Shared Integrated Network with Heterogeneous Services S J Lincke University of Wisconsin-Parkside
[email protected]
Abstract As wireless networks have become more complex with packet services and sophisticated modulation techniques, validation using multidimensional Markov Chain models has become increasingly rare. Although Product Form models fail when queued packet services are introduced, iterative models (such as Gauss-Seidel) can be accurate. However, GaussSeidel is memory and processor intensive. This study considers whether probabilistic transitions can replace state variables in reducing the size of the Gauss-Seidel matrix, while modeling wireless load sharing algorithms including packet services, such as could be used in seamless 4G networks. The model is validated against simulation. Performance results are discussed for load shared networks involving heterogeneous queued packet services alone or in combination with speech services.
1. Introduction Multidimensional Markov Chain models were once frequently used as a validation technique for simulation. Circuit-switched studies often used Product Form multidimensional Markov Chains to validate wireless simulations (e.g. [1-3]). The GaussSeidel model is used to a limited degree to verify wireless simulations involving packet services (e.g., [4-6]). However, the use of multidimensional Markov Chains has declined as diverse services and complex physical layers have been introduced. This research investigates the accuracy of the Gauss-Seidel multidimensional Markov Chain model, when combining queued (packet) services with blocking (circuit) services in a load sharing environment involving probabilistic state transitions. The U.S. Department of Defense (DoD) is an example organization with high standards for simulation projects. Their standards relate to verification, validation, and accreditation (VV&A) [78]. In the university research community, accreditation of simulations is not a concern (unless DoD-related).
Verification can be accomplished using advanced Software Engineering techniques, but rarely are network researchers (and their RAs) experts in formal verification methods. Validation is often ignored now because modern networks are complex and real world projects are expensive and time-consuming. This raises the question: how credible is today’s network research? According to the DoD, validation strives to ensure that the “model and its associated data provide an accurate representation of the real world from the perspective of the intended uses of the model” [7]. Validation occurs during the requirements stage, to ensure that the model and data are accurately specified, and after implementation, to ensure that the model’s results are sufficiently consistent with a referent [8]. The final ‘results validation’ acts similar to a black box test to catch any remaining defects. An obvious question is whether any multidimensional Markov Chain can be valid in light of complex networks which are interferenceconstrained and whose applications tend to follow a long-tailed distribution rather than exponential. It is generally accepted by studies using analytic models that working with average network statistics can imply accurate results with real networks. Li et al. show how their Markov Chain solution accurately predicts a Pareto service time distribution with α=1.9, but then is modified to show more realistic results at α=1.3 [9]. Certainly validation using modeling is better than having no validation, particularly in light of complex load sharing algorithms. However, analytic models have also grown more complex with new technologies. Yavuz discusses the curse of the two-dimensional Markov Chain model due to its computational complexity [10]. Their (and others) solution to solving the problem of modeling new and handover calls is to reduce the problem down to a single dimension Markov Chain, by setting the arrival or service transition probability to the sum of rates for the two types of calls [9-10]. Markov Chain solutions are currently used to validate performance algorithms which minimize dropped calls [9-12]. Our previous study shows that
1
Product Form models cannot forecast packet service performance because arriving circuit services cause packet services to re-queue, thus resulting in a different service rate than when circuit-services do not exist. This lack of independence between packet and circuit services dictates that the model define each transition between states – something which an iterative technique, such as Gauss Seidel, achieves [13]. While our paper [13] assumes that all connections can overflow between diverse Radio Access Networks (RANs), this assumption is simplistic and optimistic since connections can only overflow if they are ‘flexible’: dual mode, service-compatible, within cell coverage, with compatible vehicular speeds, and members of both RANs. A ‘flexibility rate’ is defined to be the probability that a Mobile Terminal (MT) can overflow between RANs. This flexibility rate impacts the overflow probability, depending on the selected overflow algorithm. The overflow probability must be considered within the multidimensional Markov Chain model, if load sharing diverse services across wireless networks is to be investigated reliably. The addition of the overflow probability can be achieved by adding state attributes or by modifying the state transition probabilities. Additional state variables could track the availability of flexible sessions per service, but this increases the number of possible states. An alternative solution is to determine whether transitions between states can be probabilistic while ensuring that model results are accurate. This research considers these two solutions to see which solution can accurately and feasibly predict load sharing solutions. Our resulting validated tests can then be analyzed to discern the performance of load sharing traffic between RANs, including diverse packet services, or packet services in combination with speech. While the load sharing of circuit services has been extensively analyzed [16], load sharing of heterogeneous packet services has not been analyzed. The outline of the paper is as follows. Section two reviews the Gauss-Seidel Markov Chain model. Section three describes our load distribution model. While section four compares results from analytic and simulation models from a validation perspective, section five considers the results from a performance perspective. Section six is the conclusion.
assumes that that each incoming session arrives and is serviced with time intervals following an exponential distribution (M), and that ‘r’ radio resources (or channels) exist with ‘b’ total buffers [14]. Circuitoriented sessions are specified by setting ‘r’ equal to ‘b’, thus forcing sessions to block when sufficient radio resources are unavailable for an arriving session. For queued packet sessions ‘b’ minus ‘r’ indicates the number of sessions that can queue if sufficient radio resources are unavailable. An M/M/r/b model predicts the probability of each state of ‘s’ simultaneous sessions. In a two-dimensional Markov Chain model, a state of (j1, j2) indicates that j1 sessions of service 1, and j2 sessions of service 2 are being carried in the cell. The cell supports a finite number of states, constrained by the cell’s capacity. The Gauss-Seidel (GS) Iteration method relies on statistical-equilibrium probability state equations of the Markov Chain model [15]. Equations are written for each state that equate the flows in and flows out. Each of the state equations is stored in a matrix and a solution is found by iteration. The solution vector indicates the probability of being in each state. The method is reliable but provides approximate results, which depends upon the level of convergence. This study assumes two cells each associated with a different Radio Access Technology (RAT) overflow their primary service to the other. We assume that speech (or Conversational services) are preferably carried on one network (e.g., second generation plus or 2.5G cellular) and queued packet services (or Interactive and Background services) are preferably carried on another (e.g. 3G cellular or WLAN). The basic equilibrium state equation for a two-dimensional M/M/n/c Gauss-Seidel model is given as: [15]
2. The Gauss Seidel Model
•
An N-Dimensional Markov Chain model assumes that N services exist, where each service is specified according to an M/M/r/b model. An M/M/r/b model
(λ1 + λ2 + d1µ1 + d2µ2)P(j1, j2) – λ1P(j1–1,j2) – λ2P(j1,j2–1) – µ1(d1+1)P(j1+1,j2) – µ2(d2+1)P(j1,j2+1) = 0 (1) When RAN1 overflows the equations change to: ((fj1-s1)λ1 + λ2 + d1µ1 + d2µ2)P(j1, j2) –(fj1-s1)λ1P(j1– 1,j2) – λ2P(j1,j2–1) – µ1(d1+1)P(j1+1,j2) – µ2(d2+1)P(j1,j2+1) = 0 (2) where: • P(j1, j2) represents the probability of being in a state with j1 and j2 sessions of service 1 and 2 respectively; λn and µn represent the arrival and service rates for service n, respectively;
2
•
the dn coefficients equal the number of actively transmitting sessions and is used to calculate departures from a state; and
•
sn represent the maximum number of sessions that fit on RAN n without overflow;
•
fn represents the probability of overflow for the nth overflowing session.
The GS matrix has S rows and S columns, where S represents the total number of possible states. Each row in the matrix represents a balanced state equation. Each column represents a coefficient for a (jx,jy) state, indicating the probability of transitioning into or out of the state. The input vector is an array of S values, which represent the probabilities of each of the S states. We initialize the vector to the results produced by the Product Form model. Then iterations of matrix multiplications generate an output vector of state probabilities, which is used as input to the remainder of the current (and next) iteration. Each iteration involves solving for every output vector (O) coefficient, as follows [15]: S
O[j] =
∑ − C[ j , k ] I [ k ] / C [ j , j ]
(3)
k =0
The number of states required for an integrated network can be calculated as follows. Assume a case with two services, where each service requires 1 channel/resource per session. Assume a maximum of X and Y sessions of service 1 and 2 can be served by an integrated network with N total resources, where X=Y=N. The possible states include: Table 1. States Required by GS Method Values for Service 1 0 1 2 X
Range of Values for Service 2 0..Y 0..Y–1 0..Y–2 0
Number of Possible States Y+1 Y Y–1 1
N
∑k
(4)
( N + 2)( N + 1) 2
(5)
k =0
which simplifies to [13]: #States =
3. The Load SharIng Model A percentage of sessions are able to overflow between RATs. The probability of overflow depends upon the flexibility rate (OAB), which can be calculated as the percentage of MT sessions on RAT A that are compatible with RAT B (where ∩ denotes intersection): OAB = C ∩ T ∩ I ∩ P ∩ M
(6)
where C=Service-compatible; T=Technologycompatible, I=In coverage, P=Speed-compatible, and M=Member, all relative to an overflow network. A Last Arrival algorithm assumes that if a session arrives to a cell which has insufficient resources to accept the session, the session can overflow if it is flexible. With this algorithm, the number of state attributes does not change, but in (2) the probability of overflow to the overflow RAN (fn) would be equal to the flexibility rate: fn = OAB
(7)
Higher performance can be achieved with a Substitution algorithm, where flexible sessions ‘volunteer’ to overflow for arriving inflexible sessions, when the cell is at capacity. The Substitution algorithm can be modeled using additional state variables: (f1,f2,n1,n2) where fx and nx represent the number of flexible and inflexible sessions, respectively, for service n. Each jx value is divided into a number of conditions consisting of a number of flexible and inflexible sessions, using a binomial distribution. See (8) and Table 2. jx = fx + nx
(8)
Table 2: Condition possibilities for State Expansion
The number of states required is then: #States = (N + 1) +
example, when two cells of 50 resources each overflow a default single-resource service, the total number of states is 1326 – which becomes one dimension of the GS matrix.
The number of states affects both the memory and processing requirements to achieve a solution. For
Number of Sessions of Service 1 (jx) 1 2 3 5 6 (assumes 1 overflow)
Solution Set (F=Flexible, N=Not Flexible) {F, N} {FF, FN, NN} {FFF, FFN, FNN, NNN} {FFFFF, FFFFN, FFFNN, FFNNN,FNNNN, NNNNN} {FFFFFF, FFFFFN, FFFFNN, FFFNNN, FFNNNN, FNNNNN}
Number of Possible Conditions 2 3 4 6 6
3
Since each overflow session must be Flexible, the number of possible conditions remains constant once overflow occurs. Each (j1,j2) state translates into a set of substates, whose count is the product between the number of possible conditions for each service. #Substates[j1,j2] = #Conditions[j1] * #Conditions[j2] (9) Using this technique, state transitions for overflow conditions are absolutely known with no probabilistic calculation. However, the number of states increases exponentially, but can be controlled with large session sizes and/or small networks. A possible alternative to exploding the state space is to include a probability of overflow within overflow state transitions. The probability of overflow, fn can be calculated using a binomial distribution equation that evaluates the probability that at least o flexible sessions exist in a sample size of Z:
fo =
f1 = PZ (F>0)
for the first overflow (10)
PZ ( F ≥= o) PZ −1 ( F ≥ o − 1)
for subsequent overflows (11)
Equation (2) is modified to include a probability of overflow, calculated by (10)-(11). The number of states does not change, but the value of the overflow states’ transitions become probabilistic. Arriving packet sessions follow a conservative policy: they are first allocated to the home network, then queue to their maximum queue rate, and finally overflow. Networks also remain in a packed condition: overflow sessions return as soon as resources free on their home network. The packing algorithm is necessary to the GS model since the allocation of sessions to networks must be identical regardless of whether arrivals or departures occur. In other words, a requirement of Markov Chains is that the model is historyless: a given combination of sessions must result in the same network configuration or state, regardless of how the state was arrived at. This packing policy has proven efficient when overflowing circuit services of varying resources [16]. However, we desire to check the validity of the GS with the desired algorithms using queued packet services. We allocate resources in an integrated network of two diverse RANs as follows. As circuit-oriented services arrive they become active, if the default speech network can carry them. Once the speech network is saturated, speech sessions overflow to the packet-oriented network. Packet-oriented sessions re-
queue in order to free radio resources for speech services, assuming sufficient queue buffer space is available. In the current implementation, queuing occurs only on the home/default RAN. Packet sessions arrive to their home/default RAN and are transmitted immediately, if possible. If transmission is not possible, the packet session is queued, if queue space exists. If no queue space remains, an overflow is attempted to the overflow RAN. If that fails, the session is blocked, forcing a retransmission at a later time. Two algorithms define how much queue or buffer space exists for the packet sessions. A Fixed-Sized Buffer (FSB) algorithm allows a given number of packet sessions to be queued, regardless of the number of existing/active speech and data sessions. A Queue Rate (QR) algorithm varies the number of allowed buffered packet sessions according to the current number of actively transmitting packet sessions. The expected advantage is that it ensures that delay-constrained packet services can meet response time constraints. To estimate response time, a queue ratio (Q) is defined as the ratio of queued Interactive packet sessions (DQ) to actively transmitting Interactive packet sessions (DA): Q=
DQ DA
(12)
To control the maximum wait or response time, the maximum queue length (MaxQR) is dynamically adjusted based on the current demand for data. The maximum number of Interactive buffers is defined in (13) as ‘TQR’ times the number of actively-transmitting Interactive sessions, where TQR is defined to be the queue rate threshold. MaxQR = DA * TQR
(13)
This algorithm is sufficiently complex so that achieving validation via the GS model is desirable, since it ensures that the simulation implementation is correct and the results are valid. The simulator used is a home-grown, continuous time, discrete event simulator, which is built to generate and serve traffic similar to the analytic model. We have previously suggested that to reduce the memory-intensiveness of GS validation, it is advisable to use smaller networks and/or larger session sizes to reduce the number of states [13]. Once the simulation and analytic models validate, it is possible to run more intensive simulations that are difficult to validate with GS models. In these sets of tests smaller transceivers of 30 resources (such as with US CDMAone) and large
4
data sizes are used to speed up testing of the many models that are performed. However, using a small network and large data size can also serve to aggravate the validation process, as this study will demonstrate. For this study a circuit-oriented cell overflows single resource sessions (e.g. speech at 12.2 kbps) and the packet-oriented cell overflows 10-resource sessions (e.g. simplistically considered as data at approximately 122 kbps). In actuality, base stations often average a given throughput that reduces somewhat as user data rates increase (although many factors affect the total throughput). For packet data, one buffer slot is assumed to hold one full web page response. Packet sessions are assumed in the Queue Rate calculation instead of individual packets, because in cellular networks (such as GSM or UMTS), users are allocated circuit-oriented or shared packet-oriented channels in bursts. Transmission scheduling is more efficient if all waiting buffers for a particular user are transmitted in succession, due to the shared medium. Battery life improves via fewer channel setups: sending fewer random access requests and receiving fewer channel grant requests. While the packet session approach more reasonably approximates real situations, it is recognized that its implementation may be difficult, since it is hard to discern whether a full packet session has been received or not in the downlink. However, when link transmission times are relatively slow compared to the backbone network, packets received for a currently transmitting session can be assumed to belong to the same session. Services are loaded to the indicated blocking rate on their respective RANs, using an Erlang B chart [17]. The study measures ‘blocking’, but with packet services blocking translates into a packet session drop rate (which forces retransmissions). In all figures, variable names are capitalized for simulation results and are in lower case for analytic model results (e.g. QR3_SP versus qr3_sp). Each name indicates the queuing algorithm: F=Fixed-Size Buffer versus QR=Queue Rate, and the buffer size (e.g., F10 or QR3). Each test has a speech (SP) and data service, where the data usually requires 10 resources (D10). When results validate, two or more tests are included in each figure. For clarity reasons only one test is displayed when results do not fully validate.
4. Results and Analysis - Validation Although the magnitude of the error between the models is very visible in the graphs, it is advantageous
to also quantify the error. Two methods are used: a confidence interval for the error, and the percentage of the error relative to the simulation blocking result. Both methods have problems: larger magnitude blocking results (around 20%) tend toward larger errors, while smaller magnitude blocking results (near 0%) tend toward larger error percentages. In these simulations, blocking results vary in their magnitude both within a test and between tests. Thus, no perfect solution exists and both techniques are used to indicate potential problems. An error is calculated as the difference between each simulation and analytical model result. The sample variance for the error is calculated using samples from 40 different tests with 22 samples each. Since the blocking magnitude varies within tests, and session sizes often vary between tests, we calculate a general confidence interval independent of either variable. The confidence interval [14] for 90%, 95%, and 99% is 0.4059, 0.4836 and 0.6356, respectively for any single sample. Any maximum error within and above these confidence intervals is suspect of failing validation and is labeled as “Marginal” or “Failing”. Points falling between the 90-95% are labeled Marginal 1, while points falling between 95-99% are labeled Marginal 2. Table 3 shows the maximum and average error for each figure in this paper. The error percentage is useful with small blocking results. The error percentage is the error or difference between the simulation (S) and analytic (A) blocking result, divided by the simulation result (14). We estimate that validation is successful when errors range below 10%. Error% = (| S – A | / S ) * 100
(14)
Gauss Seidel should accurately predict the results of both queuing algorithms when the Flexibility Rate is 0 or 100% (i.e., modeling (1) but not (10)-(11)). These cases should validate because state transitions rely only on arrival and service rates. The first set of tests varies the ratio of single-resource speech to ten-resource data and the total loading level. Fig. 1 shows blocking results for three FSB tests with varied data queue sizes of 5, 10, and 15. Fig. 2 shows blocking results when the Queue Rate for the data service varies between 2 and 4. For both figures, the sum of the offered rates of the two services is set to 90% of the total radio resource capacity and each RAN supports 50 channels per cell (thus carrying 50 speech calls or 5 data sessions). Table 3 shows that Fig. 1 passes the validation test for all points. For Fig. 2, two points fall between 9095% and are labeled Marginal 1, while the remaining 58 points pass. However, the error percentage for the
5
B l o c k i n g R a te _
maximum error in Fig. 2 is only 5%, so the reason for the marginal error is probably the large magnitude of the blocking result compared to the average test result of the tests to come. Other FSB tests were run at 60, 70, and 80% loading, and all points passed. (Figures not provided.) These initial tests demonstrate and confirm ref. [13] that GS can accurately model queued packet and blocking circuit services in order to test complex queuing and load sharing algorithms. The next tests assume the Flexibility Rate ranges between 0 and 100% for the Queue Rate algorithm. Here, the probability of overflow amends the state transition probabilities in the two-dimensional Markov Chain. The Last Arrival with its probability of overflow = flexibility rate is contrasted with the Substitution algorithm which relies on equations (10)(11). The overflow probability becomes an issue with load sharing, but does not exist when heterogeneous services share a single network. Our tests compare results when load sharing two circuit-oriented sessions (Fig. 3), packet and circuitoriented services (Fig. 4-5), and two packet-oriented services (Fig. 6-7). Smaller networks of 30 resources are used in order to quickly validate a large set of tests (except Fig. 3 assumes 50 resources). Each network is loaded to 20% blocking, before load sharing, for figures 4-7. The figures show the resulting blocking rates when the flexibility rate is varied. At 0% flexibility no overflow occurs, while at 100% flexibility all sessions can overflow.
QR3-SP
20 18 16 14 12 10 8 6 4 2 0
QR3-D10 qr3-sp qr3-d10 QR2-SP QR2-D10 qr2-sp qr2-d10 QR4-SP 10:0 9:1 8:2 7:3 6:4 5:5 4:6 3:7 2:8 1:9 0:10 Raito Speech:Data
f5 spch
16
f5 d10
14
F5 SP
12
F5 D10 f10 spch
10
f10 d10
8
F10 SP
6
F10 D10
4
f15 sp f15 d15
2
qr4-sp qr4-d10
Figure 2. Queue rate buffering at 90% loading
Table 3. Maximum errors for figures Fig .
Service
Test Type
1
C1, D10
2
C1, D10
3
C1, C10
4 5 6 7
C1, D10 C1, D10 D1, D10 D1, D10
Subst. 100% Flexible Subst. 100% Flexible Subst, & Last Arr. Last Arr. Subst. Last Arr. Subst.
8
Subst.
9
C10, D10 D1, D2
10
D1, D2
Subst.
20 18
QR4-D10
Subst.
Init. Block Rate Varies
Max. Error
Avg. Error
0.35799
0.0543
Varies
0.4568 Margn1
0.0608
5%, 10% 20% 20% 20% 20%
0.0869
0.0445
0.1024 0.1014 0.1354 2.5821 Fails 0.41849 Margn1 0.564 Margn2 0.77888 Fails
0.0433 0.0420 0.0612 0.1321
1%, 30% 5% 20% 20%
0.1159 0.076 0.1308
0 10:0 9:1 8:2 7:3 6:4 5:5 4:6 3:7 2:8 1:9 0:10 Ratio Speech:Data
Figure 1. Fixed-sized buffers at 90% loading
6
16
12
14
C10-SUBST
12
c1-subst
8
c10-subst
6
C1-LARR
4
C10-LARR
2
B lo ck in g R ate _
Blo ckin g Rate_
10
C1-SUBST
QR1 D1 QR1 D10 qr1 d1
10
QR3 D1
6
QR3 D10
4
c1-larr
2
c10-larr
0
0
qr1 d10
8
qr3 d10 qr3 d10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Flexibility Rate
Flexibility Rate
Figure 3. Comparison of Substitution (SUBST) and Last Arrival (LARR) with 50-resource cells and 5, 10% blocking
Figure 6. Packet1-Packet10 overflow using Last Arrival, 20% blocking
12
25
5
qr3 sp
0
qr3 d10 0
Flexibility Rate
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Flexibility Rate
Figure 4. Circuit-Packet Overflow using Last Arrival, 20% Blocking Bidirectional 25
B l o c k i n g R a te _
QR1 SP 20
QR1 D10 qr1 sp
15
qr1 d10 QR3 SP
10
QR3 D10 qr3 sp
5
qr3 d10
2
1
QR3 D10
0. 8
10
qr3 d1
4
0. 6
QR3 SP
QR3 D10
6
0. 4
qr2 d10
QR3 D1
8
0. 2
qr2 sp
15
10
0
Blocking Ra
QR2 D10
Blocking Ra
QR2 SP 20
qr3 d10 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Flexibility Rate
Figure 5. Circuit-Packet overflow using Substitution, 20% blocking
Figure 7. Packet1-Packet10 Overflow using Substitution, 20% Blocking These figures appear to indicate that the Last Arrival algorithm validates for all flexibility rates and the Substitution algorithm for many points in the tests. For the Substitution algorithm a convergence occurs at 30-40% when sufficient flexible sessions exist on an overflowing network to accommodate arriving inflexible sessions. Further improvement in blocking is constrained because the overflowed-to network has no further capacity for arriving sessions. Observing Substitution results, the validation process shows that the model accurately predicts the results when circuit-oriented network cells and queued packet-oriented cells overflow sessions to each other. However results also show that when cells bidirectionally overflow packet-oriented sessions to each other, the model encounters errors before convergence occurs. Upon closer inspection, this did not appear to be an error in programming in either the model or the simulation – both systems were
7
implemented correctly. The problem had to be in the Gauss-Seidel model implementation itself. In order to learn if results were consistent at other loading rates, tests were run varying the overflow algorithm, cell size, offered rate, and queue rate for circuit-packet and packet-packet tests. Test results follow in Table 4. The table lists the services supported (e.g., C1=Circuit1=Speech and D10=Packet Data-10 resources), the overflow algorithm, the number of resources/cell, the set of queue rates, the offered rate (provided as an initial blocking rate), and the maximum error. If the maximum error exceeds the confidence interval threshold a “Fail” status is indicated. For packet-packet Substitution tests, the error percentage is also listed, and shows that some tests fail although their maximum error is below the confidence interval threshold. In these cases, the blocking rate is so small that a noticeable error is observed although the threshold is not reached. However, the error percentage often exceeds 60%. Table 4. Validation results for extended tests
Subst. Subst. Subst. Subst Last Arr Last Arr Subst.
# Res/ Cell 30 30 50 50 50 30 50
1-4 1-4 1-2 1-2 1-2 1-3 2-3
Init. Block Rate 10% 15% 10% 20% 20% 20% 20%
D1, D10
Subst.
30
1-2
10%
D1, D10
Subst.
30
1-2
15%
D1, D10
Subst
50
1-2
10%
Services
Overflow Type
C1, D10 C1, D10 C1, D10 C1, D10 C1, D10 D1, D10 D1, D10
Que Rate
Max Error 0.0762 0.0855 0.1426 0.149 0.1834 0.1654 3.5959 Fails Err%= 117 0.0438 Err%= 29 0.606 Margn2 Err%= 78 0.1489 Err%= 61
These simulations show a consistent pattern of Last Arrival validating, and Substitution validating for Circuit/Packet models, but failing for Packet/Packet models. But even for failing simulations, the Substitution algorithm appears to validate after convergence is reached. For the Last Arrival algorithm, the results indicate that multiplying the state transition probabilities by a fixed overflow probability validates, since the issue of
whether an arriving session is flexible (e.g., multimode) is truly memoryless. For Substitution, the Markov Chain model sometimes provides optimistic results (or an upper limit on performance) when the flexibility rate approaches convergence. This indicates a potential problem with equations (10)-(11), but only for queued packet sessions. These equations are accurate when including circuit-oriented sessions [16]. One explanation is that queuing changes the probability of flexible session availability. When queuing occurs, queued flexible sessions can overflow, causing earlier departures for flexible sessions and leaving a set of inflexible sessions which does not adhere to eq. (10)(11). Thus, available flexible MTs dequeue, overflow, activate, and depart earlier than the average nonflexible MT. In such cases, the system is not truly ‘memoryless’ as is required by the Markov Chain model. If this theory is true, the model would show an optimistic view or upper bound of the performance of the Substitution algorithm. The Substitution algorithm validates after convergence is reached because the state transition probabilities then only rely on arrival and service rates. The analytic and simulation models match when only circuit-oriented services are implemented, because there is no selective activation or queuing of sessions – all sessions become active or block. In the Last Arrival algorithm, flexible sessions are not served earlier than inflexible sessions, and thus the probability of overflow remains accurate throughout the simulation. Circuit/packet simulations using the Substitution algorithm ‘appear’ to validate because the higher priority of speech results in very little overflow in the packet-to-circuit direction – most overflow occurs in the circuit-to-packet direction. This can be observed in Fig. 5, which demonstrates that performance for data only gets worse when load sharing, while blocking for the higher-priority speech decreases substantially. This theory can be proven if it is possible to find situations in the circuit-packet model which fail validation and packet-packet model which pass. To get circuit-packet tests to fail it is necessary to overflow packet services in large quantities to a lightly loaded network serving speech. Our first simulations passed validation at 5% blocking for speech and 20% blocking for the data-10 application at Queue Rates of 1-3, mainly because the offered rate for speech was 24.83 and did not leave sufficient resources on average for a data-10 session to be served. Our second simulations used Circuit-10 and Data10 services at 5% and 20% blocking respectively. With a Queue Rate of 1 the validation had an
8
5 4
qr2_d10
3 2
QR2_D10
qr2_c10 QR2_C10
1
0. 8
0. 6
0. 4
0. 2
1 0 0
Blocking Rate_
7 6
Flexibility Rate
8 7 6 5
qr1 d2 qr1 d1
4 3 2 1 0
QR1 D2
1
0. 8
0. 6
0. 4
0. 2
QR1 D1
0
Blocking Rate_
Figure 8. Circuit10-Packet10 overflow using Substitution with 1, 30% blocking respectively
Flexibility Rate
Figure 9. Packet1-Packet2 overflow using Substitution with QR=1 & 5%, 20% blocking 12 Blocking Rate_
10 qr2 d2
8
qr2 d1
6
QR2 D2
4
QR2 D1
2
1
0. 8
0. 6
0. 4
0. 2
0
0
observable maximum error of 0.13173 and an error % of 7%, but at Queue Rates of 2-4 the maximum error was minimal at 0.0528 or below. In this scenario, the Circuit-10 service had an offered rate of 0.899 or used nearly 10 of 30 resources on average, allowing for overflow of the Data-10 service. The higher queue rates appeared to pass because a sufficient number of flexible sessions could queue to handle all overflow traffic capable of being carried on the overflow cell. Equivalent tests run using the Last Arrival algorithm all passed with maximum errors of 0.0425. With the third simulation we succeeded in having all tests with observable and marginal errors in the 0.25-0.48 region (i.e., within 95%). These tests used Circuit-10 and Data-10 services at 1% and 30% blocking respectively, where Data-10 had a queue rate of 1-3 and Circuit-10 did not queue. Fig. 8 shows an example failure at QR=2. The failure occurs only in the convergence region. Equivalent tests using speech (Circuit-1) and Data-10 do not fail, because the offered rate for speech at 1% blocking is 20.3, compared to 0.455 for the Circuit-10 service. To attempt to get packet-packet tests to pass, it is necessary to ensure that a sufficient number of flexible MTs exist, regardless of their priority service. Thus, there must be a large number of flexible MTs, even at the 10% flexibility rate. This requires smaller session sizes and larger queuing capacities. Tests of 1 and 2 resource sessions were attempted. Because of the massive memory that is associated with large buffers, only queue sizes of 1 and 2 were attempted. Networks were loaded to 20% blocking for Data-2 and 5% and 20% respectively for Data-1. Figures 9-10 show that neither test passes, but the magnitude of the error has decreased considerably. Test 9 “marginally 2” passes with an error of 0.564, but the error percent is 42%. Fig. 10 visibly appears closer to pass and has an error percent of 9%, but has an error of 0.77888. Although the convergence regions in these tests do not ‘pass’ they are considerably closer than previous tests, which often had errors exceeding 1.0 and error percents averaging greater than 50%. The implication of this study is that Gauss-Seidel is useful as a validation tool, but its limitations must be understood and dealt with. Gauss-Seidel model can accurately model load distribution algorithms involving packet-oriented and/or circuit-oriented sessions when the transitions between states are historyless and consistent. Normally in multidimensional Markov Chain models, arrival and departure transitions reflect the arrival and service rates. With load shared networks, this condition is true when the flexibility rate is 0% or 100%.
Flexibility Rate
Figure 10. Packet1-Packet2 overflow using Substitution with QR=2 & 20% blocking In this study, state transitions can also be probabilistic depending upon the overflow algorithm and reflecting the flexibility rate. Probabilistic
9
transitions work when the overflow algorithm does not impact the probability of the transition. In these tests, the probability is not impacted either for the Last Arrival algorithm, for circuit-only simulations, or when the performance is similar to a 0% or 100% flexibility rate (such as after convergence). When the probability is not fully memoryless, the model reflects a theoretical upper bound for performance. This theoretical rate differs from actual performance when the overflow rate exceeds the flexibility rate. The alternative for solving the problem of history associated with Substitution is to include another state attribute that tracks the number of flexible and inflexible sessions. Then transitions can be accurately predicted since there is no probabilistic evaluation. While the state space explodes, it may be constrained by maximizing session sizes and minimizing network sizes. Another alternative solution is to use few states and probabilistic transitions – but validate using conditions when errors are minimized. In these tests, errors do not occur at 0% flexibility rate or after convergence. Before convergence, some tests automatically or can be designed to minimize errors – like the circuit-packet model with Substitution. Validation can only occur when analytic results match simulation results. Understanding the impact of history and minimizing its effects can help to raise confidence in simulation accuracy. It certainly is better than no analytic model validation, particularly with complex algorithms. However honesty and full disclosure of the technique and its limitations is imperative.
5. Analysis: Performance A number of tests have been demonstrated and validated (and any differences reasonably explained). It is now useful to analyze the performance gains (or losses) by load sharing traffic. Figures 4-10 show performance of circuit-packet and packet-packet load sharing. These tests/graphs will be analyzed here, since circuit-circuit results have been fully documented elsewhere (e.g., [16]). Comparing the Last Arrival versus Substitution algorithms, the Substitution algorithms perform considerably better, as expected. Substitution accommodates inflexible sessions by having flexible sessions volunteer to overflow for them. Last Arrival algorithm penalizes inflexible sessions, since sessions must overflow upon arrival, and only flexible sessions can do that. However, these overflow flexible sessions return to their default network as soon as they can, preventing newly arriving inflexible sessions from
being served. Figures 4 and 6 (and other not shown figures) demonstrate that Last Arrival only achieves 50% of the converged load sharing performance well above the unreasonably high flexibility rates of 8090%. By comparison, Substitution achieves nearly full convergence at flexibility rates of 30-40%, and as low as 20% (Fig. 10). For this reason, only the Substitution algorithm is worthy of discussion as an implementation option, of these two tested algorithms. Figures 5 and 8 show results for two circuit-packet Substitution tests. It is expected that load sharing would benefit speech, because speech has priority and forces data to queue to make room for it – except when the Queue Rate would be exceeded. The ‘blocking rate’ for data is actually a ‘packet drop rate’ that results in retransmission. Fig. 5 shows an example where the networks are equivalently loaded. Here, the data packet drop rate increases, while the speech blocking rate drops from 20% to 2.56% or better for higher queue rates. The packet drop rate increases but not to the level of the speech blocking rate. The packet drop rate can be reduced by increasing the queue rate, thereby trading off delay versus the packet drop rate. Fig. 8 shows performance of a data network that is heavily loaded compared to the speech network, with blocking rates of 30% and 1% respectively. Here, the queue rate algorithm can force speech sessions to block and even equalize the blocking rates in the 1.51.6 range for both services. While it is preferable that speech block in comparison to data, these two figures show that the load sharing with the queue rate algorithm may moderate results, improving performance for the worst performer, at a slight performance degradation for the initially-best performer. Packet-packet Substitution results are presented in figures 7, 9, and 10. These results confirm that load sharing using queue rate tends to moderate the results. In these three cases, the queue rate for the two services match per test. Thus the reason for the difference in performance is the loading factor and data size. To load a network to n% blocking, data sessions requiring fewer radio resources can assume larger offered rates providing higher effective utilization, as shown by an Erlang-B table [17]. Thus, in figures 7 and 10 the Data-1 service has a higher initial blocking (or packet drop) rate than the larger bandwidth (Data-10 or Data2) data service. However, with load sharing, the Data1 service benefits more than the higher bandwidth service, thus resulting in a lower packet dropping rate with load sharing. In Fig. 9, the higher bandwidth Data-2 service is heavily loaded compared to the lower bandwidth Data-1 service, resulting in an initially higher blocking rate. With load sharing, the Data-2
10
service benefits but never achieves packet dropping parity with the Data-1 service. Low bandwidth services may benefit more in a load sharing environment in part because they require fewer resources in allocation and have a larger total queue size, when using the queue rate algorithm. However, further moderation of this blocking gap between services arises with higher queue rates (not shown). For example, Fig 9 shows a 1.3% difference in packet drop rate between the two services, but if the queue rate increases to two, the difference drops to 0.63%. Finally, it is observed that while load sharing as a rule tends to moderate blocking rates, it can have an adverse affect on high-bandwidth services with low queue rates, such as observed in Fig. 6.
6. Conclusion Multidimensional Markov Chains offer an opportunity to validate complex algorithms related to load distribution of circuit and packet services between wireless networks. The Gauss-Seidel model can achieve such promise, but is constrained by the number of states in the matrix. We have shown that a probabilistic implementation can reduce the number of states and yet be accurate if the tested algorithm does not affect the probability defined in the state transitions. Optionally, tests can be optimized to avoid historical repercussions to the state transitions and/or to explain errors in the prediction. The Gauss-Seidel model then validated load sharing tests of wireless networks involving heterogeneous packet and/or circuit services, using a complex buffering system that assures response time constraints for packet services. The performance increases appear promising, since load sharing tends to moderate performance results, particularly for real-time services.
7. References [1] M. Kazmi,, J. Brouet, P. Godlewski, and V. Kumar, “Teletraffic Analysis of Enhanced Circuit Switched Data (ECSD) on GSM for Mobile Multimedia Services”, IEEE International Workshop on Mobile Multimedia Communications (MoMuC), Nov. 15-17, 1999, pp. 286-294. [2] M. Meo and M.A. Marson, “Approximate Analytical Models for Dual-Band GSM Networks Design and Planning”, 19th Annual Joint Conf. of the IEEE Computer and Communications Soc., vol. 3, March 2630, 2000, pp. 1263-1272. [3] G.D. Morley and W.D. Grover, “Strategies to Maximize Carried Traffic in Dual-Mode Cellular Systems”, IEEE Trans. on Vehicular Technology, vol. 49, no. 2, March 2000, pp. 357-366.
[4] E. Yanmaz and O.K. Tonguz, “Dynamic Load Balancing and Sharing Performance of Integrated Wireless Networks”, IEEE Journal on Selected Areas in Communications, vol. 22, no. 5, June 2004, pp. 862872. [5] S.S. Rappaport and C. Purzinski, “Prioritized Resource Assignment for Mobile Cellular Communications Systems with Mixed Services and Platform Types”, IEEE Transactions on Vehicular Technology, vol. 45, no. 3, Aug. 1996, pp. 443-458. [6] W-Y. Chen, J-L.C. Wu, and H-H. Liu, “Performance Analysis of Radio Resource Allocation in GSM/GPRS Networks”, IEEE Vehicular Technology Conf., vol. 3, 2002, pp. 1461-1465. [7] “Key Concepts of VV&A”, U.S. Dept. of Defense, http://vva.dmso.mil, Aug 4, 2004, pp. 1-8. [8] “The V&V Agent’s Role in the VV&A of New Simulations”, U.S. Dept. of Defense, http://vva.dmso.mil, May 15, 2001, pp. 1-37. [9] W. Li, H. Chen, and D.P. Agrawal, “Performance Analysis of Handoff Schemes with Preemptive and Nonpreemptive Channel Borrowing in Integrated Wireless Cellular Networks”, IEEE Transactions on Wireless Communications, vol. 4, no. 3, May 2005, pp. 1222-1233. [10] E.A. Yavuz and C.M. Leung, “A Practical Method for Estimating Performance Metrics of Call Admission Control Schemes in Wireless Mobile Networks”, Proc. 2005 IEEE Wireless Comm. And Networking Conf., vol. 2, 2005, pp. 1254-1259. [11] H Chen, Q-A. Zeng, and D.P. Agrawal, “A Novel Channel Allocation Scheme in Integrated Wireless and Mobile Networks”, Proc. 23rd International Conf. on Distributed Computing Systems Workshop, 2003, pp. 856-861. [12] Y.H. Hwang and S-K Noh, “A Call Admission Control Scheme for Heterogeneous Service Considering Fairness in Wireless Networks”, Proc. 4th Annual ACIS international Conf. on Computer and Information Science, 2005, pp. 688-692. [13] S.J. Lincke, “Validation of Network Simulation Models: Gauss-Seidel versus Product Form Models”, 2005 International Symp. on Performance Evaluation of Computer and Telecommunication Systems (SPECTS ’05), Society for Modeling and Simulation, vol. 37, no. 3, 2005, pp. 948-956. [14] R. Jain, The art of computer systems performance analysis: techniques for experimental design, measurement, simulation and modeling, John Wiley & Sons, New York, NY, 1991, pp. 519-547. [15] R.B. Cooper, Introduction to Queuing Theory, The MacMillan Co., New York, NY, 1972, pp. 104-150. [16] S J Lincke. Vertical Handover Policies for Common Radio Resource Management, International Journal of Communication Systems, vol. 18, no. 6, Aug. 2005, Wiley InterScience, pp. 527-543. [17] J C Bellamy, Digital Telephony, John Wiley & Sons, 1982, pp. 413-463.
11