并行编程提升单芯片多处理性能(3)
每个处理器都有独立缓存的系统不再必然是SMP。当一个处理器的缓存保存了存储器中最新位置值的唯一拷贝时,就是不对称的了。必须增加缓存一致性协议才能恢复对称性。
在所有处理器都连接到公共总线的简单系统中,缓存控制器可以通过监测总线来观察哪一个缓存保存了最新的指定存储器位置。在更先进的系统中,处理器是利用到交换结构的点对点连接连接到存储器的,因此缓存一致性需要更复杂的支持。一致性管理单元应该对存储器事务施加全局指令,并产生干涉信号来维护处理器内核之间的缓存一致性。
像Linux这样的SMP OS能够自由地移植任务,动态地均衡处理器负载。在嵌入式SoC中,很大部分的总体计算可以用中断服务完成。好的负载均衡和性能调整需要对发生中断服务的位置进行控制。Linux OS具有一个IRQ关系控制接口,该接口可以让用户和程序规定哪个处理器对某个指定中断提供服务。
缓存一致性基础架构不仅在SMP用的处理器之间,而且在处理器和I/O DMA通道之间都非常管用。使用软件时要求CPU在每个I/O DMA操作之前或之后对DMA缓存进行处理。这对I/O密集的应用性能有很大的影响。使用I/O一致性硬件连接I/O DMA和存储器可以对DMA流进行排序,并能与相关的加载/保存流程集成在一起,从而有效消除软件开销。
缓存一致性管理单元应该对处理器、I/O和存储器之间的存储流进行排序。这样做增加了处理器的存储器访问时间周期,可能导致管线暂停引起的处理器周期损失。然而,每个内核使用的硬件多线程等技术允许单个内核通过执行并行的指令流来增加管线的效率。
每个内核中的线程看起来就像是运行OS软件的全能CPU,包括具有独立的中断输入。线程共享相同的缓存和功能单元,并交叉执行管线命令。如果一个线程暂停,另外一个可以执行,这样可以避免因为相关的存储器子系统延迟而导致的处理周期丢失。管理多个内核的相同SMP OS可以管理它们的相应硬件线程。为利用SMP而编写的软件自然能利用多线程处理技术,反之亦然。
两个线程竞争一个管线取得的性能将比在独立内核上执行两个线程要低。应该对SMP Linux内核进行负载均衡优化。为了优化功耗,调度器每次可以将任务加载到一个内核的虚拟处理器上,让其他处理器处于低功耗状态。为了优化性能,可以将工作任务分配到若干个内核上,然后加载每个内核的多个线程,这样所有的内核都有一个活动的任务。可以利用片上多处理技术提高SoC性能。SMP平台和软件提供了一种灵活的高性能计算平台,相对于单处理器可以大大地提高速度,而且很少甚至无需应用代码的修改。
(责任编辑:admin)- “扫一扫”关注融合网微信号
免责声明:我方仅为合法的第三方企业注册用户所发布的内容提供存储空间,融合网不对其发布的内容提供任何形式的保证:不保证内容满足您的要求,不保证融合网的服务不会中断。因网络状况、通讯线路、第三方网站或管理部门的要求等任何原因而导致您不能正常使用融合网,融合网不承担任何法律责任。
第三方企业注册用户在融合网发布的内容(包含但不限于融合网目前各产品功能里的内容)仅表明其第三方企业注册用户的立场和观点,并不代表融合网的立场或观点。相关各方及作者发布此信息的目的在于传播、分享更多信息,并不代表本网站的观点和立场,更与本站立场无关。相关各方及作者在我方平台上发表、发布的所有资料、言论等仅代表其作者个人观点,与本网站立场无关,不对您构成任何投资、交易等方面的建议。用户应基于自己的独立判断,自行决定并承担相应风险。
根据相关协议内容,第三方企业注册用户已知悉自身作为内容的发布者,需自行对所发表内容(如,字体、图片、文章内容等)负责,因所发表内容(如,字体、图片、文章内容等)等所引发的一切纠纷均由该内容的发布者(即,第三方企业注册用户)承担全部法律及连带责任。融合网不承担任何法律及连带责任。
第三方企业注册用户在融合网相关栏目上所发布的涉嫌侵犯他人知识产权或其他合法权益的内容(如,字体、图片、文章内容等),经相关版权方、权利方等提供初步证据,融合网有权先行予以删除,并保留移交司法机关查处的权利。参照相应司法机关的查处结果,融合网对于第三方企业用户所发布内容的处置具有最终决定权。
个人或单位如认为第三方企业注册用户在融合网上发布的内容(如,字体、图片、文章内容等)存在侵犯自身合法权益的,应准备好具有法律效应的证明材料,及时与融合网取得联系,以便融合网及时协调第三方企业注册用户并迅速做出相应处理工作。
融合网联系方式:(一)、电话:(010)57722280;(二)、电子邮箱:2029555353@qq.com dwrh@dwrh.net
对免责声明的解释、修改及更新权均属于融合网所有。