图1-14展示了一些由部分串行执行和并行化部分所组成的算法。并行化部分随着可用内核数的增加而增大。随着更多的可扩展的并行化部分运行更多的工作量,串行部分的影响也随之降低。在这种情况下,有必要计算串行部分和并行部分的总工作量,然后通过公式计算出8个物理内核的总工作量:
总串行工作量(单元数) = 25 + 150 + 100 + 150 = 425 单元的工作量
总并行工作量(单元数) = 50 + 200 + 300 = 550 单元的工作量
总工作量 = 425 + (8 × 550) = 4825 单元的工作量
在相同时间内,顺序执行只能执行975单元的工作量:
一次串行执行的总工作量(单元数) =
25 + 50 + 150 + 200 + 100 + 300 + 150 = 975 单元的工作量