所需E币: 5
时间: 2019-12-24 16:27
大小: 52KB
多核架构的性能在哪里?多核架构的性能在哪里?Tag:多核性能、分区[pic]AtulVerma毫无疑问,多核处理现阶段已日益成为主流。多核编程或并行编程不再仅限于高级编程人员编码的机密应用。工具以及诸如OpenMP等多核编程方法的发展也的确简化了编程。不过,随着越来越多的编程人员被吸引到多核领域,有人对这种结果感到失望。经常有人这么问我:为什么从单核升级到八核,我无法获得8倍的性能提升呢?这其实是一种错误预期以及某些误解造成的结果。虽然芯片架构对多核性能至关重要,但还必须考虑到软件问题。下面我们就来分析一下几个这样的重要因素。要让多核架构发挥最大性能优势,很大程度上取决于应用架构与分区。无需频繁同步可并行运行的独立内核越多,性能就越高。这叫功能分区。在内核数量增加时,各内核之间的同步需求实际会降低整体性能。在理想状态下,不同内核可分配给完全不同的功能。比方说,一个内核处理计算任务,另一个内核执行网络任务,而第三个内核则处理安全功能等。我们的KeyStone多核架构等创新型芯片架构提供多核导航器与网络协处理器等元素,可简化该项工作,在整个片上加速器中对各种不同的处理功能进行微观调度,从而可进一步减轻内核工作量。涉及多核性能的第二重因素是数据分区。如果各独立内核都处理相同的数据、或者数据位于单一位置,功能分区就不好。数据源不仅会变成瓶颈,而且供数据传输的路径(也称系统结构)也将可能被阻塞。因此,必须进行数据分区,可能的话还要将数据放在不同的位……