免费论文查重: 大雅 万方 维普 turnitin paperpass

研讨多核多核处理器体系中软件开发案例初探站

最后更新时间:2024-01-17 作者:用户投稿原创标记本站原创 点赞:7289 浏览:23288
论文导读:
摘要:计算机多核处理器的普及给计算机技术的发展带来新的机遇和挑战。通过分析多核平台上软件开发面临的问题,提出一套基于多核平台的软件开发方案,从需求分析、并行模型分析、并行算法分析、程序编译、优化算法性能等方面进行方案设计。该方案的实施为程序员开发多核应用程序提供了有力保障。
关键词:多核处理器 多线程 并行编程
1007-9416(2013)05-0198-01
1 引言
目前,在信息化高速发展的社会中,随着数据处理量的增大,用户对计算机的计算速度和处理能力都提出了更高要求,仅通过单核处理器不断提高频率的方法已经不能满足人们的需求。因此,多核处理器应运而生,其提高了系统性能、降低了系统功耗,得到了广泛的普及和应用。多核处理器已经应用于各种多媒体设备、商务服务器、嵌入式设备、高性能计算机等领域。
多核系统从传统的片外处理逐步变成片上处理,并且客户端环境复杂多变,所以传统的并行软件开发方法已经不实用。本文通过分析多核平台上软件开发面临的问题,研究了基于多核平台下多线程并行编程模型,提出一套基于多核平台的软件开发方案,为程序员开发多核应用程序提供保障。
2 多核处理器平台中软件开发面临的问题
当处理器变为多核后,软件开发面临的问题包括:
(1)并行处理:如何将整体的数据或任务分布到各个不同的处理器内核上,并且可以同时独立执行程序。(2)并行控制:如何控制各个处理器内核之间的关系,使各个处理器核之间相互合作,形成一个完整的体系结构。在处理数据时,能快速准确的调用各个处理器核上的算法。(3)数据均衡:如何合理的将需要处理的数据分配到各个不同的处理器内核上,防止出现数据处理分配失衡现象,导致整个多核平台出现运行故障。(4)动态处理:由于多核平台处理的数据量非常大,处理器内核可能会增加,所以如何实现并行程序能够适应处理器内核数目动态变化的问题也是软件开发面临的一个严重的问题。
3 多核处理器平台软件开发方案
针对多核系统软件开发面临的问题,提出了一套完整的基于多核平台上的软件开发方案。软件开发方案如图1所示,主要包括需求分析、并行模型分析、并行算法分析、程序编译、优化算法性能等几个步骤。
(1)需求分析:对要解决的问题进行详细分析,弄清楚问题的要求。基于多核平台软件开发方案要从技术、成本、经济效益等多个角度分析其采用并行模型的价值。此外,我们要分析待解决的问题能否将其大量的数据被分割成若干个数据集;是否具有可被分解成同时处理数据的能力;是否可以将数据分割成若干个相对独立的过程进行处理。
(2)并行模型分析:根据问题的需求分析,对其并行处理方式进行分析并确定处理方式。并行模型主要分为任务模型、数据模型。任务模型是按照执行的功能不同将其分类处理,使各个独立的任务可以同时独立运行。并分析各个任务间依存关系,理清将要执行的任务顺序,为下一步摘自:学术论文翻译www.7ctime.com
算法的设计打好基础。数据模型是按照所处理的数据进行划分,将其分解成若干个不同的数据集合。每一个数据集合包涵相同的操作,可以将其视为一个任务处理。
(3)并行算法分析:根据并行模型对其进行算法的分析设计。通常将并行算法设计成多线程并发执行,确保算法的完善性和准确性。为了确保并行计算的准确性必须要对共享数据进行保护。在数据模型中,必须给出数据划分的算法及将要执行操作步骤的算法。在任务模型中,将不同的任务视为一个个独立的模块,然后将针对不同模块写出相应的算法。
(4)程序编译:目前,多核平台上通常采用OpenMP进行编程,它是一种面向共享内存及分布式共享内存的多线程并行编程语言,可以支持多种语言,支持多种平台,具有可移植性。在C/C++程序中,OpenMP是以#pragma omp为开头,具体格式如下:
#pragma omp [clause[[,]clause]...]
其中的directive 部分就包含了具体的编译指导语句,主要有sections,for section,parallel,for parallel,critical,flush,ordered和atomic等。OpenMP可以通过编译指导语句,将串行程序变成并行程序,实现程序更新,减少程序员的负担。此外程序运行时,O论文导读:
penMP需要函数库支持,并会获取一些环境变量来控制运行的过程。
(5)优化算法性能:将并行执行的结果与 串行相比较来验证程序的正确性和效率,若其加速度比远远大于1则并行化的效果良好;若其小于1则必须对算法进行优化处理。对于一些简单的程序,我们可以通过读源代码查找问题的原因。但是在实际应用中,软件都十分复杂,我们采用一些专业的优化软件实现。如果进行优化处理后,其执行效率依旧很低就必须重新对该项目进行需求分析,重新确定其并行模型机并行算法。
4 结语
多核处理器的普及进一步提高了计算机的性能并降低了系统的整体功耗,成为今后计算机技术发展的主流趋势。我们的程序员应根据应用需求开发属于自己的多核操作系统及其应用软件。本文根据目前多核软件开发面临的问题,总结出一套基于多核平台软件开发方案,并且用这套方案指导一些项目的开发,实践证明该方案具有可行性及稳定性。
参考文献
Akhter S,李宝峰,译.多核程序设计技术[M].北京:电子工业出版社,2008.
周伟明.多核计算与程序设计[M].武汉:华中科技大学出版社,2009.
[3]宋刚,蒋孟奇.有限元单元计算子程序的OpenMP 并行化[J].计算机工程,2008,34(6): 80—84.
[4]霍玮,李丰.多核体系下的并行程序调试[J].中国计算机学会通讯,2011,7(8):57—63.