基于强化学习的自适应中间件在线更新机制研究*

2014-09-13 12:35王建军刘玉林
计算机工程与科学 2014年8期
关键词:出纳员中间件决策

王建军,刘玉林

(河北经贸大学现代教育技术中心,河北 石家庄 050061)

基于强化学习的自适应中间件在线更新机制研究*

王建军,刘玉林

(河北经贸大学现代教育技术中心,河北 石家庄 050061)

自适应中间件框架一般根据预先定义的策略、按照监控、分析、决策、执行的流程实现对开放可变系统的闭环控制。但是,传统的自适应框架基于离线的闭环控制,即在提供自适应服务的同时,自身的决策模型不能随实时的环境变化而更新。针对该问题提出一种基于强化学习的自适应中间件的在线更新方案,解决自适应策略的冲突消解、系统实时效用评估问题,并设计一种基于强化学习的自适应策略在线学习更新方法,增强了自适应中间件的智能性、灵活性和应变能力。最后实现了相应的支撑系统OUSAM并在其上验证了该机制的有效性和可行性。

自适应中间件;在线更新;智能决策;强化学习

1 引言

软件中间件通过屏蔽底层差异,为软件开发者和普通用户提供稳定贴切的服务。然而,随着软件系统的日益复杂、计算平台的多样化以及用户需求的不断变化,软件中间件也由传统的静态、封闭逐步走向开放、动态、分布。这就要求中间件能根据内外环境变化以及用户的需求对所支撑的业务系统进行实时调整演化,以达到用户目标和较好的性能指标。自适应中间件技术应运而生,有关自适应中间件的理论也正受到研究者的重视。自适应中间件是一种在动态、开放的环境中对业务软件上下文自动进行感知,决策以对系统进行演化,提升性能的中间件系统。例如,分布式系统底层自动管理资源分配的中间件系统对分布式系统的资源状况进行监控并根据自适应策略和资源需求对节点等资源进行合理分配。

IBM最早提出了一种基于自治计算的自适应模型MAPE[1],展示一种对软件系统从监控、分析到决策、执行的反馈闭环控制结构(如图1所示)。该结构开创性地利用外部控制的手段对可变、开放的软件系统进行在线的自适应调整,使系统具有独立性、扩展性、可复用性等。Garlan D等人[2]在此基础上提出了一种基于软件体系结构风格的方法来开发可复用的自适应系统,并开发了相应的自适应系统Rainbow,该系统对运行的系统进行体系结构建模,在目标系统运行过程中进行监控,找到目标系统的运行冲突,并将相应的自适应策略作用于此冲突,形成对系统的闭环控制。但是,该系统采用的效用函数机制基于用户定义的预期效用值,而不是随环境改变而学习的效用,因此对效用的评估缺少一定的灵活性。

Figure 1 IBM MAPE self-adaptive model图1 IBM的自适应模型MAPE示意图

尽管Rainbow在体系结构的自适应上做得很出色,但Garlan D等人[3]也指出了此类自适应系统存在的问题:从抽象层次看,所采用的自适应模型是一种设计人员预先设定好的静态模型,针对目标系统的状态给予固定的自适应决策,属于一种离线自适应方式。然而在更多的场景下,自适应系统本身会面临环境变化或异常所带来的不灵活性。例如,采用对目标系统建模的方法进行自适应,但建立的模型要随着环境变化而实时改变;再如基于策略的自适应系统,用户的离线策略并不能预先得知所有动态的环境变化和异常。因此,这就要求自适应模型能应对实时的环境变化进行自身的学习更新,以达到对自适应系统的实时优化。我们称之为在线自适应。

本文正是围绕这种问题对自适应中间件的在线优化机制进行若干研究,相对Rainbow系统,对策略选择、效用函数定义进行了若干改进,并基于强化学习技术提出自适应中间件的策略在线更新算法对运行中的自适应中间件进行自优化。与本文研究较为接近的还有Ahmed[4]等人对自适应系统自身优化的研究以及Kim D、Tesauro G等人[5,6]用强化学习技术对系统进行自管理。本文采用了带学习功能的双闭环(自适应闭环和自优化闭环)控制结构[4],该结构既可以对目标系统进行在线决策演化(即进行自适应),又能对自适应系统本身进行实时优化(即对自适应策略的实时更新)。与文献[4,5]不同的是,本文主要关注基于策略的自适应系统,目标是策略的优化和冲突消解。

