2017, 28(7):1698-1712.DOI: 10.13328/j.cnki.jos.005056
摘要:随着对安全攸关实时系统功能与非功能要求的日益增加,使用多核技术将成为发展趋势.如何在多核平台条件下保证系统运行的可信任性及可靠性是学术上和应用上的关键问题.目前基于形式化方法的系统设计、验证以及自动代码生成已在单核平台上形成很多研究成果,但在多核平台上的研究仍面临许多科学问题.同步语言SIGNAL是一种被广泛应用于安全攸关实时系统功能设计的形式化方法,适用于对系统确定性并发行为的描述.SIGNAL编译器也支持将同步规范(synchronous specification)生成仿真代码,以对其进行验证与分析.然而,现有研究较少关注从SIGNAL同步规范到支持跨平台并行代码的生成方法.研究了面向SIGNAL同步规范的并行自动代码生成方法.提出了方程依赖图EDG的概念,将SIGNAL规范转换为EDG以分析其全局数据依赖关系;研究了对EDG进行任务划分获取规范中可以并行执行部分的算法;最后,以跨平台并行编程API-OpenMP作为对象,结合程序中信号的时钟关系,将并行任务映射到OpenMP并行代码,并进行了实例验证.
2014, 25(S2):101-110.
摘要:现有的OpenMP代价模型较为简单,既没有充分考虑OpenMP程序的执行细节,也无法适应不同的循环并行执行方式.针对上述问题,对最先进的产品级优化编译器Open64中已有的代价模型进行扩展,以单个并行候选循环为对象,建立一种用于OpenMP自动并行收益分析的代价模型.该模型在改进了Open64原有DOALL并行代价模型的基础上,又增加了DOACROSS流水并行代价模型和DSWP并行代价模型.实验结果表明,建立的代价模型能够较好地评估循环并行执行开销的趋势,为OpenMP自动并行化中的收益分析提供了有效的支持.
2012, 23(2):411-427.DOI: 10.3724/SP.J.1001.2012.03919
摘要:基于并行复算的故障恢复技术,将故障恢复的计算任务分配至未发生故障的结点上并行执行,从而显著缩短复算时间,有效降低故障恢复开销,提高并行程序容错性能.基于该故障恢复技术,提出了一种针对OpenMP 并行程序的容错机制PR-OMP,有效解决了分段复算、复算负载重分布等问题;此外,还扩展了传统编译数据流分析技术,提出了针对OpenMP 并行程序的数据流分析技术,并基于该技术计算状态保存开销进行优化.设计实现了用于支持PR-OMP 的编译工具GiFT-OMP,并通过实验证明了PR-OMP 机制及其支持工具的有效性,评估并分析了其性能和可扩展性.
2011, 22(9):2222-2234.DOI: 10.3724/SP.J.1001.2011.03883
摘要:以类OpenMP的并行程序为研究对象,在满足性能约束的条件下,结合异构系统并行循环调度和处理器动态电压调节技术优化系统功耗.首先建立了异构系统功耗感知的并行循环调度问题基本模型;然后,通过分析方法给出异构系统并行循环调度的能耗下界,该下界可用于评估功耗优化方法的实际效率;进而将异构系统并行循环调度问题归纳为整数规划问题,在此基础上,提出了处理器内循环再调度方法进一步降低功耗.最后,以CPU-GPU 异构系统为平台评测了10 个典型kernel 程序.实验结果表明,该方法可以有效降低系统功耗,提高系统效能.
2011, 22(9):2235-2247.DOI: 10.3724/SP.J.1001.2011.03897
摘要:基于前期工作的EOSS 算法,给出了扩展条件下的OpenMP 静态调度能量优化算法——改进的能量最优OpenMP 静态调度算法(improved energy-optimal static scheduling,简称IEOSS).该算法在原有EOSS 算法的基础上,建模了数据cache 失效造成的访存延迟对并行循环性能及能量的影响,选择最优调度块大小S*,同时结合动态电压/频率调节,获得最小能量消耗.选择NPB3.2-OMP 的5 个程序进行模拟,以480 个处理器、6
2008, 19(zk):190-201.
摘要:针对交互式系统中碰撞检测实时性、精确性的要求,提出了一种共享存储系统的并行碰撞检测算法.利用AABB包围盒较好的紧密性和包围球计算简单的优点来构建物体的混合包围体层次(S-AABB),快速排除不相交的物体以加速算法,利用OpenMP并行模型来并行遍历混合包围体层次,进一步加速碰撞检测算法.实验结果表明,与现有经典的I-COLLIDE等算法相比,该算法在效率、精确性方面具有明显优势,能够满足交互式复杂虚拟环境的实时性和精确性的要求.同时,还与已经提出的MPI及Pipelining等并行算法进行比较,从时间效率和资源消耗两个方面说明本文基于OpenMP算法的优点.
2005, 16(2):194-204.
摘要:由于指导语句动态嵌套与绑定规则的存在,OpenMP程序中线程的一些上下文只能在运行时刻才能完全确定.然而,通过编译时刻的静态分析可以部分确定指导语句的嵌套类型,这些信息可以用于指导后续的编译与优化.由于函数调用的存在,嵌套与绑定常常会跨越过程边界,除了通常的局部和全局分析之外,还需要过程间分析的支持.通过在通常的过程间分析的基础上附加信息,可以使得嵌套类型信息在过程调用图中进行传播.将这些全局信息与过程内的局部信息结合起来,就可以在编译时刻确定语句的嵌套类型.结果表明,编译时刻的嵌套类型分析可以有效地确定通常的科学与工程计算程序中指导语句的嵌套类型,基于嵌套类型的翻译与优化可以同时减少运行时开销和目标代码长度.
2004, 15(6):842-849.
摘要:共享存储和消息传递是目前两种主流的并行编程模型.一般认为,消息传递的可编程性不及共享存储友好.OpenMP是目前共享存储编程的实际工业标准.机群OpenMP系统在机群上提供了OpenMP编程环境,具有易编程和可扩展的特点,但是其性能如何一直是关注的热点.以机群OpenMP系统OpenMP/JIAJIA和典型的消息传递系