阿姆达尔定律的诞生原因是
随着从存储系统的日益复杂,对存储系统的性能分析就显得非常必要。单个存储器的性能由生产厂商在数据手册中说明,那么由多个存储体构成的并行存储系统的性能如何分析,尤其是系统的吞吐率及相应时间就必须借助数学模型进行分析,或者再利用软件进行仿真确定。对于更全面的系统仿真将花费非常大的代价,因此实际上多采用数学模型的方式确定。为此,利用阿姆达尔定律来说明存储系统性能分析模型。
并行程序的缺陷和代价与阿姆达尔定律
阿姆达尔定律:阿姆达尔定律说一个程序的加速比潜力由其可以并行的部分所占的比例而决定,即:
speedup=11−Pundefined.
如果没有代码可以被并行,那么p = 0,所以加速比为1。如果所有的代码都可以被并行,那么 p = 1,加速比为无穷大(当然只是理论上而言)。如果50%的代码可以被并行,那么最大的加速比为2,意味着的运行速度最快可以被加速到2倍。
如果引入并行程序中的处理器个数,则加速比可以被重新定义为:
speedup=1PN+S=11−P+PNundefined,
其中P仍然是并行代码所占的比例,N是处理器个数,S是串行代码所占比例(S = 1 - P)。