本文安排如下:第2节介绍自适应中间件的相关背景,第3节详细介绍自适应中间件的系统建模和自优化实现,第4节介绍一个应用示例并进行实验评估,第5节给出总结和研究展望。

2 自适应中间件框架建模与分析

为了方便讨论,本文首先介绍最典型的外部反馈型自适应系统模型,该系统能感知上下文环境的变化,并自动地调整组织结构或调整构件提供的功能行为来满足变化的要求。

从静态结构角度看,该系统包括:

(1)知识库(Model Manager):管理系统模型以及自适应策略;

(2)监控器(Probes、Gauge):监控系统运行状态并得出运行信息;

(3)分析器(Adaptation Manager):分析潜在的自适应条件,给出相应自适应策略;

(4)决策机制(Adaptation Manager):通过推理机制给出自适应决策结果;

(5)执行机制(Strategy Executer、Effectors):在目标系统执行自适应结果;

(6)评估机制(Architecture Evaluator):对系统运行状态进行量化评估。

从动态运行角度,该系统的运行过程为:

自适应系统监控目标系统,根据预先定义的策略分析可能的自适应条件,选出相应的自适应策略并根据策略进行决策,得到相应自适应动作作用于自适应系统。设目标系统为Ot,系统的t时刻状态为St,知识集合为Kt,策略集合为Pt,动作为At,监控为M,分析为An,决策为D,执行为Ex,则系统的运行过程形式化描述如下:

M(Ot)→St

(1)

An(Kt,St)→Pt

(2)

D(Pt,St)→At ,St+1

(3)

Ex(At,Ot)→Ot+1

(4)

由上述定义可见,当目标系统与外界环境可见时,我们研究的问题在于:知识集合(Kt)的可变性、An过程中策略Pt的选择。

3 自适应中间件在线更新机制

针对上文介绍的相关背景和问题,本文对传统自适应中间件进行若干改进,以增强运行时自优化的功能。

3.1 自适应建模

为了对自适应系统的决策进行优化,我们首先需要对自适应过程有一个抽象层面的模型描述。本文采用马尔科夫决策过程MDP(Markov Decision Process)[7]为自适应中间件的决策过程进行建模。

定义1马尔科夫决策过程 马尔科夫决策过程(MDP)定义为一个四元组〈S,A,R,P〉,包含一个环境状态集S,系统行为集合A,奖赏函数R:S×A→S和状态转移函数P:S×A→S。记R(s,a,s′)为系统在状态s采用a动作使环境状态转移到s′获得的即时奖赏值;记P(s,a,s′)为系统在状态s采用动作a使环境转移到s′的概率。MDP的本质是:当前状态向下一状态转移的概率和奖赏值只取决于当前状态和选择的动作,而与历史状态和动作无关。

MDP模型是一种在控制论、机器学习等领域广泛使用的处理决策过程的模型。由于它的历史无关假设使得很多决策问题的处理变得简单,本文中的自适应决策过程是一种典型的状态决策模型,同时我们也假设中间件的决策过程只与当前状态有关,即在对目标系统进行决策时我们只根据当前系统的状态进行决策。因此,选择MDP模型可以为中间件的智能决策提供方便可行的解决方案。

将MDP模型具体运用到中间件的决策过程,如图2所示,MDP中的状态s在自适应系统中对应系统所处的不同状态(conditions)。MDP中的动作a对应自适应系统的不同策略(strategies)。状态转移函数P在自适应系统中为系统采取自适应策略后的状态转移,比如从状态condition0经策略strategy1转移至状态condition1。环境即时奖赏R对应采取自适应策略后获得的系统优化程度。

Figure 2 The MDP model for self-adaptive decision process图2 自适应决策过程的MDP模型

3.2 策略选择与冲突消解机制

系统在某种条件下会出现有多种策略可以用来决策的情形,此时必须要让自适应引擎在其中做出最佳的选择。这里的“最佳”是指所选策略能够给系统长远来看的最佳效用。下文将用MDP模型和强化学习方法获得这种理论上的最佳效用并用实验进行验证。

系统应当给每个策略s一种偏好值P(s),当出现策略冲突时,具有较高偏好值的策略具有较大的概率被选择。这使得系统既能较大程度地信任更合适的策略,同时又使系统能面对环境的不确定性。系统在状态s下选择动作a的概率可以表示为:

其中,πt(s,a)表示s状态下采取a动作的概率,st表示t时刻系统的状态,at表示t时刻的动作,p(s,a)表示s状态下a动作的权重。

3.3 成本效益度量

3.4自适应中间件在线自优化机制

