• 沒有找到結果。

Energy-Conserved On-Demand Data Broadcasting System,

N/A
N/A
Protected

Academic year: 2022

Share "Energy-Conserved On-Demand Data Broadcasting System,"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

An Energy-Conserved On-Demand Data Broadcasting System

Jiun-Long Huang

Department of Electrical Engineering National Taiwan University

Taipei, Taiwan, ROC

E-mail:[email protected]

Wen-Chih Peng

Dept. of Computer Sci. and Info. Eng.

National Chiao-Tung University Hsinchu, Taiwan, ROC E-mail:[email protected]

ABSTRACT

We propose in this paper an energy-conserved on-demand data broadcasting system by employing the data indexing technique. We also propose algorithm AIDOA to adjust the degree of buckets according to system workload. Ex- perimental results show that algorithm AIDOA is able to greatly reduce power consumption at the cost of slight in- crement in average access time and adjust the index and data organization dynamically to adapt to change of system workload.

Categories and Subject Descriptors

H.2.4 [Database Management]: Systems

General Terms

Algorithms, performance

Keywords

Data indexing, on-demand data broadcasting, energy con- servation, mobile information system

1. INTRODUCTION

As shown in [5][6], only a modest improvement (about 20% ∼ 30%) in battery lifetime is expected in the next few years.

Hence, energy conservation is raised as a key factor of the design of mobile devices. Most devices can operate in two modes: active mode and doze mode. Many studies show that the power consumed in active state is much higher than that consumed in doze mode. As a consequence, the mobile devices should stay in doze mode as long as possible to re- duce power consumption.

To evaluate the effect of data indexing algorithms on energy conservation, tuning time, which is defined as the time that a mobile device operates in active mode in order to retrieve

MDM 2005 05 Ayia Napa Cyprus c

°2005 ACM 1-59593-041-8/05/05....$5.00

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

Ii(1) Ii(2) Ii(d) Di(1) Di(2) Di(d)

ISi DSi

Bucketi

Figure 1: Index structure

a data item, is introduced in [3]. Since employing data in- dexing will unavoidably introduce some overhead in access time1, the data indexing algorithms should reduce tuning time as much as possible at the cost of producing an accept- able increment in access time. Fortunately, since the size of an index item is usually much smaller than that of a data item, such increment is usually small.

The authors in [4] proposed an indexing approach for on- demand data broadcast systems. As shown in Figure 1, the proposed broadcast program is made up of a series of buckets and each bucket consists of one index segment and one data segment. The number of data items in a bucket is called the degree of the bucket. A data segment contains a series of data items, and an index segment consists of the index items of the data items in the corresponding data segment.

The information in an index item, say Ii(1), consists of the identifier of the corresponding data item Di(1), the data size of Di(1) and the time that Di(1) in bucket i will be broadcast on the broadcast channel. In addition, by the information in the current index segment, a mobile device is able to determine the broadcast time of the index segment of the next bucket.

Although it shows in [4] that inserting index items into the broadcast program is able to significantly reduce the average tuning time at the cost of slight increment in average access time, however, the proposed data indexing method proposed in [4] has the following drawbacks:

• Does not consider power consumption of turning on and turning off the WNIs.

• Does not adapt to change of system workload

1Average access time is defined as the average time elapsed from the moment a client issues a query to the point the desired data item is read.

(2)

Fetcher

Cache

Scheduler Request Queue Ready Queue

Current Broadcast Bucket Internet

Server Server

Program Generator

Data Requests Index and

Data Items

Broadcast Channel Request Channel

Pending List

Figure 2: System architecture

In view of this, we propose in this paper an energy-conserved on-demand data broadcasting system by employing the data indexing technique. Different from the prior work on data indexing on on-demand data broadcasting, power consump- tion of turning on and turning off the WNIs is considered.

