Amdahl定理对多核时代的发展的影响。

来源:互联网 发布:xp系统查看mac地址 编辑:程序博客网 时间:2024/05/02 02:27

多核处理器思路的出现源自CPU主频和功率等的物理极限。通过阿姆达尔定律可以十分清楚地知道多核处理器的性能受到那些因素的限制,即串行执行比例和交互开销。所以多核处理器的发展趋势是合理划分任务、减少核间通信以及加强程序的并行性。根据阿姆达尔定律,为了提升多核处理器的性能,合理划分任务和减少核间通信是关键点。

1.合理划分任务 整个系统任务可以按数据、功能等多个维度划分为若干子任务,分别由不同的核来执行这些子任务。 数据分解,把不同的数据报文交给不同的核处理。比如,可以按照接收数据报文的接口来划分任务,不同接口的数据报文由不同的核处理,可以避免不同网段的流量竞争处理器资源,也可以用来保障核心业务。另一种可能的方案是按协议类型来区分,由一到多个核处理HTTP协议,其它核处理其它协议。 功能分解,把不同的功能交给不同的核处理。比如,其中一个核专门负责加解密报文处理,另一个核专门负责病毒扫描等。 静态调度,相同的核永远处理相同的任务。静态调度算法不涉及到任务切换,因此系统开销较小,但存在任务分配不公平的情况。 动态调度,同一个核可能处理不同的任务。采用动态调度算法的系统可以根据每个核的实际负载情况动态分配任务,这样可以最大限度的利用每个核的处理能力。 合理的任务分解方案使得不同任务相对独立,既降低了串行执行比例,也减少了核间通信的需求。

    2.减少核间通信 减少核间通信的技术主要包括异步并行、无锁编程等技术。  异步并行技术与同步并行技术相对应。后者是同步处理的一般模式,指的是一个核执行任务到某个时刻必须与其它核进行数据交换,然后才能继续进行;前者是对同步处理的优化,数据交换不必严格在某个时刻进行,可以集中进行数据交换,从而减少交互的次数和时间。 无锁编程是减少核间通信的另一个思路,通过精心设计的数据结构,两个核可以完全不进行任务同步,同时又能协同进行工作

原创粉丝点击