中间件的自优化要求在环境发生意料之外的改变后,中间件自身的策略能够得到相应的改变。在3.1节我们对自适应过程进行MDP建模后,强化学习是解决MDP模型优化的较好方法。因此,我们基于该模型,利用Actor-critic强化学习算法[8]对一般中间件模型进行了学习功能的扩展。

Actor-critic算法是建立在MDP模型上的一种强化学习算法。它假设学习Agent有若干策略用于决策动作而同时又有不同状态下的值函数用于状态转换。在状态S下采取一个策略作用于环境(表演)。在执行动作后根据环境的即时奖赏更新值函数(评论)。如图3所示。

Figure 3 Improved Actor-critic reinforcement learning algorithm[7]图3 改进的Actor-critic强化学习算法[7]示意图

该算法中的相关元素对应到自适应中间件优化的过程中,可以得到自适应中间件的策略优化算法(如算法1所示)。与原始Actor-critic算法不同的是,这里将环境的即时奖赏由决策前后的系统效用差值决定。

算法1自适应中间件策略优化算法

1 初始化所有strategy的偏好值P为用户自定义;

2 按照系统状态任意选取一个strategy0;

3 重复:

3.1 执行strategy0,观察执行效果得到奖赏值Rt=Ut-Ut-1;

3.2 按照系统状态c进行自适应分析,得到可用于当前自适应决策的子strategy集S;

3.3 根据子strategy的偏好值更新当前strategy0的偏好值:

P(strategy0)←P(strategy0)+α δt

3.4 从子strategy集S中按照当前状态c下各策略的偏好值p(c,s)计算策略选择概率,并按照该概率选取下一个strategy:

4 应用示例

为支持上述自适应中间件自优化方案,并进行智能性效果的评估,我们仿照Rainbow开发了一个自适应中间件支撑系统OUSAM(Online Updating Self-Adaptive Middleware),并在此基础上增加上文讨论的自优化机制,对性能效果进行了测试和比较,以验证传统自适应系统在增加我们设计的自优化机制后的智能性和灵活性。

4.1 OUSAM功能简述

OUSAM是模仿Rainbow系统实现的一种自适应中间件,它包括自适应描述语言、系统监控器、分析器、推理器。在对系统进行模型层面的描述(包括模型、自适应策略)后,OUSAM对系统运行中的变量进行监控,并计算待评估的系统状态,当分析到系统达到需要自适应的状态时根据相应策略对目标系统进行自适应调整。此外,在其中增加上文所述的自优化机制,在进行系统模型描述时增加系统效用的描述,由用户定义效用函数类型和参数,在运行时,OUSAM实时监控系统参数,计算系统效用,并在每次自适应过程后根据系统效用变化得到对决策的“回报”,根据智能学习机制对历史决策的偏好度作相应调整。

4.2 OUSAM实现要点

限于篇幅,此处对OUSAM的各个具体细节不做展示,仅讨论与第3节的自优化相关的若干关键实现技术。

OUSAM的系统框架如图4所示,与Rainbow的Stitch语言类似,OUSAM定义了一种自适应需求描述语言AL,用于对系统进行体系结构建模,并对用户策略进行表达。图5是AL语言的简要描述。表1反映了OUSAM与Rainbow的联系和区别。

Figure 4 Framework of OUSAM图4 OUSAM框架示意图

Figure 5 AL language grammar highlights 图5 AL自适应描述语言简要语法描述Table 1 Relations and comparisonsbetween OUSAM and Rainbow表1 OUSAM与Rainbow的联系与比较

4.3 应用场景

考虑一个银行出纳调度系统的应用,该系统包含顾客、出纳员。该银行共有20名出纳员Ei(i=1,2,…,20),他们为每位顾客的服务时间为Ti±3min,其波动值服从正态分布。顾客相继到达银行的间隔服从均值为μ=8 min, 10 min, 12 min的指数分布。顾客到达后,如果发现已有6人以上在排队等待,30%的顾客便离去,其余人继续排队等待。为了提高服务质量,该调度系统在队列很长时需要对出纳员的配置进行调整。如增加出纳员,或者选择更为熟练的出纳员。

为了对上述银行调度系统进行自适应,将OUSAM系统应用在该调度系统上。OUSAM查询银行调度系统提供的队伍长度,当分析到超过一定阈值时采取自适应策略进行自适应调整。

为了分析方便,我们采用了两个策略:

策略1队列长度大于6则增加出纳员;

策略2队列长度大于6则换一个更熟练的出纳员(服务时间更短)。