We first analyze the access time and tuning time of data re- quests and propose algorithm AIDOA to adjust the degree of buckets according to system workload. In essence, algo- rithm AIDOA consists of two phases, statistics collection phase and adjustment phase, and switches back and forth between these two phases. The system collects some statistic information of all served data requests in statistics collection phase, and the information is used to adjust the degree of buckets in adjustment phase according to the derived ana- lytical results. Several experiments are then conducted to evaluate the performance of algorithm AIDOA. Experimen- tal results show that due to the dynamic adjustment on degree, scheme using algorithm AIDOA outperforms other schemes with static degree in most cases and is able to adapt to change of system workload.

The rest of this paper is organized as follows. Section 2 describes the power consumption model and client access protocol adopted in this paper. Based on the analytical model, we propose algorithm AIDOA in Section 3. Several experimental results are shown in Section 4 to evaluate the performance of algorithm AIDOA. Finally, Section 5 con- cludes this paper.

2. PRELIMINARIES

2.1 Power Consumption Model

Denote the time for a mobile device to switch the WNI from active mode to doze mode as TOnand the time to switch the WNI from doze mode to active mode as TOf f. To evaluate the power consumption of turning on and turning off the WNIs, we assume that the power consumption of a mobile device spending in time interval TOn(respectively, TOf f) is equal to that of a mobile device staying in active mode for time α1× TOn(respectively, time α2× TOf f). Similar to [8], the values of α1 and α2 can be obtained by profiling.

ISi DSi ISi+1 DSi+2 ISj DSj

tStart tEnd

Probe Bucket Search Bucket Retrieval Bucket

Figure 3: Categories of buckets

Denote the traditional (i.e., without considering the turning- on and turning-off time of WNIs) average tuning time of a data request as TT uning. For a data request, we also let TOn

and TOf f be the average times for a mobile device spending in turning on and turning off the WNI. Hence, to evaluate the overall power consumption, we define the effective tun- ing time of a data request as TT uningEf f. = TT uning+ n1× α1× TOn+ n2× α2× TOf f, where n1 and n2 are the numbers of times of turning on and turning off the WNI, respectively, and TT uningis the traditional tuning time. To ease the pre- sentation, we use the term tuning time to represent effective tuning time, and assumes α1 = α2 = 1 in the rest of this paper.

2.2 Client Access Protocol

After submitting a data request, a mobile client will behave according to the employed client access protocol to retrieve the desired data item. In this paper, we adopt the client access protocol described in [7], and the protocol consists of the following phases.

• Initial probe phase: After submitting a data request, the mobile device tunes to the broadcast channel and listens on the broadcast channel to wait for the ap- pearance of an index segment.

• Index search phase: The mobile device enters index search phase after receiving an index segment. In in- dex search phase, the mobile device determines whether the desired data item will be broadcast in the cor- responding data segment. If not, the mobile device will switch to doze mode and then switch back to ac- tive mode when the next index segment is broadcast.

Otherwise, the mobile device will enter data retrieval phase.

• Data retrieval phase:

If the desired data item will be broadcast in the current data segment, the mobile device will calculate the time that the desired data item will be broadcast from the current index segment and switch to doze mode. Then, when the desired data item is broadcast, the mobile device will switch back to active mode to retrieve the desired data item.

Consider the example shown in Figure 3 that a mobile device submits a data request. tStart is the time that the mobile device starts to listen on the broadcast channel after submit- ting the data request, and tEndis the time that the mobile device receives the desired data item. From the perspective of the mobile device, the buckets within the time interval from tStart to tEnd can be divided into the following three categories according to the above three phases:

(3)

• Probe bucket: The bucket which tStartlies on is called the probe bucket. In Figure 3, Bucket(i) is the probe bucket. There is exactly one probe bucket for a data request.

• Search bucket: The bucket whose index segment is retrieved by the mobile device and whose data seg- ment is skipped by the mobile device is call the search bucket. In Figure 3, Bucket(i + 1), Bucket(i + 2),

