同构和异构计算碰撞

一分之一系列的一部分。处理架构继续变得更复杂,但软件行业得到留下吗?谁将帮助他们利用硬件被创建?

受欢迎程度

11年前处理器停止扩展由于收益递减和崩溃Dennard定律。启动一系列事件的行业还没有完全恢复。

过渡到同构多核处理软件方面提出了一个问题,他们不知道如何解决,即如何优化使用的计算能力。他们对这个问题即使在今天继续挣扎。与此同时,许多系统需要处理的使用与更专业的核心功能。这些处理元素的混合异构计算,给了我们一个问题回避了许多软件的问题。

同构计算系统主要被发现在桌面和数据中心,而异构系统主要被发现在手机。今天,数据中心部署gpu处理元素和最近现场可编程门阵列(fpga)。与此同时,手机明显扩大他们的应用程序处理器的功能,使其多核。复杂性的变化并不止步于此。即使应用程序处理器,不同操作特色核心集成在一起,共享一个指令集和编程范式。手臂的大。小就是这方面的一个例子。

今天大多数设计多核cpu, gpu等一些well-coupled元素。“这死的子集是高度一致的,运行在虚拟内存空间,”说,首席技术官超音速。“还有其他的芯片,我们还有大量的异构硬件。它们的存在,因为他们可以做得更好的频率,应用程序的吞吐量、电力和区域目标。最好的模型我们已经是这些抽象为子系统。在顶层,你有松散耦合的子系统的选择,模型是实用和有效。”

也发生转变。“我们看到两个同构和异构过程发生,但它越来越不均匀,”汤姆·德舒特说,物理原型产品营销主管Synopsys对此。“人们想要得到更多的专业,而不是一个处理器一切变得更具体。”

对异构的

的原因异构硬件空间中的元素是相当清楚的。说:“这些问题依旧是不变的克里斯•琼斯产品营销组主任Tensilica IP节奏。“设计团队的任务是提供最高性能以最小的能耗和击败竞争对手市场。”

创建抽象分离。“这是一个分而治之的设计理念,使软件的重用和利用芯片扩展更重要的是,“拉里Lapides说,负责销售的副总裁治之。“你有一个简单的邮箱系统之间的通信。从那时起我们已经看到增加一些异构处理器之间需要沟通。”

通信的方式也发生了变化。“架构的迁移是一个函数的不同部分之间的通信的发展,”大卫·Kruckemyer说首席硬件架构师Arteris。“我们有一个处理器和DSP或GPU,和现在的本质,通信已经从一个中断模型到一个共享内存模型。这就是缓存一致性和其他编程范例来玩。这是一个行业内的主要趋势。你能渡过很多罪过去只是通过添加更多的处理器和做的一切软件,但这一策略似乎是精疲力竭了。”

然而就引入核心的状态一致性并不能解决问题。“我们面临的挑战,但我们仍困在齐次CPU-centric的世界观,“说Anush莫汉达斯·,业务发展副总裁NetSpeed系统。“我们称之为分而治之,人们问题切成10个不同的块,假装他们不交谈。他们是单独设计的,粘在一起,然后你希望它给你你所需要的性能。这种方法上形成孔洞验证在性能方面,洞边,最终孔我们交付给最终客户。你要看系统作为一个整体。分而治之的技巧不规模。”

招聘
那么接下来会发生什么呢?答案并不完全清楚,问题变得更糟的在这方面缺乏专业知识。

“异构多处理仍然是一家专业领域几个专家,”詹姆斯说aldi,架构专家验证平台想象力的技术。“作为一个行业,我们肯定还没有成功地使平均异构平台可编程软件工程师。事实上,即使是均匀的多处理不成熟。”

不过,这并不封装所有事情。决定哪一块均匀的软件应该运行的核心是老问题。有几个新的出现。“今天很难优化CPU或GPU规模+应用程序,或从一个端口SoC继续阿尔迪平台到另一个。”“软件编程模型对连贯的异构处理器不是标准化的,甚至当他们,他们是不同的对于不同类型的处理器,使异构应用程序非常不灵活,不可移植。前你需要决定应用程序代码在GPU,哪些部分是在DSP,甚至你可能需要知道的DSP的GPU上运行。”

它甚至可以怀疑优化意味着什么。“大多数当前的比例一直在齐次部分的设计,但它在本质上是开始得到更多的异构的,”Kumar Venkatramani说,业务发展副总裁Silexica。在这种情况下“效率是什么意思?这可能意味着最快的吞吐量,最短的延迟或成本。另一个参数可能是权力,这本身可以分解成多个诸如峰值功率和平均功率。所以这是一个多参数优化问题。”

