`
isiqi
  • 浏览: 15946258 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

多核编程之流水线技术

阅读更多

假定一个工作(work),可以切分成n段工序(task),每段工序独立完成,下一个工序依赖上一个工序,但上一个工序不会依赖下一个工序(依赖仅限于最终结果的依赖,工序间的依赖不一定必然,可有可无没有限制),即

W[0,n]=T[0,1]T[1,2]T[2,3]...T[n-1,n]

Cost(T[i,j]) = C(假定每个工序的划分最佳,完成工序的代价相等为一个常数C)

则如果串行执行,完成m个相同工作,需要mnC个工时。

如果采用n级流水的方式来进行处理。

第一个work完成,需要nC个工时,

此后每一个C工时后,完成一个任务。

因此完成全部工时的时间代价为nC+(m-1)C=(n+m-1)C

则加速比 = mnC/(n+m-1)C = mn/(m+n-1)

如果考虑到m远大于n,则近似 = mn/m = n

则n级流水比1级流水提高n倍,多核的优势完全发挥。

但问题是每个工序执行时间相当,在编程上几乎不可能,流水线的流速受到最慢工序的拖累,工序切分过细也不可能CPU核有线,切分过细来回切换成本也大。

但流水线技术是计算高并发的一种常用方法,更多请参见参考文献。

参考文献:

http://www.sccas.cn/gb/learn/download/presentation.pdf

分享到:
评论

相关推荐

    Labview多核编程

    利用NI LabVIEW与多核处理器优化自动化测试应用;多核编程策略:数据并行化;多核编程策略:任务并行化;多核编程策略:流水线

    多核编程第6章-实例代码

    多核编程第6章-实例代码: 包含四个并行模型的实例代码,委托(boss-worker) 对等(peer to peer) 流水线(pipeline) 生产者-消费者(producer-consumer),仅是框架的实例代码不包含异常处理,容错等其他考虑。

    labview多核技术下的并行编程模式

    使用设计模式的益处 简化整个开发过程 –更容易理解程序代码 –代码可重用 可靠性 –被使用多年,被证明其“可用并可靠” –大量技术资源与例程

    多核时代下的并行编程(下)-NILabVIEW网络讲坛第三季.flv

    NILabVIEW网络讲坛第三季flv,仅仅凭借自动多线程的特性,还无法充分地利用多核优势,本集中,工程师将详细讲解如何在LabVIEW中实现多核性能的充分利用,包括任务并行化、数据并行化以及流水线等编程方式。

    多核计算与程序设计(2009年3月1日出版)第一二三部分

    第1部分介绍多核编程的基础知识,包括多核编程常见问题、锁竞争、加速比、负载均衡等基本概念,多线程退出算法、读写锁、旋转锁、原子操作等多线程编程基础知识,基于OpenMP标准的并行程序设计基础等; 第2部分介绍...

    FPGA并行编程(Xilinx官方翻译版本).pdf

    Xilinx官方翻译的...另外,读者 需要对基本的计算机架构有所熟悉,例如流水线(pipeline),加速,阿姆达尔定律(Amdahl's Law)。以寄存器传输级(RTL)为基础FPGA设计知识并不是必需的,但会对理解本书有所帮助。

    TMS320C66x汇编语言的DSP代码优化技术

    随着主频的不断增加及多核处理器的出现,DSP运算量也不断地提高,但是...介绍了TMS320C66x汇编和流水线技术,阐述了在CCS编译器的实时运行环境下,编程需要注意的有关问题,以及如何利用流水线技术提高DSP的处理效率。

    论文研究-异构计算平台上列存储系统的并行连接优化策略.pdf

    GPU以及集成式的CPU-GPU架构凭借其强大的并行处理能力和可编程流水线方式,已经成为数据库领域的研究热点。为充分利用异构平台的并行计算能力,提升列存储系统的查询性能,在研究异构平台结构特性的基础上,首先提出...

    嵌入式系统设计师教程 pdf

    1.2.3 流水线技术 1.2.4 信息存储的字节顺序 1.3 嵌入式系统的硬件基础 1.3.1 组合逻辑电路基础 1.3.2 时序逻辑电路 1.3.3 总线电路及信号驱动 1.3.4 电平转换电路 1.3.5 可编程逻辑器件基础 1.4 嵌入式系统中信息...

    无线电系统Sora.zip

    的软件架构可以将处理流水线有效地分配到多个核上,从而实现流水线并行计算。最后,Sora中实现了一个新的内核服务,称为专属线程。专属线程可以被现实 指定在特定核上,用于保障处理的实时性。Sora系统自2009年首次...

    大话处理器:处理器基础知识读本

    4.1 跟着顺溜学流水线 4.2 从子弹射击到指令执行 4.3 从顺序执行到乱序执行——因时制宜 4.4 处理器并行设计——并行,提高性能的不二法门 4.5 指令并行(Instruction Level Parallelism) 4.6 数据并行(Data Level...

    深入浅出MIPS

    MIPS 的处理单元是一个五级流水线:Instruction Fetch, Register & Decoder, ALU, Memory 以及 Write back。一开始的 MIPS 是为 32 位系统设计的,实际上,后续的 64 位扩 展,也依然对 32 位的工作模式向下兼容着。...

    并行计算导论(原书第2版).[美]Ananth Grama(带详细书签).pdf

    2.1.1 流水线与超标量执行 2.1.2 超长指令字处理器 2.2 内存系统性能的局限 2.2.1 使用高速缓存改善有效内存延迟 2.2.2 内存带宽的影响 2.2.3 躲避内存延迟的其他方法 2.2.4 多线程与预取间的权衡 2.3 并行...

    嵌入式课件

    1.2.3 流水线技术 1.2.4 信息存储的字节顺序 1.3 嵌入式微处理器的结构和类型 1.3.1 嵌入式微控制器 1.3.2 嵌入式微处理器 1.3.3 嵌入式DSP处理器 1.3.4 嵌入式片上系统 1.3.5 多核处理器 思考题与习题 第2章 ARM...

    多处理器交互式GPU的设计和优化

    为了提高MIGPU的性能,在原始类型,顶点,像素以及剔除,裁剪和内存访问的效果之间建立了关系模型,并展示了一种提高图形流水线速度的方法。 它能够将图形渲染任务分配给不同的处理器,以提高效率和灵活性。 像素...

    CLR.via.C#.(中文第3版)(自制详细书签)Part1

    《CLR via C#(第3版) 》针对.NET Framework 4.0和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft ...

    CLR.via.C#.(中文第3版)(自制详细书签)

    《CLR via C#(第3版) 》针对.NET Framework 4.0和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    《CLR via C#(第3版) 》针对.NET Framework 4.0和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft ...

Global site tag (gtag.js) - Google Analytics