计算机科学与探索 ›› 2011, Vol. 5 ›› Issue (6): 513-521.

• 学术研究 • 上一篇    下一篇

并行程序自动优化虚拟化框架

谭郁松, 吴庆波   

  1. 国防科学技术大学 计算机学院, 长沙 410073
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2011-06-01 发布日期:2011-06-01

Parallel Program Automatic Optimizing Virtualized Framework

TAN Yusong, WU Qingbo   

  1. School of Computer, National University of Defense Technology, Changsha 410073, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2011-06-01 Published:2011-06-01

摘要: 支持程序自动并行化的本质是判定相互之间不存在相关的代码块, 因此如何精确地获取包括控制流图和数据流图在内的程序运行时行为成为程序自动并行化的基础。将虚拟机技术运用于并行程序优化领域, 设计了基于虚拟机的程序自动并行化框架Vapor, 提出了基于二进制翻译技术的超块指令置位替换策略(super block-based in-place replacement, SBIPR), 以此获取并行程序的真实运行时行为, 构建准确的程序运行时数据流图和控制流图, 判定程序的可并行执行代码段粒度, 从而提高程序的并行执行性能。实验结果表明Vapor 具有良好的性能。

关键词: Vapor, 虚拟机, 二进制翻译, 自动并行化, 程序运行时监控

Abstract: The essential technology of program automatic parallism is to get some code blocks without any dependence each other. Therefore, it is important to collect program run-time behaviors including control flow and data flow. Using virtualization method, this paper proposes a novel program automatic parallelizing framework, named as Vapor. With help of binary translation technologies, Vapor uses super block-based in-place replacement (SBIRP)
method to collect program run-time control flow and data flow information precisely. Moreover, it explains how to create control flow and data flow dependency graphs. Based on those dependencies, it divides program into appropriate granularity executed simultaneously. Experimental results prove that Vapor has pretty performances.

Key words: Vapor, virtual machine, binary translation, automatic parallelizing, program run-time profiling