基于WorkManager的Web应用服务器并发运行环境的设计与实现
文献类型:学位论文
作者 | 张磊 |
学位类别 | 博士 |
答辩日期 | 2008-06-06 |
授予单位 | 中国科学院软件研究所 |
授予地点 | 软件研究所 |
关键词 | Web应用服务器 Work Manager 并发运行环境 并发编程模型 日历队列 TPC-W |
其他题名 | Design and Implement of Concurrent Runtime Environment of Web Application Server based on Work Manager |
中文摘要 | 多线程技术是构造下一代分布式应用的基本技术。通过将分布式应用对于Web应用服务器的多线程服务需求提取出来,以统一的编程模型提供给用户,Work Manager是目前构建基于Web应用服务器平台的分布式应用的重要手段。 并发运行环境是Work Manager在Web应用服务器的后台实现,保证了用户对于基于Work Manager的编程模型的使用可以在Web应用服务器端获得正确的、预期的执行结果。目前,对并发运行环境的研究还处于初始阶段,主要研究成果形成了CommonJ、JSR237等规范,这些规范定义了Work Manager的接口形式,解决了分布式应用与编程模型的交互问题,然而对于编程模型与Web应用服务器的交互问题仍然缺乏研究。 针对该问题,论文基于CommonJ规范,根据并发运行环境与传统应用服务器任务执行环境的差异,提取了若干并发运行环境的非功能需求,并针对这些需求给出了我们的解决方案,包括分布式应用的并发控制和失败恢复、应用服务器系统过载保护、运行空间的隔离等。 首先,论文分析了现有的Web应用服务器的系统架构,指出了现有架构存在的缺陷及引入并发运行环境带来的优势,随后,对目前业界已有的关于并发运行环境的研究成果进行了总结阐述。在此之上,对并发运行环境所需要实现的各种特定应用需求及偏好进行了萃取,给出了并发运行环境需要实现的功能及非功能需求,如最大最小线程控制、任务运行调度、失效检测及过载处理等。 其次,给出了一个基于CommonJ规范的并发运行环境OnceCRE(Once Concurrent Runtime Environment)的框架设计与实现。OnceCRE通过对现有Web应用服务器业务逻辑进行再划分,将任务的传递与执行相分离,构建了应用服务器的统一的业务执行层。在保证了应用服务器端的管理需求的同时,OnceCRE还支持用户自定义的原子性,从而可以灵活的组合各种应用需求及用户偏好。 然后,针对并发运行环境中统一的任务调度可能导致的性能瓶颈及分布式应用对于服务差分的需求,提出了一种基于日历队列的优先级队列调度算法——PRAM。通过引入Markov Chain来对任务密集到达进行更加准确的响应,有效解决了日历队列在任务事件密集到达时产生的颤抖现象,保证了日历队列O(1)的时间复杂度。 最后,对OnceCRE进行了功能测试及性能测试,从实验上证明了OnceCRE在功能上的有效性及PRAM在性能上的高效性。 |
英文摘要 | Multi-thread technology is the most promising technology to build next generation distributed applications. Current Web Application Server(WAS) can only perform limited functions to support the multi-thread development and distributed applications execution, and Work Manager is the primary approach to build applications by extracting the basic demands of multi-thread and providing them to developers as a uniform programming model. As the implementation of Work Manager in the WAS, Concurrent Runtime Environment (CRE) is designed to guarantee the correct and expected working of the applications, which based on the programming model of Work Manager. Current research on CRE is still in its infant. The research results were mainly presented as two specifications: CommonJ and JSR 237. The two specifications defined the formal description of Work Manager Interface and some interoperation issues between applications and the programming model, but did not state how to interoperate between the programming model and the WAS. To solve this problem, this paper investigates the differences between CRE and the traditional runtime environment in WAS, summarizes some non-function needs of CRE, and later gives corresponding solutions including concurrent control, failure recovery, overload protection, execution space isolation, etc. Firstly, we analyse the disadvantages of the traditional system architecture of WAS and the benefits of introducing the CRE into the WAS system architecture. Then we discuss several key technologies in Work Manager and CRE in academic circles and industrial community, and give the basic function and non-function needs of CRE, like Min/Max threads control, schedule strategy, stuck thread detector, etc. Secondly, we propose an implementation of CRE----OnceCRE, which based on CommonJ specification. By redrawing the business logic of WAS and separating the executing from the transferring process of the work, OnceCRE constructs a uniform execution layer in the WAS. Also, OnceCRE supports the atomicity of user-oriented rules, which can be composed flexible to express various needs of users in how to execute works concurrently in the WAS. Furthermore, the framework we present of OnceCRE can meet the needs of WAS’s management. Then, considering the bottleneck caused by task scheduling probably and services difference needs of applications, we present a new algorithm PRAM (Predict Resizing Algorithm based on Markov) which based on calendar queue. By the reason of introducing the Markov Chain to describe the arrival of the request, PRAM can give much more correct responses to the skew events distributions by avoiding unnecessary resizing of calendar queue. PRAM offers consistent O(1) time complexity over uneven distribution and gains better performance. Finally, we design the testing model of OnceCRE to prove the validity of function and high efficiency of performance. Function testing focus on the correct use of the function point. In performance testing, PRAM is verified to be have the higher efficiency by comparing with some other algorithms in the TPC-W benchmark. |
语种 | 中文 |
公开日期 | 2011-03-17 |
页码 | 79 |
源URL | [http://124.16.136.157/handle/311060/7134] ![]() |
专题 | 软件研究所_软件所图书馆_早期 |
推荐引用方式 GB/T 7714 | 张磊. 基于WorkManager的Web应用服务器并发运行环境的设计与实现[D]. 软件研究所. 中国科学院软件研究所. 2008. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。