其中应用该自适应中间件的专家(使用者)根据经验相信增加出纳员比更换出纳员更好,因此在制定策略时将策略1设了更高的权重。但是,在实际使用中,出现了专家没有预料的情形:出纳员大批放假。这个时候的策略1并不能起任何作用,而策略2会是更好的策略,如果没有对策略的学习优化机制,则该自适应系统依然选择策略1。但是,在采用我们提出的策略学习优化机制后,中间件经过自学习会根据决策结果进行评估,进而及时修改策略权重,将策略2作为首选策略。

4.4 实验环境搭建

实验所使用的计算机配置为Intel Core E7500双核CPU,主频2.93 GHz,内存为1 GB×2 DDR2,操作系统为Microsoft Windows XP Professional 5.1,版本2600.OUSAM的实现平台为Eclipse。仿真的目标系统实现平台为Visual Studio 6.0。对目标系统的描述采用XML语言。

为了描述上述决策过程,我们对目标系统——银行调度作了仿真,用Visual Studio 6.0开发了一个排队系统。同时,用OUSAM描述目标系统的若干方面,如队长、自适应调整策略、自适应调整动作。仿真排队系统将实时信息写入文件,OUSAM通过读写文件获得排队系统的信息并作出自适应调整指示。

实验分别在对目标系统不添加自适应、添加自适应不进行策略更新优化以及既有自适应又有自优化三种情况进行实验验证。表2是相关的仿真参数。

Table 2 Simulation parameters表2 仿真参数

4.5 评估标准

为了评估本文提出的自适应中间件在线优化的方法,我们提出以下评估指标:

(1)自适应效果:指自适应中间件在目标系统受到意外改变的情况下能否进行正确决策使目标系统性能提升。在本实验中,我们将OUSAM应用到仿真系统中,比较未采用OUSAM进行自适应和采用OUSAM进行自适应的情况下仿真系统的队列长度。判断OUSAM系统是否在仿真系统受到异常改变时作出决策并使队列长度降低。

(2)智能性:指系统在遇到未预料的环境变化或异常时能对预先的策略偏好度进行重新评估,并作出更好的决策。本实验中是指OUSAM在遇到异常的情况(采用的策略不能使系统性能进行提升)下能自动调整策略权重,并运用新的策略使得总体运行效果更好。

4.6 实验结果与评估

比较未运用自适应中间件和运用中间件后的效果,得到的对比结果如图6所示。可以看到,运用自适应中间件之前由于不断有顾客进入,系统没有应对策略,从而效果逐渐变差;在运用自适应中间件后系统能有一个明显的性能提升。

Figure 6 Comparison of self-adaptative effects between self-adaptive middleware and non-self-adaptive software图6 自适应中间件效果与非自适应效果比较

另一组实验验证OUSAM的策略更新效果,在时间达到200 min后突然减少出纳员数量,考验中间件此时的应对能力,如图7所示。可以看到在没有策略自适应机制时(如图7a所示)策略1的偏好值始终大于策略2的偏好值,从而中间件系统始终选择策略1,使队列长度逐渐增长。而在使用策略自适应机制后(如图7b所示),在205 min后策略1的权重开始减少,系统选择策略2,队列长度在一段时间的增高后又恢复到较低值。可见在线更新机制使得自适应中间件依然能保持最佳的决策能力。

Figure 7 Self-optimization effect of the self-adaptive middleware图7 自适应中间件自优化效果评估

5 结束语

自适应中间件系统通过对应用系统的监控、分析、决策、执行等,在可变的环境中为用户提供了可靠稳定的服务。然而,传统的自适应中间件由于其自适应策略是在设计阶段静态指定,因此不能灵活处理运行过程中环境的突变或系统异常。

本文针对这种离线自适应问题提出一种基于强化学习的在线优化方法,相对于Rainbow这种典型的自适应中间件解决了策略选择、冲突消解、成本效益度量以及策略在线优化等问题。开发了相应的系统OUSAM,在其上实现了一种典型应用场景,验证了我们方法的可行性和有效性。最后,将我们的系统与几种典型的自适应系统进行比较,显示了我们系统在在线优化方面的优势。

[1] Kephart J O, Chess D M. The vision of autonomic computing[J]. Computer, 2003,36(1):41-50.

[2] Cheng S.Rainbow:Cost-effective software architecture-based self-adaptation[D]. Pittsburgh:Carnegie Mellon University, 2008.

[3] Rahul R, Cheng S, David G, et al. Improving architecture-based self-adaptation using preemption[C]∥Proc of the Workshop on Self-Organizing Architectures, 2010:21-37.

