Issuu on Google+

Scientific Journal of Information Engineering

Xin Xi Gong Cheng Qi Kan

结合价值与截止期的数据流调度算法 张立杰,刘海燕 大连外国语学院 软件学院,辽宁 大连 116023 摘

要:针对一些高关键性的数据流应用,本文综合考虑了流速的动态性、截止期的实时性与价值的重要性。首先实时计算查询

计划中各查询的相对截止期与相对价值;随后创建并填充基于截止期与价值的优先级段值二维表,以此确定查询调度顺序;最终 给出不同流速下基于优先级段值表的查询调度算法并进行实验验证。结果显示,基于价值与截止期的查询调度算法很好地体现了 查询的重要性和紧迫性,提高了连续查询的实现价值率。 关键词:数据流;截止期;价值;优先级;查询调度

Query Schedule Algorithm Based on Deadline and Value over Data Stream System Lijie Zhang, Haiyan Liu Software College Dalian University of Foreign Languages, 116044, China Email: lijie8111@126.com Abstract: Dynamic stream rate of continuous queries, real-time deadline and important value in high critical data stream application is considered in this paper. Firstly, the relative deadline and value is calculated real-time. Secondly, a priority table based on the relative deadline and value is created and filled which decides the query scheduling order. At last, based on this priority table, a value and deadline jointly based query scheduling algorithm in different stream radio is proposed. The experimental results indicate that the algorithm raises the hit value radio (HVR) and the success ratio continuous query scheduling. Key words: Data stream; Deadline; Value; Priority; Query scheduling

1 概述 数据流中的查询多为连续查询,查询一经注册,便一直处于不断运行的状态。在连续查询执行过程中,数据流 特征参数,如数据流的输入速率、操作符的选择率等发生变化,正在执行的查询计划可能已性能低下,不再适应当 前的数据流环境。还有一些应用中,如飞船的实时监控系统等,数据处理的实时性要求更高,一旦错过截止期就会 造成灾难性的后果,截止期与价值是这类应用的重要参数。所以高关键性的数据流应用中,如何在动态的流环境下 实时地进行查询调度是本文研究的重点。 基于优先级的调度算法在实时系统中已经有着广泛的应用,这类算法主要包括截止期最早算法(earliest deadline first,简称 EDF)、空闲时间最短算法(least slack first,简称 LSF)和价值最高最优先算法(highest value first,简 称 HVF)等[1]。在这些算法中,任务的优先级都是基于任务的单一特征参数计算而得。在数据流系统中,数据和查 询结果都是以流的形式出现,查询处理的粒度也不再是任务或事物,查询的执行特征发生了根本性的变化。 关于数据流的查询调度,文献[2]对数据流系统中的调度器需要完成的任务做出了明确的定义:首先,调度器可 以动态形成调度计划;其次,调度器能够实现基于元组等待时间与 QoS 的优先级分配。文献[3]提出了一种基于速 率的优化调度方法,这一方法对单个操作符的输出速率进行计算,根据速率进行动态调度。文献[4]提出了一种操作 符的抢占式调度方法,该方法对单个操作符实施抢占式调度。但是现有的数据流查询调度算法中均未考虑到截止期 与关键性参数,没有涉及到高关键性应用中的实时处理问题。i 本文重点讨论在数据流系统中,如何充分考虑流环境的易变因素与高关键性应用的实时等特点,提出了基于截 止期与价值的数据流查询调度算法,该查询调度算法主要包含三步:①实时计算查询计划中各查询的相对截止期与 90 | SJIE Jun. 2012 V ol. 2 No.3 PP.90-94 www.sjie.org © 2011 American V -King Scientific Publishing, LTD


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

相对价值;②创建并填充基于相对截止期与价值的优先级段值二维表,并确定查询调度顺序;③给出不同流速下基 于优先级段值二维表的查询调度算法。 表 1 数据流查询相关参数 参数

描述 表示数据流中第一个流元素的到达时间,即数据流的时间

A R

e

t di vi pi

戳。 表示当前数据流的流速,单位为 tuples/second。 表示流查询的执行时间,是指一个连续查询处理数据流中 一个流元素所需的时间, e 主要由查询计划的操作符序列 执行的时间所决定,这里只考虑选择和投影操作,因而可 近似地表示为 e=e 选择+c 投影。 当前时间。 表示截止期,即对于到达时间为 a 的流数据,截止到 di 时 间点,价值开始呈线性下降。针对动态的数据流,下文将 讨论相对截止期才是有意义的。 表示查询 si 的关键性,也就是查询的重要程度,也称价值。 查询的价值在截止期的前后有所不同。 查询 si 的优先级。

2 相对截止期与相对价值 在计算查询计划各查询的相对截止期与价值之前,首先给出数据流查询相关参数的定义与假设,具体如表 1 所 示。 对于数据流环境,随着时间的推移,各个参数都动态地发生改变,注册的查询计划的初始参数和经验值都实时 地变化,所以我们接下来需要讨论数据流环境下特有的相对截止期与相对价值。

