牛根,张福新.系统级二进制翻译器的并行刷新机制[J].高技术通讯(中文),2025,35(4):339~349 |
系统级二进制翻译器的并行刷新机制 |
Parallel flushing strategy of system-level binary translator |
|
DOI: |
中文关键词: 二进制翻译; 进程切换; 代码块; 地址转换; 虚拟化 |
英文关键词: binary translation, context switch, code block, address translation, virtualization |
基金项目: |
作者 | 单位 | 牛根 | (处理器芯片全国重点实验室(中国科学院计算技术研究所)北京 100190)
(中国科学院大学北京 100049) | 张福新 | |
|
摘要点击次数: 6 |
全文下载次数: 8 |
中文摘要: |
系统级二进制翻译器可以模拟完整的客户机操作系统,从而支持运行各种客户机应用程序。对于一个操作系统来说,进程切换的性能是一个重要指标。然而在翻译器的模拟环境下,客户机进程切换过程更加复杂,面临着更大的开销。本文深入分析了系统级二进制翻译器中客户机进程切换的行为,发现其瓶颈在于翻译器内部软件缓存结构的刷新。为了解决这个问题,本文提出了并行刷新机制,将软件缓存结构的刷新操作从负责模拟客户机处理器运行的线程中分离,避免阻塞客户机处理器的运行。测试结果表明优化后进程切换的效率明显提高,平均达31.30%。此外,刷新操作的分离使得软件缓存结构的容量可以更大,有利于进一步提高性能。SPEC CPU2000测试结果表明,性能提升最高可达38.00%,平均达到15.00%。 |
英文摘要: |
System-level binary translators can emulate complete guest operating systems to support various guest applications. Context-switching performance is a significant indicator for an operating system. However, context switching faces higher overheads under emulation. This work analyzes the behavior of context switches in the guest operating system running in system-level binary translator, identifying software cache flushing as the central bottleneck. To address this problem, we propose a parallel flushing strategy that offloads cache flush operations from the thread emulating the guest processor to avoid blocking the execution. Evaluation results show that the efficiency of optimized context switching is increased by an average of 31.30% compared to the unoptimized version. Moreover, parallel flushing allows enlarged software caches, which can further improve the overall performance. Experimental results with SPEC CPU2000 benchmark demonstrate a maximum 38.00% and average 15.00% speedup. |
查看全文
查看/发表评论 下载PDF阅读器 |
关闭 |