· · · , Bucket(j − 1) are all search buckets. For a data request, there may be zero, one or multiple search bucket(s).

• Retrieval bucket: The bucket which tEnd lies on is called the probe bucket. That is, retrieval bucket is the bucket where the mobile device retrieves the de- sired data item. In Figure 3, Bucket(j) is the retrieval bucket. For a data request, there is exactly one probe bucket. In addition, the probe bucket and the retrieval bucket of a data request may be the same or different.

3. AIDOA: ADAPTIVE INDEX AND DATA ORGANIZING ALGORITHM

We propose in this section algorithm AIDOA (standing for Adaptive Index and Data Organizing Algorithm) to adjust the degree of buckets according to the system workload. Ba- sically, algorithm AIDOA consists of two phases: statistics collection phase and degree adjustment phase, and switches between statistics collection phase and degree adjustment phase periodically. In statistics collection phase, the system will keep track of information of all data requests and the recorded information will be used to guide the adaptation procedure in the successive execution of adjustment phase.

3.1 Types of Data Requests

To facilitate the design of algorithm AIDOA in the following subsections, a data request is categorized by (1) the relation- ship between its probe bucket and its retrieval bucket and (2) the relationship between its tStartand its tEnd. Accord- ing to the relationship of the probe and the retrieval buckets, a data request can categorized in to the following two types.

Type I: The probe and the retrieval buckets are the same.

Type II: The probe and the retrieval buckets are the different.

Now, consider the relationship of tStart and tEnd of a data request. According to the employed client access protocol, in a Type I data request, tStartmust be located in the index segment. Otherwise, tStartand tEndwill not be in the same bucket, and such result conflicts with the definition of Type I. On the other hand, a Type II data request can be further divided into the following two subtypes according to the location of tStart.

Type II.I: tStart is in the index segment.

Type II.II: tStart is in the data segment.

3.2 Statistics Collection Phase

In each execution of statistics collection phase, the system will collect statistic information of all data requests which

have been served in the current execution of statistics col- lection phase. A data request is served when the desired data item has been broadcasted.

Two data structures, StatIand StatII, are defined to stored the collected information of data requests belonging to Type I, Type II (including Type II.I and Type II.II), respectively.

The details of StatI and StatII are as follows.

Details of StatI

• ReqNo: The number of Type I data requests served in the current statistics collection phase

• AggAT: Aggregated Access Time of all Type I data re- quests served in the current statistics collection phase

• AggTT: Aggregated Tuning Time of all Type I data re- quests served in the current statistics collection phase Details of StatII

• ReqNo: The number of Type I data requests served in the current statistics collection phase

• AggATP/AggTTP: Aggregated Access/Tuning Time of Probe buckets of all Type II data requests served in the current statistics collection phase

• AggATS/AggTTS: Aggregated Access/Tuning Time of Search buckets of all Type II data requests served in the current statistics collection phase

• AggATR/AggTTR: Aggregated Access/Tuning Time of Retrieval buckets of all Type II data requests served in the current statistics collection phase

Each field, except ReqN o of StatIand StatII, has an aver- age version by replacing prefix Agg to Avg. For example, the field AvgAT of StatI indicates the average access time of all Type I data requests served in the current statistics collection phase. We also define the structure Request to indicate multiple data requests which are merged together.

Elements in the request queue, pending list and the ready queue are all instance of structure Request. An instance of structure Request is said in the system when it is in the request queue, pending list or the ready queue. The details of structure Request are as follows.

Details of structure Request

• ReqNo: The number of data requests which are merged together and are represented by the Request structure.

• AvgTIS : Average Time In Search buckets of the data requests that the Request structure represents.

After receiving a data request, the system first determines the type of this data request. If the data request is belonging to Type I, the system calculates the contributions of the data request on the aggregated average and tuning time and updates StatI accordingly. Since being able to be served by the current bucket, a Type I data request will neither be merged into a structure Request nor be inserted into the request and ready queues and pending list.