2.1 相对截止期——Di 对于时间戳为 a 的流元素,其通过查询 s i 的截止期为 di 。即我们只有在 di -ai 内查询处理完数据流中时间戳为 a 的流元素是有意义的。 Di =di -ai

(1)

2.2 相对价值——Vi 由于数据流查询的连续性以及高关键性应用中数据查询的紧迫性和重要性,我们需要实时跟踪查询 s i 的价值。 Vi 是当前时间 t 的函数。设查询 s i 的价值 vi 在截止期 di 后线性下降,至 a+r*di (r>=1)时减为 0。 则当 r>1 时,为弱实时查询,此时为软截止期,则相对价值为 Vi 的计算如下:

Vi t   vi ,

0  t  di

 rdi  (r  1)a  t (r  1) Di  vi ,  0,

d i  t  a  rdi

(2)

a  rdi  t

3 基于相对截止期-价值的优先级段值二维表 上一节给出了数据流查询中相对截止期以及相对价值的定义。本节分别对相对截止期与价值进行相应粒度的设 置,并给出了不同流速下优先级的计算方法,最终创建基于相对截止期与价值的优先级段值二维表,并将查询计划 中的各查询填充至相应的二维表中。

3.1 创建基于相对截止期-价值的优先级段值二维表 本文的查询调度算法是基于相对截止期与价值的,为了更好体现两个参数的重要性,我们使用一个二维表来刻

SJIE Jun. 2012 V ol.2 No.3 PP.90-94 www.sjie.org © 2011 American V -King Scientific Publishing, LTD | 91


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

画查询的优先级,其中横轴用 V1 至 V4 表示查询的价值段值,纵轴用 D1 至 D4 表示查询的截止期段值。因为数据流 的查询通常不会特别复杂,所以本文的优先级二维表截止期与价值的区段数假定均为 4。查询计划中各查询价值的 区间段值计算如公式 3 所示。 V1  1

0  Vi  1 vi 4

V2  2

V V V

V3  3 V4  4

n

4  Vi  1Vi 4  2

n 1 i

n

n 1 i

4  2  Vi  1Vi 4  3

n

4  3  Vi  1Vi

(3)

n

n

1 i

同理,查询计划中各查询截止期的区间段值计算如公式 4 所示。 D1  1

0  Di  1 Di 4

D2  2

D D D

D3  3 D4  4

n

n

i

1

4  2  Di  1 Di 4  3

i

4  3  Di  1 Di

n

1

n

i

n

1

4  Di  1 Di 4  2

(4)

n

n

我们在数据流查询之前根据初始值和经验值进行优先级二维表的初始化,查询 s i 根据其相对截止期与相对价值 相应地放置在二维表中特定的单元格中。随着时间的推移,我们会实时地对此二维表进行更新。

3.2 计算优先级并填充优先级段值二维表 数据流的流速 r 可能随着时间的推移出现爆发或间歇。随着流速的变化,查询优先级 p 的计算也不同。 (1)当 1/r > e 此时流速正常,流数据到达的间隔时间大于流元素的处理时间,数据流的载量正常。系统在保证性能的前提下, 应该综合考虑截止期与价值。此时优先级计算如公式如 5 所示。即优先选择价值高而截止期短的查询。当 P 值相同 时,我们必须加以区分,确定优先次序,所以我们采用公式 6 加以保证调度顺序的唯一性。 Pi  Vi  Di

(5)

Pi  Vi D j

(6)

依次计算各查询的优先级,进行优先级段值二维表的填充。此时优先级段表转化为图 1 所示,图中调度的执行 顺序必须按照箭头所指的顺序进行。 (2)当 1/r <= e 此时流速过快,流数据到达的间隔时间小于流元素的处理时间,系统发生数据超载现象。超载发生时,系统性 能会发生改变,我们应确保截止期越短的查询优先被执行,使得尽可能多的查询在截止期前得到执行。我们仍然采 用公式 5 进行优先级的计算,但是当 P 值相同时,我们必须加以区分,确定优先次序,所以我们采用公式 7 加以保 证。 Pi  (Vi  Di  1)  (Vi  Di  2) 2  D j

(7)

依次计算各查询的优先级,进行优先级段值二维表的填充。此时 p 值越小,查询的优先级越高,即同一优先级 等级中的查询,截止期较早的查询具有更高的优先级。当流速过快时,优先级调度顺序表如图 2。

4 基于优先级段值二维表的查询调度算法 上一个小节中提出了基于截止期与价值的数据流查询优先级的计算策略,本小节实现基于优先级的查询优化调 度算法。 算法:StreamScheduling(简称 SS 调度算法) 输入:注册的查询流(d,v,r,e,a,t) 输出:查询执行序列 92 | SJIE Jun. 2012 V ol. 2 No.3 PP.90-94 www.sjie.org © 2011 American V -King Scientific Publishing, LTD


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

