异质系统架构(Heterogeneous Systems Architecture,HSA)基金会在那个对未来的处理器 SoC 设计工程师与相关软件非常重要的新技术领域取得了不错进展,但该技术要取得成功恐怕还有一段很长的路要走。
日前 AMD 宣布将在明年1月推出首款采用 HSA 技术的处理器;该架构能让中央处理器(CPU)与绘图处理核心共享资源。AMD以Linux为基础开发了支持新架构的软件,但到目前为止并未有其它支持HSA的处理器或操作系统计划公布。
包 括ARM、Imagination、联发科(Mediatek)、高通(Qualcomm)与三星( Samsung)等移动处理器大厂与核心供货商,也都是HSA基金会的成员;在一场日前于美国举行的AMD开发者大会上,一位来自Imagination 的高层表示,该公司总有一天会支持HSA架构,但他并未透露相关产品的推出时间表。
ARM 首席技术官Mike Muller的态度更为保守,他在会中表示:“HSA对中型系统来说很好,但我不确定它是否能适用小型的系统,我也不认为它能支持内含上万颗处理器的高性能运算。单一系统的架构不会扩展到整个应用空间。”
苹果(Apple)、Google与微软(Microsoft)则对他们在iOS、Android与Chrome OS,还有Windows等操作系统对HSA的支持三缄其口;目前设计工程师虽然能撰写驱动程序以在Windows等操作系统支持该架构,但并没有更理想的解决方案。
而与众不同的是AMD的竞争对手英特尔(Intel)与Nvidia,这两家公司与苹果都在移动与台式计算机系统支持 OpenCL;由Khronos Group开发的 OpenCL 规格是针对各种绘图处理器(GPU)之平行编程任务所开发的较高层级应用程序接口(API)。
OpenCL 已经存在好一段时间,但才刚开始加入一些HSA基金会正在定义的共享内存功能。一位Khronos 与Nvidia的代表就指出,HSA、OpenCL以及Nvidia专有的Cuda软件环境,其实是朝平行路线发展,并提供越来越类似的功能。
Cuda是Nvidia在高性能运算领域的一次成功出击,曾进驻全球前五百大超级计算机;而由于很早就进军高性能运算领域,市场上有越来越多采用Nvidia配备Cuda之GPU的系统。但这样的情况也可能会改变。
高性能运算领域专家、美国伊利诺大学(University of Illinois)计算机科学教授Wen-mei Hwu表示:“超级计算机开发商每三到四年就会去找新东西、选定其中某个,然后在几年后实际运用。”版的Cuda已经可以支持部分HSA的平面内存 (flat-memory)功能,但Cuda并不怎么适合一些超级计算机应用程序,这就为HSA基金会与AMD带来机会。
至于英特尔则在高阶运算领域有自己的方案,其 Xeon Phi 处理器采用60个简化的 x86核心来处里平行任务,搭配该公司自家开发的工具; Phi 已经开始获得一些全球五百大超级计算机开发商的青睐(而且是在短时间内)。
HSA将扩展至GPU以外的处理器
HSA的甜蜜点在于能解决主流运算领域一些非常实际的问题,而该领域有越来越多看起来像是配备各种核心的智能手机芯片。
“我们一直很谨慎开发能支持各种加速处理器的(HSA)架构,”HSA基金会总经理、专长绘图处里的AMD院士Phil Rogers表示:“我们是以GPU为步,而其它种类的加速处理器是可以预期的,包括DSP、DMA引擎、译码器以及加密处理器;只要是合理的,每一 家公司都将会转向开发加速处理器。”
HSA为程序开发者解决了非常实际的问题;如Rogers所言,当处理器的CPU与GPU核心拥有各自的内存时,要在处理器SoC上操作主流应用程序会有许多困难:“人们已经开发了利用两组处理器核心的应用程序,但问题在于它们是用很不自然的方式才能运作。”
Rogers表示,如果虚拟内存空间中存在只有CPU能理解的“指针(pointers)”,要横跨现有的不同资料架构几乎是不可能的。因此今日的移动应用程序设计工程师,通常得重新打造资料架构,以保持追踪不同 CPU 与 GPU 核心的资料。
在 专题演说中,Rogers提到了可利用HSA带来之额外性能与简易性的各种应用程序,例如在Hadoop与Map Reduce平台上执行的大型资料中心、特定的数据库任务、石油天然气探勘,以及电信营运商与网络资料中心的媒体转码(media transcoding)。
因此HSA能为处理器与应用程序开发商带来实际的优势,还有AMD──如果该公司能藉由某种方式 提供超越英特尔与Nvidia方案的独特功能。而由于在电子学方面还有许多问题存在,一切只能等待。AMD早在2006年为了GPU收购ATI时,就看好 微处理器的未来是混合式核心SoC;七年后,该公司仍坚持初衷,但要实现该愿景,还有好一段路得走。