多核平台下多任务Usage Model讨论
Amdahl定律描述了任意给定代码所能实现加速比的理论可能性。对于串行代码比例占S的代码,理论上可以在 N 个处理器上实现的最大加速比为:1/(S+(1-S)/N)。
比如串行代码占20%的代码,在4核处理器上可以实现的最大加速比为1/(20%+(1-20%)/4)=2.5。
由此可知,加速比受限于代码中串行代码的比例。而在实际应用中,代码中必定有串行代码(数据处理本身的依赖和串行性)。在这种情况下,即使使用4个或更多的核也无法更高的提高其加速比。这时就需要提出更好的Usage Model,在多任务方面进行扩展,使处理器的剩余资源可以处理其他任务。
比如在玩游戏的同时使用剩余的处理器资源观看视频等。
大家可以就这个问题讨论一下,提出一些有用的Usage Model。