[4] Ahmed E,Naeem E,Sam M.FUSION:A framework for engineering self-tuning self-adaptive software systems[C]∥Proc of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010:7-16.

[5] Kim D, Park S. Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software[C]∥Proc of Workshop on Software for Adaptive and Self-Managing Systems, 2009:76-85.

[6] Tesauro G, Jong N K, Das R,et al. A hybrid reinforcement learning approach to autonomic resource allocation[C]∥Proc of the International Conference on Autonomic Computing, 2006:65-73.

[7] Gao Yang, Chen Shi-fu, Lu Xin. Survey of reinforcement learning[J].Chinese Journal of Automation,2004,30(1):86-100.(in Chinese)

[8] Konda V. Actor-critic algorithms[D]. Cambridge:Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 2002.

[9] Gu X.IDES:Self-adaptive software with online policy evolution extended from Rainbow[M]∥Computer and Information Science, 2012:181-195.

[10] Garlan D, Schmerl B, Cheng S.Software architecture-based self-adaptation[M]∥Autonomic Computing and Networking,2009:31-56.

[11] Alia M,Eide V S W,Paspallis N,et al.A utility-based adaptivitymodel for mobile applications[C]∥Proc of the IEEE International Symposium on Ubisafe Computing, 2007:107-114.

[12] Kakousis K,Paspallis N,Papadopoulos G A.Optimizing the utility function-based self-adaptive behavior of context-aware systems using user feedback[C]∥Proc of OTM,2008:34-40.

[13] Tesauro G, Das R, Jong N, et al. A hybrid reinforcement learning approach to autonomic resource allocation[C]∥Proc of the 3rd IEEE International Conference on Autonomic Computing,2006:65-73.

[14] Hu Hai-yang,Ma Xiao-xing,Tao Xian-ping,et al.Research and advance of reflective middleware[J].ChineseJournal of Computer,2005, 28(9):1407-1420.(in Chinese)

[15] Benjamin B,Mathias P,Uwe B.Development and evaluation of a self-adaptive organic middleware for highly dependable system-on-chips[C]∥Proc of the IARIA ’12, 2012:112-117.

附中文参考文献:

[8] 高阳,陈世福,陆鑫.强化学习研究综述[J].自动化学报,

2004,30(1):86-100.

[14] 胡海洋,马晓星,陶先平,等. 反射中间件的研究与进展[J].计算机学报,2005,28(9):1407-1420.

WANGJian-jun,born in 1965,MS,associate professor,his research interests include software engineering, and network security.

刘玉林(1963-),男,河北元氏人,硕士,副教授,研究方向为计算机软件与理论。E-mail:617922062@qq.com

LIUYu-lin,born in 1963,MS,associate professor,his research interest includes computer software and theory.

Onlineupdatingofself-adaptivemiddlewarebasedonreinforcementlearning

WANG Jian-jun,LIU Yu-lin

(Center of Modern Education Technology,Hebei University of Economics and Business,Shijiazhuang 050061,China)

One common approach of self-adaptive middleware is to incorporate a control loop that monitors, analyzes, decides and executes over a target system with predefined strategies. Such approach is an offline adaptation where strategies or adaptive models are statically determined so as not to change with environment. Aiming at the problem, an online updating mechanism of self-adaptive middleware based on reinforcement learning is proposed to solve the problems of conflict resolution and real-time system effectiveness evaluation, and an online updating method of self-adaptive policy based on reinforcement learning is designed, thus enhancing intelligence, flexibility and reaction capability. Finally, the corresponding system OUSAM is implemented and the effectiveness and feasibility of the mechanism is validated on OUSAM.

self-adaptive middleware;online updating;intelligent decision;reinforcement learning

1007-130X(2014)08-1462-07

2012-12-10;

:2013-03-07

TP311

:A

10.3969/j.issn.1007-130X.2014.08.007

王建军(1965-),男,河北兴隆人,硕士,副教授,研究方向为软件工程和网络安全。E-mail:188098077@qq.com

通信地址:050061 河北省石家庄市学府路47号河北经贸大学现代教育技术中心

Address:Center of Modern Education Technology,Hebei University of Economics and Businesse,47 Xuefu Rd,Shijiazhuang 050061,Hebei,P.R.China

猜你喜欢
出纳员中间件决策
为可持续决策提供依据
地理还是历史
决策为什么失误了
我本人
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
He’s just been to the zoo.
我想重用她
中间件在高速公路领域的应用
一种支持智能环境构建的中间件