- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种面向TTCN3测试系统共享内存管理框架
一种面向TTCN-3测试系统的共享内存管理框架
摘要:为了提高TTCN-3测试组件间通信的性能,在基于TTCN-3的基础测试平台上设计并实现了一套支持动态切换内存管理策略的共享内存管理框架,并在该框架下实现了三套不同的共享内存分配和自动回收策略。框架能够根据系统运行时刻的共享内存统计特征在这些策略中选择性能预期最好的一套,并动态地将当前内存管理策略切换为该套方案。在基础测试平台上运行一系列并发测试用例表明,该框架能提升内存管理以及整个系统的平均性能。
关键词:测试和测试控制标记(第三版);测试系统;共享内存管理;算法动态切换
中图分类号:TP301文献标志码:A
文章编号:1001-3695(2007)07-0157-05
0引言??
TTCN-3(Testing and Test Control Notation Version 3)[1]是一种标准化测试语言,主要用于各种反应式系统的一致性测试。TTCN-3支持动态定义测试配置。测试配置由一组测试组件和一个系统组件构成。测试组件是一个执行实体,负责具体的测试行为。测试组件间通过端口进行通信,包括数据通信和相互间的同步等来完成一个具体的测试目的。??
目前已有的基于TTCN-3的测试系统均采用多线程技术实现,这种实现方式比较简单,能满足大部分黑盒测试的需要。但操作系统对线程技术存在堆栈空间大小等约束,并且当线程数量达到一定规模时,会导致系统的执行效率急剧下降。这些限制导致了采用多线程技术实现的TTCN-3运行环境无法应用于大规模的压力测试。??
基于TTCN-3,本文实现了一个支持并发环境下的黑盒测试的基础测试平台(简称基础测试平台)。该平台采用多进程技术实现,将每个测试组件映射为一个进程,避免了线程技术的局限,然而也无法利用线程间快捷的通信机制。为了实现测试组件间通信,基础测试平台使用了多种进程间通信技术,包括事件、消息和共享内存等。测试组件间要进行大量的数据通信,所以共享内存这种方式使用得最为普遍,它的性能对测试系统的运行效率影响也最大。??
共享内存的性能包括应用在共享内存上的内存分配策略、内存回收策略和同步策略等的执行效率。国际上对于内存回收算法效率与可用内存空间大小的关系研究比较多[2~4]。这些研究的目的是寻找普适的高性能内存回收算法。然而文献[5]指出,系统运行时刻的内存统计特征(数据块大小分布、拓扑结构、生命期分布、局部性和可用空间大小等)对内存管理算法的性能影响很大。在基础测试平台上运行的测试应用多种多样,不能保证运行时刻系统内存特征的相似性,单一的内存分配或回收策略难以在该系统上保持始终的高性能。??
也有少量文献提出了动态调整的策略。文献[6]根据运行时可用堆空间大小动态切换内存垃圾回收算法;文献[7]则针对成熟的垃圾回收算法动态调整堆空间大小以减少换页开销。这些调整策略依据的数据只有内存空间大小,并且只关注内存回收部分,没有考虑对内存分配策略的调整。实际上,不同的内存分配策略本身的性能相差很大,而且能够影响到内存布局,从而对内存回收的性能也产生影响。如果能够在分配时刻考虑到换页开销而将内存布局作有意识的部置,将会大大改善程序的数据局部性[5]。??
综合考虑运行时刻系统的多个内存统计特征(数据块大小分布、数据块生命期分布和可用空间大小)及进程间同步要求,提出并在基础测试平台上实现了一套支持动态切换策略的共享内存管理框架,在此框架下实现了三套基于成熟的内存垃圾自动回收算法的共享内存分配和自动回收策略:基于标记―清扫垃圾回收算法的策略(简称标记―清扫策略)、基于节点复制垃圾回收算法的策略(简称节点复制策略)和基于分代式垃圾回收算法(分代内采用标记―清扫算法)的策略(简称分代策略)。??
框架能够根据内存特征,在这些策略中选择性能预期最好的一套,并动态地将当前内存管理策略切换为该套方案。在基础测试平台上运行一系列并发测试用例表明,与使用单一策略相比,该框架能显著提升共享内存管理子系统和整个基础测试平台的平均性能。??
1共享内存管理框架的设计和实现??
本文设计的支持切换的共享内存管理框架的总体结构如图1所示。??
ShmManager对外提供内存操作接口;ShmManager使用统计工具来记录单次事件,包括内存的分配、回收和策略的切换等;具体的内存操作由SharedMemory类实现。SharedMemory实际上是一个接口类,与各种内存管理策略的具体实现构成Strategy设计模式[8],支持策略的切换,这部分的具体实现在下文介绍。切换工具依据切换时机定义、切换规则和统计工具的统计结果操控StrategyManager类,进行实际的
您可能关注的文档
最近下载
- DB 1502T 037-2025 湿地植被固碳增汇技术规程.docx VIP
- 中国近现代史纲要复习资料大全(全本版)《纲要》复习题.doc VIP
- 2025年施工员之土建施工专业管理实务通关试题库(有答案).docx VIP
- 新闻稿范文(30篇).docx VIP
- 聚焦学业质量标准的高中生物学分层作业设计.docx
- 【安利纽崔莱】万能配方.docx VIP
- 基于STM32的智能垃圾桶优化设计与实现.doc VIP
- 麻醉药品基数申请表.docx VIP
- DGTJ08-2381-2021 既有多层住宅加装电梯技术标准.docx VIP
- 2025至2030中国制糖行业调研及市场前景预测评估报告.docx
文档评论(0)