基于多核的.NET并行编程关键技术研究

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:vovo10
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着并行计算技术和多核处理器的快速发展,应用程序的性能由单纯依赖于处理器频率的提升已经转向多核并行执行,而传统串行编程方式已经无法充分利用多核处理器计算资源获得性能提升。计算机软件都将面临并行程序设计与实现的挑战,掌握并行编程技术迫在眉睫,如此才能充分挖掘并利用多核处理器硬件发展的成果。因此,本文主要针对多核平台的并行编程关键技术进行研究。论文的研究工作主要包括以下几点:  (1)结合国内外的研究现状,对多核处理器体系结构、并行程序性能评测指标以及当前流行的多种并行编程模型进行分析。  (2)针对Microsoft.NET Framework 4.0中基于任务的并行编程框架,重点研究任务并行库TPL(Task Parallelism Library)的任务并行模型、数据并行模型和PLINQ(Parallel Language Integrated Query)模型,并总结基于.NET框架的若干并行编程关键技术。  (3)通过对并行模型和关键技术的进一步分析,提出与应用程序特点相结合的并行程序设计的总体方案,以及深入研究.NET默认数据分区策略和任务调度机制、默认流水线机制,并分析其中的不足。  (4)提出一种基于数据并行模型的用户自定义的数据分区策略优化方法,以及探索基于数据和任务混合并行模型的平衡流水线的优化方法。  (5)分别设计与实现数据并行与数据和任务混合模型的两个并行应用程序,对本文研究的优化方法进行验证。  实验结果表明本文所研究的优化方法能充分利用多核处理器计算资源,明显缩短问题求解的时间,提高执行效率和程序运行加速比。本文提出的并行程序设计方案和优化方法对.NET编程人员实现并行程序提供了一定的借鉴和参考意义,能够有效地指导.NET用户实现任务的高效并行处理,从而充分提高多核资源利用率,最终使应用程序能够得到高效、快速的执行。
其他文献
伴随当前三维快速原型技术的飞速发展及商业化,大量数字模型通过三维打印等技术完成实体化并被投入商业应用中,从而也带来了模型管理以及版权保护的需求。传统水印算法面向数字
近年来,数据密集型计算越来越得到相关学者的关注。数据密集型计算环境下的数据具有海量、高速变化、分布、异构、半结构化或非结构化的特点,传统的数据挖掘算法已经不能满足
当用户面对经过本体标注过的大量实例时,如何快速的挖掘出对用户有用的信息仍是研究人员迫切需要解决的问题。聚类作为一种无监督的分类方法是对大量实例数据处理的重要手段,但
随着科技的进步和社会的发展,机器人技术成为当今世界备受关注的前沿课题。与此同时,随着人类在非规整复杂地形的各种活动增多,以及对具有潜在危险区域或者人员无法进入区域
随着对算法运算速度要求的提高,一些用软件实现的算法已满足不了实时性的要求。因此,充分利用硬件电路的并行性和快速运行的特点,实现算法硬化,成为算法研究的一个新方面。本文工
随着互联网的迅猛发展,信息正在以指数形式飞速增长。通过互联网人们可以轻而易举地获取大量的信息,从而对自己的行为起着非常重要的指引作用。短文本是互联网中一种非常重要
随着二维条码技术的不断发展,不同于传统“图形”二维条码,出现了一种“文本”形式的新型字符二维条码。本文在对传统二维条码编码技术进行研究的基础上,对字符二维条码的编
关键词是指文档中具有专指性且能够反映文档主题的词语或短语。采用自动化技术从文档中抽取出关键词的过程称为关键词自动抽取。关键词自动抽取是文本自动处理中分类、检索和
随着社会生活节奏的加快和物质的极大丰富,人们对饮食质量的要求日趋提高,进餐者想要找到满意的食品难度越来越大。目前,大多数的配餐系统都是服务于特定的人群,且大部分都是基于
Web2.0和互联网技术成熟与进步促使用户产生内容逐渐成为用户使用互联网的全新方式。用户作为互联网资源的使用者,同时也作为互联网资源的创造者,让人与互联网的交互模式得到