我有兴趣了解是否有关于并行代码可扩展的正式定义,还是它只是一个时髦的词?如果我将串行墙时间测量为t_S并将平行墙时间测量为t(P),那么我可以将效率定义为E(P)= t_S /(t(P)* P),是否有一个标准如何效率必须随P(和问题大小)而变化,以使代码被视为可扩展?
答案 0 :(得分:6)
可扩展意味着使用额外的计算机或CPU核心(向上扩展与向外扩展)性能(处理越来越大的工作负载的能力)得到改善。因此,串行代码不可扩展。并行代码可以。 Amdahl定律限制了系统的可扩展性。
可扩展性通常比效率更重要。可扩展但低效的系统只需添加硬件即可处理更多负载。一个高效但不可扩展的系统需要重大代码返工才能处理更大的负载。
答案 1 :(得分:2)
请参阅Amdahl's law和Gustafson's law,了解一些可伸缩性指标的正式定义。