欢迎来到天天文库
浏览记录
ID:33297368
大小:287.40 KB
页数:3页
时间:2019-02-23
《基于多核处理器的并行编程模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第35卷第8期计算机工程2009年4月Vol.35No.8ComputerEngineeringApril2009·软件技术与数据库·文章编号:1000—3428(2009)08—0062—03文献标识码:A中图分类号:TP311.52基于多核处理器的并行编程模型伊君翰(复旦大学并行处理研究所,上海201203)摘要:为解决传统编程模型与并行架构间存在的矛盾,针对多媒体和网络应用程序的特点,提出一种基于多核处理器的并行编程模型,该模型采用节点化的并行程序描述方式,将并行编译器划分到多个核上运行。实验结
2、果表明,这种新的并行编程模型能有效提高程序的执行效率。关键词:编程模型;并行;多核;编译器ParallelProgrammingModelBasedonMulti-coreProcessorYIJun-han(InstituteofParallelProcessing,FudanUniversity,Shanghai201203)【Abstract】Tosolvethecontradictionbetweentraditionalprogrammingmodelandparallelstructure
3、,aimingatthecharactersofmultimediaandnetworkapplicationprogram,aparallelprogrammingmodelbasedonmulti-coreprocessorisproposed,whichusesparallelprogramdescriptionmodesfornodestomaketheparallelcompilersruninmult-cores.Experimentalresultsshowthisnovelmodelc
4、anpromotetheefficiencyofprogramrunningeffectively.【Keywords】programmingmodel;parallel;multi-core;compiler1概述难的。处理器不断发展,由纯粹的频率提升逐渐转到多核运算(2)扩展串行编程语言。通过增加函数调用或者编译指令及并行执行的方向上。与单核处理器相比,多核处理器能够来表示低层语言以获取并行程序。用户能够利用已经存在的以更低的频率处理更高的工作负载,因此,能在提升处理器库函数创建和结束并行进程或线
5、程,并提供同步与通信的功性能的情况下降低功耗,减少散热。如果程序员编写的程序能函数等。这种方法可以以较小的代价修改源码,并得到较没有针对多核的特点来设计,那就不能完全获得多核处理器好的并行程序。带来的性能提升。为充分利用多核性能,需要设计一种并行(3)创造一个并行编程模型。这也是本文所采取的设计方编程模型来编写更高效的多核程序。特别是在多媒体和网络法。通过创建新的并行模型以及支持该模型的并行编译器,应用中,处理器的利用率显得尤为重要。此类应用计算量大,使程序和多核平台架构有很好的结合。对实时性要求高。
6、如何在多核环境下更好地发挥处理器的性扩展编译器或串行语言的方式都是以串行语言为基础,能优势,满足多媒体和网络应用的需求就成了当前面临的主它们都不能解决串行模型和并行平台之间矛盾这一根本问要问题。为解决这个问题,本文提出一种新的并行编程模型,题,特别在一些特殊的领域,如多媒体和网络应用,传统编该模型基于多核架构,将单一程序划分为可并行执行的多个程语言本身在这类应用上匹配性就不高,只有通过并行编程任务分配到多个核上,通过优化调整达到负载平衡,更加有模型才能让多核架构的优势得以发挥。效利用多核处理器的每个核
7、心,从而获得较大的性能提升。2.2多媒体和网络应用2背景在多媒体及网络应用中,如音视频编解码、网络数据的传输和分析等,它们的应用对程序的性能提升有较高要求。2.1并行编程模型串行编程模型和并行架构的矛盾日益突出,这就迫切需这类应用主要以一种“流”(streaming)形式存在,数据量大、[2]要根据多核的平台架构来设计一种并行编程模型,使基于新数据流方向性基本单一,对实时性要求高。的编程模型生成的程序可以在多核平台上执行效率更高,性此类应用本身就有很好的并行性,但在传统的串行架构能更优越[1]。上很难
8、再做进一步优化,给多核的并行化平台带来了机遇。并行程序的设计方法主要有以下3种:本文没有采用扩展编译器或扩展串行编程语言的方法,而是(1)扩展编译器。通过开发并行化编译器,使其能够发现创建一个新的并行编程模型——ComponentCStreaming和表达现有串行语言程序中的并行性,直接编译出并行程序。Language,多媒体应用程序虽然数据流庞大,但过程控制流这种把并行化的工作留给编译器的方法虽然降低了编写并行程序的成本,但由于程序的复杂性,编译器不能
此文档下载收益归作者所有