首页> 外文会议>Annual workshop on Microprogramming;Workshop on Microprogramming >Using an oracle to measure potential parallelism in single instruction stream programs
【24h】

Using an oracle to measure potential parallelism in single instruction stream programs

机译:使用oracle衡量单个指令流程序中潜在的并行性

获取原文

摘要

Horizontally microprogrammable CPUs belong to a class of machines having statically schedulable parallel instruction execution (SPIE machines). Several experiments have shown that within basic blocks, real code only gives a potential speed-up factor of 2 or 3 when compacted for SPIE machines, even in the presence of unlimited hardware. In this paper, similar experiments are described. However, these measure the potential parallelism available using any global compaction method, that is, one which compacts code beyond block boundaries. Global compaction is a subject of current investigation; no measurements yet exist on implemented systems.

The approach taken is to first assume that an oracle is available during compaction. This oracle can resolve all dynamic considerations in advance, giving us the ability to find the maximum parallelism available without reformulation of the algorithm. The parallelism found is constrained only by legitimate data dependencies, since questions of conditional jump directions and unresolved indirect memory references are answered by the oracle. Using such an oracle, we find that typical scientific programs may be sped up by anywhere from 3 to 1000 times. These dramatic results provide an upper bound for global compaction techniques. We describe experiments in progress which attempt to limit the oracle progressively, with the aim of eventually producing one which provides only information that may be obtained by a very good compiler. This will give us a more practical measure of the parallelism potentially obtainable via global compaction methods.

机译:可水平编程的CPU属于一类具有静态可调度并行指令执行的机器(SPIE机器)。几个实验表明,在基本块中,即使在存在无限硬件的情况下,为SPIE机器压缩时,实际代码也只能提供2或3的潜在加速因子。在本文中,描述了类似的实验。但是,这些方法可使用任何全局压缩方法(即一种将代码压缩到块边界之外的方法)来衡量潜在的并行性。全局压缩是当前调查的主题;在已实施的系统上尚无度量标准。

所采用的方法是首先假设在压缩期间有一个oracle。该预言机可以提前解决所有动态问题,从而使我们能够找到可用的最大并行度,而无需重新编写算法。发现的并行性仅受合法数据依赖项的约束,因为条件跳转方向和未解决的间接内存引用的问题由oracle回答。使用这种预言机,我们发现典型的科学程序可能会加速3到1000倍。这些惊人的结果为整体压实技术提供了一个上限。我们描述了正在进行的实验,这些实验试图逐步限制预言机,目的是最终产生仅提供可以由非常好的编译器获得的信息的预言机。这将为我们提供一种更实用的方法,用于通过全局压缩方法可能获得的并行性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号