基于多核与众核结构的并行编程模型研究
2014-04-01,
中原工学院学报 2014年3期
,
(中原工学院,郑州 450007)
近半个世纪以来,处理器的计算速度基本上每18到24个月都要提升一倍。然而,由于单核处理器功耗和散热等问题的存在,通过提升芯片时钟频率来无限制地提升性能已不再可能,于是科学家们又开始了对多核、众核处理器技术的探索。
多核芯片是通过在单个芯片上集成多个核心而成的,但这种架构受到物理规律的限制,即受到功耗、互连线延时和设计复杂性等因素的制约。在这种背景下,众核[1]应运而生。所谓众核,是指在单个处理器中集成多个简单的处理器核,即指芯片中拥有大于等于8个核心的处理器。与单核和多核处理器相比,众核处理器计算资源密度更高,片上通信开销更低,更多的晶体管和能量可以胜任更为复杂的并行处理应用[2]。
从存储方式上划分,并行编程模型分为共享存储模型和分布式存储模型。而在多核处理器的实际系统中,通用计算又造就了异构并行编程模型。
本文就基于多核和众核体系结构的并行编程模型——共享存储编程模型、消息传递模型、异构编程模型和混合编程模型进行分析研究。
1 共享存储编程模型
在共享存储编程模型中,各个处理器可以对共享存储器中的数据进行存取,数据对每个处理器而言都是可访问的,不需要在处理器之间进行传送,即数据通信是通过读写共享存储单元来完成的。常见的共享内存编程模型有:POSIX Threads、OpenMP[3]。
1.1 POSIX Threads
POSIX(Portable Operating System Interface of UNIX) Threads,简称为Pthreads,是一个可移植的多线程库,它提供了在多个操作系统平台上一致的程序设计接口。……
登录APP查看全文