沃伦Kurisu,产品管理和营销主管导师图形嵌入式软件部门对此表示赞同。“异构多核架构的趋势开始几年前,疯狂地加速。你怎么连接不同的编程范例?如何发展他们的上下文中大量异构系统?它是一个系统架构和优化问题,当你试图巩固到相同的不同类型的功能,类似或不同类型的核心。从软件的角度优化的架构是什么?”

有两个学校的思想发展。“到目前为止我们想出了最好的是子系统的抽象,说我们应该把小处理器这些子系统的代码运行子系统的子系统,并从顶层设计的角度它所看到的只是一些相对简单的api,“Wingard说。“硬件,我们说的可能是复杂的,但我们仍然可以建立简单的api”。

天平的另一端是寻找动态移动代码的能力最好的处理解决方案是可用的和符合所有的动态操作的要求。“当你考虑一个SoC的平台,你必须首先考虑编程模型,“Wingard说。“正因为如此,我们看到越来越多的大量的中央处理复杂的平台向软件开发人员更友好。我们看到缓存一致性,进入中央处理复杂。我们看到越来越多的核与一流的编程模型提供给我们。”

改变未来
但要充分利用这需要编程范式的改变,甚至还没有发达的齐次规划空间。“早期,我们发现当半导体制造商混合在所有这些核心,有些不知道如何定位他们的用例,“导师的Kurisu说。“半导体制造商继续设计和开发更复杂的系统,他们思考更多关于软件架构和方法来支持它。”

那么究竟是谁推动了建筑呢?”有一个转变推动规范,推动需求,他们是如何被测试,“Synopsys对此“德舒特说。“组织上,它需要一段时间来改变整个行业,我们看到差异。合作的平衡转移和类型发生了变化。”

有时,竞赛市场会导致某些决策。“硬件和软件团队必须合作架构阶段确定哪部分设计应该作为硬件与软件,存在“节奏的琼斯说。“可编程设计、验证时间短和更快的上市时间。完成最容易采用高度优化的,可编程的卸载引擎。”

但这可能只是移动问题。“硬件团队发现有效的异构平台需要更复杂的硬件组件之间的交互(缓存、同步等)、“阿尔迪指出。“硬件协议是富裕,需要更全面的验证报道。行使这些协议不可能没有显著pre-silicon软件可用和成熟。像硬件建设的日子很快就会过去。”

和遗留总是要考虑。“除非你在罕见的情况下,从一张白纸开始,你总是有软件运行,“Wingard说。“之前你做什么工作在新的东西。这是表股份在业务。这并不意味着软件人驾驶的事情。这意味着你有一个在政治上可能有一些要求进入过程。”

将离开
但在取得了理想的解决方案,可以取得进展。“在一天结束的时候,持续集成的硬件和软件变得非常关键,”Frank Schirrmeister说高级产品管理组主管在系统&验证群节奏。“因此,行业正在与高努力”左移位”技术。双方开发人员接触的数量仍然相当有限,。即使发现一个问题,软件和硬件之间的适度的利益相关者可以经历婚姻咨询看齐。”

最终,左移位带给你的人可以看看整个问题。“我们仍然看到一个公平的硬件和软件团队之间的分离程度,和这些障碍必须被分解,“Lapides说,注意到一些系统的角度来看,存在丢失了。“太空竞赛团队在一起。硬件和软件紧密合作在一起即使软件相当最小。这是系统工程”。

有人说,仍是如此。“产品的人赢得空间的理解整个系统,不仅仅是硬件或软件,“莫汉达斯·说。“我们没有办法翻译系统需要软件的硬件和软件的人说什么。今天我们没有一个解决方案。它可能需要异花授粉的技能。”

Lapides相信半导体设计师是一个英雄文化。“软件人永远以同样的方式进化。半导体行业看着国防工业,看到大量的开销和决定,他们需要离开。他们扔出的大多数方法和文化产业和摆脱的事情是好的。我们需要拿回一些。”

阿尔迪表示同意。“有一个明确的软件工程师可以应对短缺的异质性,或硬件工程师理解现代软件的约束。试图广场这些圈子没有偷懒的压力产品路线图交付需要的平台架构定义、标准化、开放合作,广泛的与硬件和软件供应商的合作关系。”

本系列的第2部分将探索一些方法被用来帮助解决这些问题在短期内和长期。

有关的故事
异构多核头痛
使用不同的处理器系统中,功率和性能,但它却使缓存一致性更加困难。
缓存一致性如何影响力量,表现
第1部分:看看沟通跨多个处理器在一个SoC的影响以及如何更有效。
一致性,缓存和可配置性
提高性能的基本原理。



留下一个回复


(注意:这个名字会显示公开)

Baidu