如何计算两种算法之间的并行加速

时间:2017-08-01 17:05:31

标签: parallel-processing hpc

假设我有算法1和2,它们的顺序执行时间是ts1和ts2。它们的并行执行时间是tp1和tp2。

现在计算两种算法的加速时,以下哪项是真的?

    算法1
  • min(ts1,ts2)/ tp1
  • min(ts1,ts2)/ tp2 for algorithm 2

  • ts1 / tp1 for algorithm 1
  • ts2 / tp2 for algorithm 2

换句话说,对于分子,我应该使用最佳顺序时间还是自己的连续时间?

2 个答案:

答案 0 :(得分:1)

简短版本:

以上都不是

图1

                                                     a SPEEDUP
                                                       BETWEEN
                                                     a BLACK-BOX <PROCESS_2>
   [START]                                             and
         +-----------------------------------------+ a BLACK-BOX <PROCESS_1>
         |                                         |
      [T0]         [T0+ts1]             [T0+ts1+tp1] 
         |                |                        |   
         |                |                        |   
         v                v                        v
         |________________|R.0: ____.____.____.____| ~~ <PAR.1:1> == [SEQ]
         |                |R.1? ____.____|         :
         |                |R.2? ____|    :         :
         |                |R.3? ____|    :         :
         |                |         :    :         :
         |<SEQ.1>>>>>>>>>>|         :    :         :
         |                |<PAR.1:N>:    :         :
                          |         :    :         :
                                    :    :         :
                                    :    :         [FINISH] using 1 PAR-RESOURCE
                                    :    [FINISH]        if using 2 PAR-RESOURCEs
                                    [FINISH]             if using 4 PAR-RESOURCEs

(执行时间从左到右,从[T0] ..流向[T0 + ts1 + tp1][SEQ][PAR]部分的草绘顺序仅用于这里的说明性目的可以是相反的,因为流程部分&#39;持续时间排序原则上是可交换的)

A TL; DR;版本

上述 [SEQ]+[PAR] 流程的一些正式简化可能有助于回答并理解原因。

无需告诉任何HPC规划人员, Amdahl Law规则the better if extended form of Amdahl, the overhead + atomicity aware formulation已被使用)。

我们看到R.i[PAR]部分使用的 PROCESS_1 资源越多, tp1越短可能会得到。这是[PAR] - 处理的力量。

只考虑一对元组( ts1, tp1 )( ts2, tp2 ),没有人可以假设任何潜在的Amdahl法则 - 资源驱动(如图1所示) - 加速,但如果一个人努力为了比较两个假设的实现,具有可能不同的内部处理,可能的加速 S 可以表示为:

      max( [ ts1 + tp1 ], [ ts2, tp2 ] )
S =  ______________________________________
      min( [ ts1 + tp1 ], [ ts2, tp2 ] )

答案 1 :(得分:0)

您的问题存在根本问题。这就是你被困的原因。问题是 Speedup 是为处理器而不是算法定义的。

  

在计算机体系结构中,加速是一个提高处理相同问题的两个系统之间性能的过程。从技术上讲,它是在两个具有不同资源的类似架构上执行任务的执行速度的提高。

取自Wikipedia

的定义