V1

V2

V3

V4

V1

Value

V2

V3

V4

D1

1

2

3

4

D1

1

2

4

7

D2

0.5

1

1.5

2

D2

3

5

8

12

D3

0.33

0.67

1

1.33

D3

6

9

13

18

D4

0.25

0.5

0.75

1

D4

10

14

19

25

Value

Deadline

Deadline

图2 流速爆发时优先级顺序

图1 流速正常时优先级顺序

步骤: init(); 对各个参数初始化*/ 1.

Di = computeDeadline(d,a);根据公式 1 计算相对截止期

2.

Vi =computeValue(v,r,d,a,t);根据公式 2 计算相对价值

3.

createTable(Di ,Vi );根据公式 3,4 创建优先级段值二维表

4.

if(1/r>=e){

5.

confirmCell(Di ,Vi ) 根据公式 5,6 填充优先级段值二维表

6.

traversalTable(Di ,Vi ); }根据图 1 指示的优先级顺序遍历查询计划各查询

7.

if(1/r<e) {

8.

confirmCell(Di ,Vi )根据公式 5,7 填充优先级段值二维表

9.

traversalTable(Di ,Vi ); }根据图 2 指示的优先级顺序遍历查询计划各查询

10. updateQueryPlan(); 实时更新查询执行序列

5 性能测试与评价 本实验测试采用操作系统是 Microsoft 的 WinXP Professional、64 位处理器 AMD 3000+、内存 1G。本实验模拟 随着数据载量的增加,HVR(实现价值率)的变化趋势。其中 x 轴是负载,y 轴表示不同调度算法的实现价值率。 HVR 是调度算法,调度执行任务满足截止期所实现的累积价值与所有注册的查询任务价值总和的比率,HVR 是衡 量调度策略好坏的一个主要的性能指标。其中 EDF 是截止期最早有限算法,HVF 是价值最高最优先算法,SS 是本 文提出的基于截止期与价值的数据流查询调度算法。具体如图 3 所示。

EDF

HVF

SS

HVR

100 90 80 70 60 50 40 30 20 10 0 0.5

1

1.5

2

2.5

图3 实现价值率

3

3.5

载量

SJIE Jun. 2012 V ol.2 No.3 PP.90-94 www.sjie.org © 2011 American V -King Scientific Publishing, LTD | 93


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

从图 3 可明显看出,本文提出的基于截止期与价值的数据流查询调度算法随着负载的增加,都表现出了其优越 性,特别是在流速爆发的时候,SS 算法的 HVR 始终保持在 80%以上,性能下降比较缓慢。

6 结束语 在商业网格和云计算环境中,作业有到达时间、计算量、价值、截止期等参数。准确区分作业的重要性和紧迫 性是作业调度的一个关键问题。在数据流查询系统中,流数据有流速、选择率、执行时间等参数,系统需要适应性 地进行查询调度。针对一些高关键性的数据流应用,本文综合考虑了数据流连续查询中流速的动态性以及基于操作 符截止期的实时性与基于价值的重要性。通过实时计算相对截止期与相对价值创建并填充了优先级段值二维表,最 终给出了不同流速下基于优先级段值表的查询调度算法并进行了实验验证。结果显示,基于价值与截止期的查询调 度算法很好地体现了查询的重要性和紧迫性,提高了连续查询的实现价值率。 参考文献 [1]

Buyya R, M urshed M , Abramson D, et al. Scheduling paramenter sweep applications on global grids: A deadline and buget constrained cost-time optimization algorithm[J]. Software: Paractice and Experience (SPE), 2005, 35(5): 491-512.

[2]

S. Viglas,J. F. Naughton: Rate-Based Optimization for Streaming Information Sources[J]. SIGM OD Conference, 2002.

[3]

D J Abadi, D Carney, et al. Aurora: a new model and architecture for data stream management[J], The VLDB Journal, 2003, 12(2): 120.

[4]

D. Carney, U. Çetintemel, A. Rasin, et al. Operator Scheduling in a Data Stream M anager[J]. Department of Computer Science, Brown University, Department of Computer Science, Brandeis University, Laboratory for Computer Science & Department of EECS, M assachusetts Institute of Technology . 2003, 29: 838-849.

【作者简介】 张立杰(1981-),女,蒙古族,硕士,讲师。研究方向:数据库、数据流。2003-2006 于辽宁大 学读硕士研究生;2006-至今于大连外国语学院担任讲师。 Email: lijie8111@126.com

94 | SJIE Jun. 2012 V ol. 2 No.3 PP.90-94 www.sjie.org © 2011 American V -King Scientific Publishing, LTD


Query Schedule Algorithm Based on Deadline and Value over Data Stream System