期刊文献+

一种基于预测控制的SaaS系统自适应方法 被引量:11

A Self-Adaptation Approach Based on Predictive Control for SaaS
下载PDF
导出
摘要 对于部署在虚拟服务器集群上的多层云端应用系统而言,可以通过调整运行时架构以适应需求和上下文环境的变化,并保证其在动态负载下的性能.然而,由于缺乏通用的方法,如何从问题空间上的需求自适应地映射到解空间上的架构就成为了一个关键的问题.为解决这个问题,目前存在3种驱动方法:需求驱动模型、架构驱动模型和综合需求和架构模型的驱动方法.然而,这些方法的性能是有限的,并且忽视了时间变化规律,对横切系统多个层次的需求演化支持也不足.文中提出了一个基于预测控制的自适应方法(SAPC),它采用综合需求和架构的模型来驱动系统的自适应.该方法根据监控获取的运行时状态信息日志得到服务组件QoS值,学习基于小波变换的模型以准确预测服务组件的QoS,并通过预测控制诱导需求进化或实现运行时架构的模型转换来达到系统的自适应.更进一步,其根据当前的服务组件的QoS以及目标QoS做出优化决策.在控制操作部分中,判别当前情况下是做框架调整还是需求调整.如果存在可行的运行时模型,则通过预测控制产生操作向量,继而自动生成面向方面的脚本;该脚本被执行后会重构运行时模型并生成相应实例,该实例被传递给并行计算架构(比如MapReduce、Yarn或Spark等)来执行.否则,运用训练好的模型标识出进化点,然后将进化点与初始的需求混合起来以诱导需求进化.为验证上述方法,文中以一个名为CloudCRM在线SaaS平台为基准进行了大规模的实验,该平台基于RGPS元模型框架,通过对开源软件SuperCRM进行服务化改造来获得,其支持多租户.为观察平台在不同模型驱动方法的性能表现,文中对于该平台进行了剪裁,构造了4种由不同模型驱动的系统(包括Static、Req、Arch与SAPC),实验结果验证了文中方法的有效性.其中,在用户数为20时文中方法相对于其他3种方法在响应时间上分别降低54%,26%与21%,在吞吐率上提高313%,288%与12%,在可靠性上提高0.40%,0.26%与0.42%;在用户数为200时文中方法相对于其他3种方法在响应时间上分别降低99.5%,99.2%与20.7%,在吞吐率上提高320%,298%与10%,在可靠性上提高500%,495%与1.5%.进而文中方法使用小波变换分析相较于傅里叶变换在响应时间上降低7.2%,在吞吐率上提高2.4%,在可靠性上提高0.08%.在参数对于系统的影响方面,随着目标集合的大小与插件扩展点的数目的增长,SAPC方法都符合响应时间和吞吐量增加而可靠性下降的现象. A self-adaptive system adapts its architecture at runtime to the changes ments and contexts, which assures the performance of multi-tier cloud applications virtualized server clusters according to system complexity and dynamic workloads. determining how to map from requirements in problem space to the architectural of require- deployed in However, elements in solution space is a critical research problem. There existed several approaches, requirements- driven model, architecture-based model and model which combine them. However, the performance of those approaches is limited, which ignored the impact of temporal variation and did not support requirements evolution crosscutting multiple layers of system fully. This paper proposes a SAPC (Self-adaptation Approach based on Predictive Control) approach which combines requirements and architectural model. This approach acquires QoS values via history logs of state information produced by runtime monitoring, which are utilized to learn a wavelet-transform-based model to predict the QoS of services, and induce requirements evolution or conduct architecture-based model transformations at runtime to realize self-adaptability. Furthermore, optimal design decisions were made according to current and goal QoS: we can identify which policy is needed between require- ments or architectures adjustment; if we can seek feasible architectural model via predictive control based optimizer according to context changes, an aspect-oriented script are automatically generated, which can be executed to reconfigure plugin-based architecture models and build plugin instances for model transformation at runtime, as a result, those instances generate a set of tasks, which will be transmitted to the parallel computation system such as MapReduce, Yarn or Spark Otherwise, the specific improvement points are identified and synthesized into target requirement specification with initial requirement model specification, which are utilized to induce requirements evolution. To validate our approach, large-scale experiments are conducted based on an online SaaS benchmark named as CloudCRM, which is built by transforming an open source software SuperCRM into service-oriented one based on a RGPS framework and supports multi-tenant. In order to observe the performance of different driven models, this paper constructed the platform driven by four different models, including Static, Req, Arch and SAPC, through clipping in CloudCRM. The results show that our proposed approach achieves higher performance than other approaches, where the SPAC is decreased by 54%, 26% and 21% respectively on Response time, is increased by 313% ,288% and 12% respectively on Throughput, and is increased by 0.40%, 0.26% and 0. 42% respectively on Reliability, compared with the other three models when the number of users is 20% The SPAC is decreased by 99.5%, 99.2% and 20. 7% respectively on Response time, is increased by 320%, 298% and 10% respectively on Throughput, and is increased by 500%, 495% and 1.5% respectively on Reliability, compared with the other three models when the number of users is 200. Furthermore, Wavelet transform could achieve higher performance compared with Fourier transform, where the SPAC is decreased by 7. 2% on Response time, is increased by 2.4% on Throughput, and is increased by 0.08% on Reliability. Finally, the response-time and throughput increases, however, the reliability drops when the size of goals and extension points is increased.
出处 《计算机学报》 EI CSCD 北大核心 2016年第2期364-376,共13页 Chinese Journal of Computers
基金 国家"九七三"重点基础研究发展规划项目基金(2014CB340400) 国家自然科学基金(61273216 61202032 61272111 61202031 61202048) 湖北省重大科技创新计划(2013AAA020) 中国国家科技支柱项目(2012BAH07B01) 武汉市青年科技晨光计划(2014070404010232) 软件工程国家重点实验室开放基金(SKLSE-2012-09-21)资助~~
关键词 自适应系统 需求 预测控制 服务质量 软件即服务 云计算 self-adaptive system requirements predictive control QoS SaaS cloud computing
  • 相关文献