On the other hand, when the data request is belonging to Type II, the system first checks whether it can be merged into an instance of structure Request in the system. If yes,

(4)

the system updates the fields (i.e., ReqN o and AvgT IS) of the instance of structure Request accordingly. Otherwise, the system creates a new instance of structure Request and inserts the instance into the request queue. Finally, the system calculates the contribution on aggregated access time and tuning time of the probe bucket of the data request, and updates StatII accordingly.

While an instance of Request, say r, is retrieved from the ready queue, the system first calculates the average number of search buckets that each data request represented by r has by

AvgSBN o ← Bucket(j).start − r.AT IS d × (SD+ SI) .

Then the system calculates the time that the desired data item of r can be retrieved (i.e., tEnd). Finally, with tEnd, the system calculates the aggregate contributions of the probe buckets of all data requests represented by r on the aggre- gated access time and tuning time, and updates StatII.AggAT R and StatII.AggT T R accordingly.

3.3 Degree Adjustment Phase

In each execution of degree adjustment phase, the system will adjust the degree (i.e., the value of d) of buckets accord- ing to the statistic information collected in the precedent execution of statistics collection phase. Let TAccess(d) and TT uning(d) be the average access time and average tuning time, respectively, when the degree of the broadcast pro- grams is d. For each field, the value of the average ver- sion is equal to the value of the aggregate version divided by the number of data requests. For example, the value of StatI.AvgT T is equal to StatStatI.AggT T

I.ReqN o. Then, we have TAccess(d)

= WI× (StatI.AvgAT ) + WII×

(StatII.AvgAT P + StatII.AvgAT S + StatII.AvgAT R), and

TT uning(d)

= WI× (StatI.AvgT T ) + WII×

(StatII.AvgT T P + StatII.AvgT T S + StatII.AvgT T R), where WI and WII are the weights of Type I and Type II data requests, respectively. The values of WI and WII are defined as the ratios of the numbers of Type I and Type II data requests and are equal to Stat StatI.ReqN o

I.ReqN o+StatII.ReqN oand

StatII.ReqN o

StatI.ReqN o+StatII.ReqN o, respectively. In addition, TOverAll(d) is adopted as the metric of the system performance when the degree of the broadcast programs is d, and is defined as

TOverAll(d) = β × TAccess(d) + (1 − β) × TT uning(d), where β is the weight of TAccess(d). The objective of de- gree adjustment phase is to determine the value of d to minimize TOverAll(d1). However, since globally minimizing TOverAll(d) is difficult, algorithm AIDOA is designed to find the new value of d, say d1, where TOverAll(d1) is local min- imum where TOverAll(d1) is smaller than TOverAll(d1+ 1) and TOverAll(d1− 1). Since the exact values of TAccess(d1) and TT uning(d1) where d16= d cannot be obtained from the statistic information, we adopt the following approximation method to estimate TAccess(d1) and TT uning(d1).

Let StatdI1 and StatdII1 be the approximations of the values of structure StatI and StatIIwhen the degree of buckets is d1. Then, we have the following lemmas:

Lemma 1 StatdI1.AvgAT and StatdI1.AvgT T can be ap- proximated by

StatdI1.AvgAT = StatI.AvgAT + (d1− d) ×SI

B, and

StatdI1.AvgT T = StatI.AvgT T, respectively.

Lemma 2 StatdII1.AvgAT P and StatdII1.AvgT T P can be ap- proximated by

Statd1II.AvgAT P

= SI

SI+ SD

× Statd1II.I.AvgAT P + SD

SI+ SD

× Statd1II.II.AvgAT P,

and

Statd1II.AvgT T P

= SI

SI+ SD

× Statd1II.I.AvgT T P + SD

SI+ SD

× Statd1II.II.AvgT T P,

respectively, where

StatdII.I1 .AvgAT P = StatII.AvgAT P +(d1−d)×

