| 本文已被:浏览 5261次 下载 8940次 |
 码上扫一扫! |
|
|
| 面向同步规范的并行代码自动生成 |
|
胡凯,张腾,尚利宏,杨志斌,Jean-Pierre TALPIN
|
|
1.软件开发环境国家重点实验室 北京航空航天大学 计算机学院, 北京 100191;2.南京航空航天大学 计算机学院, 江苏 南京 210016;3.Toulouse Institute of Computer Science Research, Toulouse, France;4.Institut National de Recherche en Informatique et en Automatique INRIA Rennes, Rennes, France
|
|
| 摘要: |
| 随着对安全攸关实时系统功能与非功能要求的日益增加,使用多核技术将成为发展趋势.如何在多核平台条件下保证系统运行的可信任性及可靠性是学术上和应用上的关键问题.目前基于形式化方法的系统设计、验证以及自动代码生成已在单核平台上形成很多研究成果,但在多核平台上的研究仍面临许多科学问题.同步语言SIGNAL是一种被广泛应用于安全攸关实时系统功能设计的形式化方法,适用于对系统确定性并发行为的描述.SIGNAL编译器也支持将同步规范(synchronous specification)生成仿真代码,以对其进行验证与分析.然而,现有研究较少关注从SIGNAL同步规范到支持跨平台并行代码的生成方法.研究了面向SIGNAL同步规范的并行自动代码生成方法.提出了方程依赖图EDG的概念,将SIGNAL规范转换为EDG以分析其全局数据依赖关系;研究了对EDG进行任务划分获取规范中可以并行执行部分的算法;最后,以跨平台并行编程API-OpenMP作为对象,结合程序中信号的时钟关系,将并行任务映射到OpenMP并行代码,并进行了实例验证. |
| 关键词: 同步规范 SIGNAL 并行程序 代码生成 OpenMP |
| DOI:10.13328/j.cnki.jos.005056 |
| 分类号: |
| 基金项目:国家自然科学基金(91538202,61672074);软件开发国家重点实验室基金(SKLSDE-2016ZX-16) |
|
| Parallel Code Generation from Synchronous Specification |
|
HU Kai1, ZHANG Teng1, SHANG Li-Hong1, YANG Zhi-Bin2,3, Jean-Pierre TALPIN4,5
|
|
1.State Key Laboratory of Software Development Environment School of Computer Science and Engineering, Beihang University, Beijing 100191, China;2.College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China;3.Toulouse Institute of Computer Science Research, Toulouse, France;4.Institut National de Recherche en Informatique et en Automatique INRIA;5.Rennes, Rennes, France
|
| Abstract: |
| As functional and non-functional requirements on safety critical real time systems stack up, the development of multi-core technology in these systems has become a trend. How to guarantee the credibility and reliability on the multi-core platform, however, is the key problem in both academic and industry. While many theoretical and applied achievements have been accomplished on the single-core platform, there are still a lot of scientific problems need to be solved on the multi-core platform. Suitable for describing concurrency behaviors, synchronous language SIGNAL is a formalism widely used in the functional design of safety critical real time systems. The SIGNAL compiler supports generating the simulation code from the synchronous specification to verify and analyze the properties of the system model. However, existing studies pay less attention to the generation of multi-platform parallel simulation code from SIGNAL specification. This paper proposes a methodology for automatically generating parallel code from SIGNAL specifications. First, equation dependency graph (EDG) is defined and the specification is translated to analyze the global data dependency relations. Then EDG is partitioned to explore the parallelism of the specification. Finally, altogether with clock relations, parallel tasks are mapped into OpenMP structures. A case study is provided to illustrate the proposed methodology. |
| Key words: synchronous specification SIGNAL parallel program code generation OpenMP |