• 沒有找到結果。

Resource Allocation and Channel Assignment Techniques

In this section, we present two algorithms to distribute available radio modules and perform channel arrangement: Decremental Interface Management (DIM) and Incremen-tal Interface Management (IIM). Our goal is to derive the channel vector ci[k], ∀vi ∈ Vh,

and feed it back into our linear programming (LP) model introduced in Section 3.2 to maximize network throughput. Based on the two strategies, we decrease/increase net-work interfaces step by step until all available modules are used up, solving the linear model repetitively. At the end of these algorithms, we can obtain ni, the required num-ber of IEEE 802.11a/b/g radios associated with host vi (under the N limitation), in the following way:

Before we describe the two algorithms in more detail, Fig. 3.5 summarizes the inputs, outputs, and variables used in the proposed DIM and IIM mechanisms.

The first proposed technique is Decremental Interface Management (DIM), which starts from equipping each mesh host with the maximal number of radio interfaces, i.e. C NICs, since C is the total number of non-overlapping channels. Assume that the number of available radio modules N is insufficient to support C NICs on each mesh host. In addition, as we will observe in Section 4, it is not necessary to use all the C interfaces equipped on each host in order to achieve the maximal network throughput. Instead, several interfaces can be removed without degrading the system, for there exist several wireless links over certain channels with zero traffic flows based on our LP calculation.

In the proposed DIM algorithm, we first remove those useless interfaces and check if the

Input: Bounds of host traffic { , capacity of links , bounds of gateway traffic , number of available channels C, number of available NICs N.

}

Output: Channel boolean vector{ }.

] [ k

ci

Variable: Actual host traffic{ },{ d}, actual link traffic from/to hostv

i

Figure 3.5: Summary of inputs, outputs, and variables used in both the DIM and IIM procedures.

total number of NICs used satisfies the N limitation. If so, the algorithm terminates and returns the channel vector ci[k] along with corresponding traffic distribution patterns for our packet delivery function (mPDF), which will be presented later in Section 3.4.

Otherwise, we need to evaluate each NIC and find out a least useful interface for removal from the system. This process is repeated until the total number of used NICs meets the N requirement.

Now we present the interface evaluation strategy adopted by DIM. For each NIC operating on channel k equipped on mesh host vi, we calculate the aggregate traffic (both uplink and downlink) ani[k] handled by the interface as follows:

ani[k] = X

i6=j,vj∈V,vs0∈Vh

(xuij[s0,k]+ xuji[s0,k]) + X

i6=j,vj∈V,vd0∈Vh

(xdij[d0,k]+ xdji[d0,k]), (3.1)

∀vi ∈ Vh, 1 ≤ k ≤ C. We hope to remove the NIC with the smallest ani[k]. However, to avoid removing the only interface that a mesh host has, we calculate the aggregate traffic ahi experienced by vi via all interfaces equipped on the host in the following equation:

ahi = XC

k=1

ani[k],

∀vi ∈ Vh, and define wi[k] = ani[k]/ahi.

Only those NICs with wi[k] < 1 will be considered for removal.

Among those candidate NICs, we remove the interface which yields the minimum value of ani[k]×wi[k]. All interfaces are evaluated and removed one by one until the number of total used NICs becomes equal to N. Fig. 3.6 provides a pseudo-code for the DIM algorithm.

Next, we introduce the Incremental Interface Management (IIM) strategy. Initially, we deploy one NIC on each mesh host, and bind the interface to operate on the

best-}

m m

begin

Set { [ k]} such that each host has C NICs operating on the corresponding channels;

ci

Count the total number of used NICs N’; // currentlyN’ = C*|Vh| while true do

Solve the LP (input:{ },{ },{ },{ },{ [ ]},{ },{ },{ }, , ,{ [ ]}, if not feasible then

return NO_SOLUTION;

else {

remove all interfaces involving with no traffic loads;

if N’ Љ N then return { [ k] ;

ci

} endif;

Compute the aggregate traffic (uplink and downlink) handled by each NIC i[k] : { n[ ]};

k

ai

Compute the aggregate traffic (uplink and downlink) experienced by each host vi : { h}; ai

Figure 3.6: Decremental Interface Management (DIM) algorithm pseudocode.

condition channel. In other words, we test on all available channels, and choose the best channel, which produces the maximal network capacity based on our LP calculation. We then use the selected channel to construct a single-channel wireless mesh backbone as the initial phase in our IIM algorithm to avoid any performance bias due to bad initial channel selection.

Assume that N is larger than the network size |Vh|, so as to realize a multi-radio

system. Once the initial single-radio mesh has been optimized by our LP model, we start to add interfaces one by one based on the LP results. This process will be repeated until all N available NICs have been distributed out.

Note that during the process of adding interfaces, we may be unable to find a feasible LP solution due to insufficient number of deployed NICs for supporting required user traffics. In this case, we repetitively reduce the traffic lower bounds (li) for both uplink and downlink at each mesh host vi in a exponential way (li → li/2 → li/4 → · · · ) until a feasible LP solution is discovered. The lower bounds are restored to obtain a new LP solution, after wireless links are evaluated and more interfaces are added in.

Now we present the criteria for adding interfaces. We hope to characterize the most congested wireless link so as to add interfaces binding to another channel for traffic relief.

For more accurate judgement, we recall the set IEijk of interfering links for edge eij using channel k, and define nij[k] = |IEijk|. We choose the edge eij with the maximum value of (xij[0,k]/fij[k]) × nij[k] (refer to Section 3.2 for the definitions of xij[0,k] and fij[k]) for adding interfaces on communicating hosts vi and vj.

Once the most congested link is decided, we intend to select a channel with the lightest traffic load within the neighborhood of selected edge eij. Obviously, we want to avoid choosing the channel that both hosts viand vj already have. As a result, for each candidate channel, we calculate the aggregate link traffic axij[k] for all links in IEijk, where

axij[k] = X

epq∈IEijk

xpq[0,k],

and the aggregate link capacity afij[k] of all links in IEijk as follows:

afij[k]= X

epq∈IEijk

fpq[k].

begin while true do

Solve the LP (input:{ },{ },{ },{ },{ []},{ },{ },{ }, , ,{ []}, if not feasible then

if N’ = N then return NO_SOLUTION;

half := half + 1;

for each i do

// reduce traffic bounds in order to obtain a feasible solution

;

// when the number of interfaces is insufficient to support

;

endfor; // required traffic needs else

// restore the required traffic bounds

;

// as more interfaces are going to be added

;

Choose the pair (i,j) with maximum

For each channel {ˆ| isfalse isfalse},

endif; endwhile; end.

Figure 3.7: Incremental Interface Management (IIM) algorithm pseudocode.

The IIM algorithm chooses the channel with the minimum value of axij[k]/afij[k], and add interfaces on hosts vi and vj binding to the selected channel accordingly. A detailed pseudo-code for IIM algorithm is illustrated in Fig. 3.7.

相關文件