【VC++开源代码栏目提醒】:网学会员,鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“多核平台下的多线程并行编程 - 期刊论文”一文,供大家参考学习!
2010年9月 阴山学刊 Sep.2010第24卷第3期 YINSHAN ACADEMIC JOURNAL V01.24 No.3 多核平台下的多线程并行编程 于方 (包头师范学院信息科学与技术学院,内蒙古包头014030) 擒要:本文主要研究多核处理器平台上的多线程并行编程方法,重点讨论了当前流行的OpenMP和Mj. crosoft Visual Studio 2005多核多线程并行编程技术以及基于TBB的多核并行编程模型。
事实表明。
基于多核 平台选行多线程并行编程能够充分利用多核体系结构的优势,提高计算效率、获得高水平的计算性能,已经成 为未来实现个人低成本并行计算和多核软件技术发展的趋势。
关键词:多核;多线程;并行编程;OpenMP;TBB 中图分类号:mll文献标识码:A文章编号:1004—1869(2010)03—0033—040 引言 的有结合共享存储编程工具OpenMP和Microsoft 多核是计算机、集成电路发展的结果,多核处理 Visual Studio 2005的多核多线程并行编程方法,以 及基于TBB的多线程并行编程模型。
这种结合多器带来了更高的系统性能、更低的系统开销和更低的功耗,多核平台正在得到越来越广泛的普及和应 核平台特点和并行计算优点的方法,能够获得高水用。
多核的出现对现有的体系结构研究、应用
软件 平的计算能力和程序性能。
设计、编译技术和操作系统核心算法等方面都带来 1 多核处理器与并行编程模型深远影响,成为未来计算机技术发展的重要方向。
2006年,Intel和AMD推出了双核处理器,之后以前对单核处理器的研究主要集中在提高频率和指 又发布了四核处理器;2007年1月英特尔展示了配令级并行度等,而对多核体系的研究则更加关注核 置两个四核处理器的八核
计算机,多核处理器已全与核之间的协作、共享资源的分配和提高线程级并 线进入市场,计算机多核时代开始真正到来。
在未行度等方面。
显然,传统的单线程程序无法利用多 来的几年里,处理核的数目会越来越多。
多核核CPU多线程并发执行的能力,这会极大地浪费多 (Multi—Core)一般是指单个裸片上具有多个可见核CPU的运算能力。
因此,为了充分利用多核的性 的处理器,并且这些处理器各自拥有独立的控制和能和资源优势,在多核系统中必须以并行计算的思 工作状态,互相之间无需共享关键资源。
¨。
从操作维方式来设计算法。
系统角度来看,多核处理器就像是多个处理器,它将 目前已有多种多核平台下的并行编程方法和技 多核处理器的每一个执行内核看成是一个独立拥有术,大都是基于多线程编程思想,通过创建多个线程 所有资源的处理器。
多核处理器不同于单核下的模将一个规模较大的任务划分为几个小任务分配到多 拟并发,在多核架构下,每个单一内核都拥有自己独个核上同时并行执行,提升处理器的利用率。
较常 立的Cache以及一组相关硬件资源。
当并行的线程见的有Windows下的Win32/MFC线程API和Linux 在多个内核上执行时,彼此之间不受干扰和影响,这下的POSIX threads等,然而由于实际可操作性和对 实现了真正意义上的多线程并行,充分地利用了编程人员要求等方面的原因限制,这些低层次的多 CPU性能。
线程并行编程方法的效率不是很高。
当前比较流行 为了充分利用多核性能,需要采用适合的并行 收稿日期:2010—05—26 作者简介:于方(1980一),女,内蒙古包头人,硕士,讲师,研究方向:并行计算、多核并行程序
设计。
33 万方数据编程模型来编写更高效的多核程序。
常见的并行编 程、管理线程和终止线程等接口,使用Windows事件程模型主要是消息传递模型和共享存储模型。
消息 进行线程间通信以实现多线程编程。
MFC是微软传递模型由多个进程组成,每个进程都有自己的控 基础函数类库