基于多核的并行编程模型

基于多核的并行编程模型

论文摘要

随着2005年,Intel发布了基于x86的桌面双核处理器,多核处理器开始走入寻常百姓家。处理器的不断发展,由纯粹的频率提升,逐渐转到多核运算、并行执行的方向上。所谓多核处理器就是将多个运算核心集成在一个处理器上,在并行性优势的提升下,相比单核它能够以更低的频率处理更高的工作负载。因此能够在提升处理器性能的情况下降低功耗,减小散热问题,而且生产成本更加低廉。处理器发展到多核阶段,传统的串行模型与并行架构之间的矛盾越发明显。这种转变对程序员而言不像处理器时钟频率的变化那样透明,如果编写的程序没有针对多核的特点来设计,就不能完全获得多核处理器带来的性能提升。多核时代的到来,给传统的串行编程模型带来了巨大的冲击。为了充分利用多核性能,就需要设计一种并行编程模型来编写更高效的应用程序。另一方面,多媒体技术和网络技术正迅速的发展和普及。从家用电脑,到移动笔记本电脑,甚至手机、PDA等嵌入式领域都存在着大量的多媒体网络应用。像音视频编解码,网络数据的传输和分析等,它们广泛的应用对性能的提升有了更高的要求。这类应用主要以一种“流”(streaming)的形式存在,数据量大,对实时性要求高,计算处理具有高度可并行性。这些特点在传统的串行架构上很难再做进一步的优化,然而多核的并行化平台带来了新的机遇。如何在多核环境下更好的发挥处理器的性能优势,满足多媒体和网络应用的需求就成了当前面临的主要困难。为了解决这个问题,本文提出了一种新的并行编程模型——基于多核架构,应用于网络和多媒体的ComponentC StreamingLanguage。这种模型将单一程序划分为可并行执行的多个任务,分配到多个核上,通过优化调整达到负载平衡,更加有效利用多核处理器的每个计算核心,从而得到性能的提升。本文的主要贡献如下:●提出了一种基于多核,应用于多媒体和网络的并行编程模型。●实现了一个针对多媒体和网络程序的节点化上层应用编程模型。●实现了一个针对多核处理器特点的底层架构编程模型。●提出了多节点程序在多核处理器上划分调度优化策略。

论文目录

  • 摘要
  • Abstract
  • 第一章 引言
  • 1.1 计算机的发展
  • 1.2 多媒体和网络应用
  • 1.3 多核处理器的出现
  • 1.4 并行编程的挑战
  • 1.5 本文工作
  • 第二章 多核处理器
  • 2.1 计算机体系结构的分类
  • 2.2 并行处理的研究
  • 2.2.1 超线程技术(Hyper-Threading)
  • 2.2.2 对称多处理器(SMP)
  • 2.2.3 多核处理器(Multi-Core)
  • 2.3 多核处理器的特性
  • 2.3.1 多核处理器与单核处理器
  • 2.3.2 超线程技术与多核体系结构
  • 第三章 并行程序设计与分析
  • 3.1 并行程序设计方法
  • 3.1.1 扩展编译器
  • 3.1.2 扩展串行编程语言
  • 3.1.3 并行编程模型
  • 3.2 并行程序性能分析
  • 3.2.1 Amdahl定律
  • 3.2.2 并行的开销
  • 3.2.3 多核并行性能的提高
  • 第四章 并行编程模型的框架
  • 4.1 CSL模型的设计原则
  • 4.1.1 并行性
  • 4.1.2 针对性
  • 4.1.3 简易性
  • 4.1.4 通用性
  • 4.1.5 灵活性
  • 4.2 CSL模型的分层架构
  • 4.2.1 上层应用编程模型
  • 4.2.2 底层架构编程模型
  • 第五章 并行编程模型的设计与实现
  • 5.1 ComponentC
  • 5.1.1 语法(Syntax)
  • 5.1.2 节点(component)
  • 5.1.3 信道(Channel)
  • 5.1.4 全局变量(Global Variables)
  • 5.1.5 类型(type)、声明(statement)和表达式(expression)
  • 5.2 Process Unit Mapping Script(PUMS)
  • 5.3 CSL模型框架
  • 第六章 并行编程模型的优化方式
  • 6.1 节点复制
  • 6.2 节点合并
  • 6.3 节点拆分
  • 6.4 模型优化
  • 第七章 实例分析与测试
  • 7.1 多媒体网络程序测试
  • 7.2 实例分析
  • 7.3 实例优化
  • 7.4 实验数据测试
  • 第八章 总结与展望
  • 8.1 创新与贡献
  • 8.2 进一步的研究设想
  • 参考文献
  • 发表文章目录
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于多核的并行编程模型
    下载Doc文档

    猜你喜欢