参考文献23

  • 1van Vliet H. Software Engineering: Principles and Practice. 3rd Edition. Hoboken. USA: Wiley.John Wiley &. Sons Inc. 2008.
  • 2Nuseibeh B. Weaving together requirements and architec?tures. Computer. 2001. 34(3): 115-117.
  • 3Diao Y. HellersteinJ L. Parekh S. et al. Managing Web server performance with AutoTune agents. IBM SystemsJournal. 2003. 42(1): 136-149.
  • 4France R. Rurnpe B. Model-driven development of complex software: A research roadmap//Proceedings of the Future of Software Engineering. Washington, USA, 2007: 37-54.
  • 5Blair G S, Bencomo N. France R B. Models@run. time. Computer. 2009. 42(10): 22-27.
  • 6Morin B, Barais 0,JezequelJ M, et al. Models@run. time to support dynamic adaptation. Computer, 2009. 42 (10): 44-51.
  • 7Elkhodary A, Esfahani N, Malek S. FUSION: A framework for engineering self-tuning self-adaptive software systems// Proceedings of the 18th Foundations of Software Engineering. New York. USA, 2010: 7-16.
  • 8Baresi L. Pasquale L, Spoletini P. Fuzzy goals for requirements?driven adaptation//Proceedings of the 18th Requirements Engineering Conference. Sydney, Austrilia , 2010: 125-134.
  • 9Peng X, Chen B, Yu Y, Zhao W. Self-tuning of software systems through dynamic quality tradeoff and value- based feedback control loop.Journal of Systems and Software, 2012.85(12): 2707-2719.
  • 10Fu L, Peng X. Yu Y, MylopoulosJ, Zhao W. Stateful requirements monitoring for self-repairing socio-technical systems//Proceedings of the 20th IEEE Conference on Requirements Engineering, Chicago, USA, 2012: 121-130.

同被引文献101

引证文献11

二级引证文献52

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部