µSI

B +SD

B

,

StatdII.I1 .AvgT T P = StatII.AvgT T P + (d1− d) ×SI

B, StatdII.II1 .AvgAT P = StatII.AvgAT P + (d1− d) ×SD

B and

StatdII.II1 .AvgT T P = StatII.AvgT T P + (d1− d) ×SD

B .

As mentioned in Lemma 2, setting the degree of buckets will increase the numbers of index and data items in each probe bucket of Type II data requests by d1− d. Suppose that these extra index and data items are from the search buckets. Then, we have

Lemma 3 StatdII1.AvgAT S and StatdII1.AvgT T S can be ap- proximated as

StatdII1.AvgAT S = AvgSBN o1× d1×(SI+ SD)

B ,

and

StatdII1.AvgT T S = AvgSBN o1× µ

d1×SI

B + TOf f+ TOn

, where

AvgSBN o1 = StatII.AvgAT S × B

d1× (SI+ SD) −d1− d d1

, respectively.

Lemma 4 StatdII1.AvgAT R and StatdII1.AvgT T R can be ap- proximated as

StatdII1.AvgAT R = StatII.AvgAT R + (d1− d) ×SI

B, and

StatdII1.AvgT T R = StatdII1.AvgT T R, respectively.

(5)

0 0.5 1 1.5 2 2.5 3

5 10 20 30 40 50 60

Turning-on and Turning-off Time (ms)

Average Access Time (sec)

Static-2 Static-8 AIDOA

(a) Average Access Time

0 0.2 0.4 0.6 0.8 1 1.2 1.4

5 10 20 30 40 50 60

Turning-on and Turning-off Time (ms)

Average Tuning Time (sec)

Static-2 Static-8 AIDOA

(b) Average Tuning Time Figure 4: The effect of turning-on and turning-off time

We then devise procedure DegreeAdjustment to find the value of d1 where TOverAll(d1) is local minimum. In pro- cedure DegreeAdjustment, the system first checks whether increasing or decreasing the value of degree will reduce the value of TOverAll(d1). After that, the system repeatedly in- creases or decreases the value of degree by one until TOverAll(d1) is local minimum. Finally, the system sets the value of de- gree to the return valued of procedure DegreeAdjustment.

4. PERFORMANCE EVALUATION 4.1 Simulation Model

In order to evaluate the performance of the proposed degree adjustment method in algorithm AIDOA, the algorithm pro- posed in [4] (referred to as algorithm Static) is modified to integrated into the proposed system. Hence, the difference between algorithm AIDOA and algorithm Static is on the ability of adjusting the degree of buckets. Based on algo- rithm Static, we devise two schemes, Static-2 and Static-8 which set the degree of buckets to two and 8, respectively, and the values of degree of buckets are fixed throughout the simulation. In addition, scheme AIDOA employs algorithm AIDOA and initializes the degree of buckets to two. Hence, scheme AIDOA will dynamically adjust the degree of buck- ets according to system workload. Note that all these three schemes employ server cache and asynchronous I/O to elimi- nate performance degradation caused by the data item fetch time.

4.2 Effect of Turning-on and Turning-off Time of WNIs

The effect of turning-on and turning-off time of WNIs is measured in this subsection and the experimental results are given in Figure 4. In this experiment, we assume that TOn= TOf f and set the value of TOnand TOf f from 5ms to 60ms. As shown in Figure 4a, the values of TOn and TOf f

do not affect average access time in scheme Static-2 and scheme Static-8. It is because that in these two schemes, degrees of broadcast buckets are static, and the values of TOnand TOf f do not affect the organizations of broadcast programs. On the other hand, although scheme AIDOA is able to dynamically adjust the degree of buckets, the in- fluence of TOnand TOf f on average access time of scheme AIODA is small since the size of index items is much smaller than that of data items.

Consider average tuning time of these schemes shown in Figure 4b. Since the benefit of increasing the value of de- gree is in proportion to the values of TOnand TOf f, scheme

