新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式ARM多核处理器并行化方法

嵌入式ARM多核处理器并行化方法

作者:时间:2016-09-12来源:网络收藏

3并行化性能分析

本文引用地址:http://www.eepw.com.cn/article/201609/303909.htm

3.1实验环境介绍

本文采用德州仪器(Texas Instruments)的OMAP4430开发平台。OMAP443O为,拥有对称多处理双核处理器(Dual-core Cortex-A、一级缓存32 KB、二级缓存1 MB,操作系统采用Ubuntul2.O4内核,编译器为arm-linux-gnueabihf-gcc,使用GNU gprof获取算法执行时间。

3.2性能测试

如下式所示,采用计算加速比的方式来分析并行优化的性能,加速比数值越大表示算法的并行程度越高,最低为1.性能测试采用4个算法版本,包括串行版本、并行2线程、并行4线程和缓存优化版,从不同角度来分析性能。

如图4所示,从折线图可以看出,3种并行化优化算法相对于串行版本,算法的并行性能都有较大提升,如表1所列,其并行加速比分别为1.30、1.29和1.21.对任务并行优化方案而言,分别使用2线程和4线程版本进行测试,从加速比的分析结果看来,2线程版本较4线程版本略好。理论上并行线程的数目越多性能越好,但本文采用OMAP443O只有两个对称多处理核心,即使算法拥有4个并行线程,但实际执行的线程只有2个,同时4个线程在获取2个物理处理器时存在竞争关系,因而造成性能较之2线程版本有所下降。

图4算法执行时间

评价并行算法优劣还需考虑算法的性,如表1、表2所列,缓存优化方案标准差远远小于任务并行化方案。究其原因,对于任务并行化方案而言,不同的测试数据以及划分算法(partition)对区间的划分有重要影响,从而造成任务执行时间变化范围很大;对于缓存优化方案而言,其实质是数据并行,其每一个任务都是根据缓存大小进行划分,因此每一个任务处理的数据规模基本一致,每一个任务执行的时间更确定,但由于并行任务执行完成后,需要对数据进行归并,造成一定的性能下降。

结语

本文通过对嵌入式硬件结构的分析,从对称多处理角度对串行快速排序算法进行并行化优化,取得了很好的效果。

双核处理器(OMAP4430)作为测试平台,从任务并行和缓存优化实现并行优化,从性能测试的结果看,任务并行具有良好的加速比,但性差,并行线程数目不应超过物理处理器核的数目,过多的并行线程竞争处理器资源,造成性能下降。缓存优化具有良好的性,但需要后续进行归并操作,造成性能有所下降。

总之,在嵌入式上进行并行化优化,一方面要充分发掘嵌人式多核处理器的并行性能,提高程序的并行性;另一方面也要考虑程序算法的负载均衡性,确保在不同应用环境中程序性能一致。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