首页> 外文会议>Parallel and distributed computing and networks ; Software engineering >HANDLING OF INTER-THREAD MEMORY ACCESS DEPENDENCIES FOR AUTOMATIC BINARY-CODE PARALLELIZATION
【24h】

HANDLING OF INTER-THREAD MEMORY ACCESS DEPENDENCIES FOR AUTOMATIC BINARY-CODE PARALLELIZATION

机译:自动二进制码并行化的线程间内存访问依赖关系的处理

获取原文
获取原文并翻译 | 示例

摘要

Now the multi-core processors are widely available every where, and the speedup with thread-level parallelization of sequential programs becomes quite important. In general, thread-level parallelization are performed using the source code of the target program, but the source code are not al ways available. In order to realize the parallelization of existing sequential programs without need of the source codes, we have developed the software system that can au tomatically parallelize the executable binary codes of the programs at thread level, with binary translation. For thread-level parallelization, it is necessary to cor rectly analyze the data dependencies of variables between threads. However, since the memory accesses for the ref erence of variables are performed by specifying the target addresses using the registers and the values of the regis ters are generally unknown until execution, it is not easy to identify the variables located on memory and to examine the data dependencies. This paper discusses the analysis for the data dependencies of variables located on memory and the thread-level parallel processing based on the analysis results, in our automatic thread-level parallelization system by binary translation. The binary-level variable analysis statically analyzes and identifies the variables on memory in order to examine the data dependencies between threads. This is the method for identifying the variable by compar ing the calculation trees that represent the target addresses of variables. And the runtime inspection of memory ac cess dependencies hardware guarantees the correct parallel execution for the parallelized binary code containing data dependencies that cannot statically determined.
机译:现在,多核处理器可在任何地方广泛使用,并且顺序程序的线程级并行化的加速变得非常重要。通常,线程级并行化是使用目标程序的源代码执行的,但始终无法使用源代码。为了在不使用源代码的情况下实现对现有顺序程序的并行化,我们开发了一种软件系统,该系统可以通过二进制转换自动并行化线程级别的程序的可执行二进制代码。对于线程级并行化,有必要正确分析线程之间变量的数据依赖性。但是,由于通过使用寄存器指定目标地址来执行对变量的引用的存储器访问,并且在执行之前通常不知道寄存器的值,因此识别位于存储器上的变量并检查变量并不容易。数据依赖性。本文在分析结果的基础上,讨论了在我们的自动线程级并行化系统中通过二进制翻译对内存中变量的数据依赖性进行分析以及线程级并行处理的方法。二进制级变量分析静态分析并标识内存中的变量,以便检查线程之间的数据依赖性。这是通过比较代表变量目标地址的计算树来识别变量的方法。内存访问相关性硬件的运行时检查可确保并行化二进制代码包含无法静态确定的数据相关性的正确并行执行。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号