Static-2 performs well when TOn and TOf f are small. On the contrary, scheme Static-8 outperforms scheme Static-2 in the case with large TOnand TOf f. Although producing more power consumption in the probe bucket than scheme Static-2 does, scheme Static-8 is still able to reduce over- all power consumption since being able to greatly reduce the power consumption on turning-on and turning-off the WNIs by reducing the average number of search buckets.

On the other hand, with dynamic adjustment in the degree, scheme AIDOA is able to determine a suitable value of de- gree for current system workload, and hence outperforms scheme Static-2 and scheme Static-8 in most cases.

5. CONCLUSION

In this paper, we analyzed the access time and tuning time of data requests and proposed algorithm AIDOA to adjust the degree of buckets according to system workload. To fa- cilitate scheme AIDOA, we also devised an approximation method to estimate the effect of increasing and decreasing the values of degree. Experimental results showed that algo- rithm AIDOA is able to greatly reduce power consumption at the cost of slight increment in average access time and dy- namically adjust the index and data organization to adapt to change of system workload.

6. REFERENCES

[1] M. Agrawal, A. Manjhi, N. Bansal, and S. Seshan.

Improving Web Performance in Broadcast-Unicast Networks. In Proceedings of the IEEE INFOCOM Conference, March-April 2003.

[2] D. Aksoy and M. J. Franklin. Scheduling for Large-Scale On-Demand Data Broadcasting. In Proceedings of IEEE INFOCOM Conference, pages 651–659, March 1998.

[3] T. Imielinski, S. Viswanathan, and B. R. Badrinath.

Data on Air: Organization and Access. IEEE Transactions on Knowledge and Data Engineering, 9(9):353–372, June 1997.

[4] S. Lee, D. P. Carney, and S. Zdonik. Index Hint for On-demand Broadcasting. In Proceedings of the 19th IEEE International Conference on Data Engineering, March 2003.

[5] E. Shih, P. Bahl, and M. J. Sinclair. Wake on Wireless:

An Event Driven Energy Saving Strategy for Bettery Operated Devices. In Proceedings of the 8th

ACM/IEEE International Conference on Mobile Computing and Networking, September 2002.

[6] M. A. Viredaz, L. S. Brakmo, and W. R. Hamburgen.

Energy Management on Handheld Devices. ACM Queue, 1(7):44–52, October 2003.

[7] J. Xu, W.-C. Lee, and X. Tang. Exponential Index: A Parameterized Distributed Indexing Scheme for Data on Air. In Proceedings of the 2nd ACM/USENIX International Conference on Mobile Systems, June 2004.

[8] H. Zhu and G. Cao. A Power-Aware and QoS-Aware Service Model on Wireless Networks. In Proceedings of IEEE INFOCOM Conference, March 2004.

數據

Figure 1: Index structure
Figure 3: Categories of buckets

參考文獻

相關文件

Cowell, The Jātaka, or Stories of the Buddha's Former Births, Book XXII, pp.

On the other hand, Japanese Buddhist scholars tend to point out the basic contradiction or inconsistency embedded in the śīla/vinaya system of Sinitic Mahāyāna tradition--that

In order to apply for a permit to employ Class B Foreign Worker(s), an Employer shall provide reasonable employment terms and register for such employment demands with local

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

Since we use the Fourier transform in time to reduce our inverse source problem to identification of the initial data in the time-dependent Maxwell equations by data on the

Other than exploring the feasibility of introducing a salary scale for KG teachers, we also reviewed the implementation of the Scheme in different areas including funding

NETs can contribute to the continuing discussion in Hong Kong about the teaching and learning of English by joining local teachers in inter-school staff development initiatives..

Corollary 13.3. For, if C is simple and lies in D, the function f is analytic at each point interior to and on C; so we apply the Cauchy-Goursat theorem directly. On the other hand,