首页> 外文会议>Modelling and Simulation 2015 >Function Slices: A Model to Extract Parallelism from Sequential Applications
【24h】

Function Slices: A Model to Extract Parallelism from Sequential Applications

机译:功能片:从顺序应用程序中提取并行性的模型

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

摘要

Software development is still largely based on the sequential programming paradigm. This however does not fit modern multi- or many-core architectures. Writing efficient code for parallel systems often costs more than the benefit it provides. A different solution is necessary to accomplish the balancing act between current processors and keeping existing source code and well-known development processes. One approach is the automatic generation of parallelized executables from a sequential functional description. This paper presents a model and strategy to generate fragments of the original source code for concurrent execution. The internal structure is therefore mapped to a novel representation. Characteristics of this model and their influence on finding and using parallelism in sequential software are shown. The fundamental units in this model have known and fixed relations among each other. This will allow a rearrangement without side effects. To implement automatic slicing, information regarding the inter-procedural dependencies, extracted from an inter-procedural data flow analysis is necessary. A static analysis cannot provide sufficient information about all data dependencies. When it is insufficient, runtime analysis will be used. Based on the control and data flow analysis parallelizable regions can be found. Different strategies for restructuring the software are possible. The transformations are not based on the parallel programming paradigm, but completely renounce the explicit programming of parallelism as is possible with programming interfaces such as MPI or OpenMP. Furthermore, other limitations in the sequential code like nested loops cannot be assumed. The analysis is independent from a special target architecture. The interconnection to code generation tools can be used for application synthesis.
机译:软件开发仍主要基于顺序编程范例。但是,这不适合现代的多核或多核体系结构。为并行系统编写高效的代码通常要花费比提供的好处更多的钱。为了实现当前处理器之间的平衡并保持现有源代码和众所周知的开发过程,必须使用其他解决方案。一种方法是根据顺序功能描述自动生成并行化的可执行文件。本文提出了一种模型和策略,用于生成原始源代码的片段以进行并行执行。因此,内部结构映射为新颖的表示形式。显示了该模型的特性及其对在顺序软件中查找和使用并行性的影响。此模型中的基本单位彼此之间具有已知的固定关系。这将允许重新排列而没有副作用。为了实现自动切片,需要从过程间数据流分析中提取有关过程间相关性的信息。静态分析无法提供有关所有数据依赖项的足够信息。当不足时,将使用运行时分析。基于控制和数据流分析,可以找到可并行区域。重构软件的不同策略是可能的。转换不是基于并行编程范例,而是完全放弃了使用MPI或OpenMP之类的编程接口可能的显式并行编程。此外,不能假定顺序代码中的其他限制(例如嵌套循环)。该分析与特殊的目标体系结构无关。与代码生成工具的互连可用于应用程序综合。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号