首页> 外文会议>Annual European simulation and modelling conference >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.
机译:软件开发仍然基于连续编程范例。然而,这不适用于现代多核或多核架构。编写Parallate Systems的高效代码通常成本超过它提供的福利。需要不同的解决方案来完成当前处理器之间的平衡行为并保持现有源代码和众所周知的开发过程。一种方法是从顺序功能描述自动生成并行化可执行文件。本文提出了一种模型和策略,用于生成原始源代码的片段以进行并发执行。因此,内部结构映射到新颖的表示。显示了该模型的特征及其对序列软件中的寻找和使用并行性的影响。该模型中的基本单位已知和固定彼此之间的关系。这将允许重新排列而没有副作用。为了实现自动切片,需要从过程间数据流分析中提取的程序间依赖项的信息是必要的。静态分析不能提供有关所有数据依赖性的足够的信息。当它不足时,将使用运行时分析。基于控制和数据流分析,可以找到并行区域。可以进行不同重组软件的策略。转换不是基于并行编程范例的,但是通过诸如MPI或OpenMP的编程接口可以完全放弃并行性的显式编程。此外,不能假设嵌套循环等顺序代码中的其他限制。分析与特殊的目标架构无关。代码生成工具的互连可用于应用综合。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号