并行计算与分布式计算的关系与区别1

转载 2012年03月26日 09:50:08

1、概念理解

物理处理器: 

    一个单核CPU,多核CPU的某个内核,都是一个物理处理器;

 

逻辑处理器:

    通过超线程技术可以将一个物理处理器模拟成多个逻辑处理器,
    超线程技术的目的是提高物理处理器的利用效率,开销是模拟的多个逻辑处理器在工作切换时,有不少的数据保存和恢复工作,因此实际处理性能的提升要弱于多核CPU的多个物理处理器;双核CPU的两个物理处理器,通过超线程技术也可以模拟成四个逻辑处理器,但随着多内核CPU的物理处理器数量增多,就不必使用开销较大的超线程技术了。为避免概念混淆,后续描述中若无特别指明,处理器都是指物理处理器,不再讨论超线程技术。

 

并发计算: 

    时分复用一个处理器,在单处理器上,分时、多任务操作系统采用并发计算的调度方法;

 

并行计算: 

    空间复用多个处理器;
    Intel多媒体指令优化集是针对一个处理器,扩展处理额外的数据,属于特殊的并行计算优化;

    多处理器系统,操作系统采用并行计算的调度方法,允许多个线程在多个处理器上同时执行。

 

串行计算: 

    一个处理器依次执行指令,单就一个线程而言,本质上是串行计算的。


处理单元: 

    一个独立的软/硬件系统,可以是一台PC,或者一个虚拟机系统;

 

分布式处理系统:

    某种处理任务被分解到多个处理器上,系统为扁平结构,一般上层有一个控制中心,下层有多个处理单元,通过下层多个处理单元的数量/功能扩展,来提高整个系统的处理性能;
    处理任务有两种分解方法:一种是同类处理任务的分解,属于数量扩展;另一种是按功能不同进行分解,属于功能扩展;两种分解方法一般都混合使用。

 

集中式处理系统:

    某种处理任务被集中到一个处理单元上,系统为星型结构,一般只有一个核心处理单元;即使核心处理单元有双机备份,也属于集中式处理系统。


2、技术范畴

任务:     任务有优先级
进程/线程:操作系统调度的最小单位


软件开发技术:
(1)系统层面 -> 集中式处理系统 - 对象是一个处理单元

               -> 包含一个处理器 -> 并发计算,调度优化
                                 -> 并行计算之指令优化(特例)
               -> 包含多个处理器 -> 并行计算
           
            -> 分布式处理系统 - 对象是多个处理单元

               -> 任务的数量分解,数量空间扩展;
               -> 任务的功能分解,功能空间扩展;

 

(2)算法层面 -> 一个处理器

               -> 并发计算

                  -> 分时调度 -> 新就绪的高优先级任务

                                 -> 可抢占
                                 -> 不可抢占,如Linux进程的核心态
                              -> 新就绪的低优先级任务

                                 -> 预留时间片,保证调度,延迟可预知

                  -> 多任务调度 -> 新就绪的高优先级任务

                                   -> 可抢占
                                   -> 不可抢占
                                -> 新就绪的低优先级任务

                                   -> 不保证及时调度,延迟不可预知
            -> 多个处理器

               -> 并行计算

                  -> 并行算法

                      -> 空间复用多个处理器的算法专题,略

                  -> 并行调度

                      -> 新就绪的高优先级任务->优先分配到空闲的处理器
                      -> 新就绪的低优先级任务->负荷分担分配到各个处理器

 

3、多内核CPU的技术展望
多内核CPU -> 一个处理单元

             -> 包含多个处理器 -> 并行计算 -> 并行算法 -> ...
                                           -> 并行调度 -> ...
          -> 虚拟机技术 -> 分布式处理系统

                           -> 多个处理单元

                              -> 任务的数量分解,数量空间扩展;
                              -> 任务的功能分解,功能空间扩展。

 

未来多核CPU的不同内核,如果赋予不同的功能,则更加容易组织成一个强大的分布式处理系统,规避了软件开发在并行计算方面的困难。

相关文章推荐

分布式计算、并行计算及集群、网格、云计算的区别

转自: http://blog.163.com/litianyichuanqi@126/blog/static/1159794412012387453794/ 并行计算:并行计算是相对于...

分布式计算、并行计算及集群、网格、云计算的区别

转载自http://blog.163.com/litianyichuanqi@126/blog/static/1159794412012387453794/ 并行计算:并行计算是相对...

分布式计算、并行计算及集群、网格、云计算的区别

并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的目的就是提供单处理器无法提供的性能...

分布式计算、并行计算及集群、网格、云计算的区别

转自:http://blog.csdn.net/cuidiwhere/article/details/7884545 并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。...

分布式计算、并行计算及集群、网格、云计算的区别

分布式计算、并行计算及集群、网格、云计算的区别

分布式计算、并行计算及集群、网格、云计算的区别

转自:http://blog.csdn.net/cuidiwhere/article/details/7884545 并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并...

分布式计算、并行计算及集群、网格、云计算的区别

并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的目的就是提供单处理器无法提供的性能...

分布式计算之并行计算

1、并行计算 并行计算或称平行计算是相对于串行计算来说的它是一种一次可执行多个指令的算法目的是提高计算速度及通过扩大问题求解规模解决大型而复杂的计算问题所谓并行计算可分为时间上的并行和空间上的并行 ...
  • ffm83
  • ffm83
  • 2015-01-14 14:14
  • 880

分布式计算 并行计算 网格计算 云运算

1.分布式计算和并行计算的异同:    解决对象上:都是大任务化为小任务,这是他们共同之处。    但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的...

并行计算、分布式计算、网格计算讲解

先说分布式计算和并行计算的异同: 解决对象上:都是大任务化为小任务,这是他们共同之处。 但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)