用一块芯片将服务器性能提升百倍,这家公司是怎么做到的?
自 1999 年 Nvidia 发布 Geforce 256 图形芯片开始,人们就定义了 GPU,这也使得计算机能够渲染出更加饱满的图像,带给人们绝佳的观赏体验。不过归根结底,GPU 只是一块插在 PCI-E 上的加速卡,用于处理复杂且工作量极大的任务。
在人工智能、计算机视觉、数据挖掘等技术驱动的今天,计算资源不足成为诸多企业老大难的问题。诚然,多买两台服务器或许能解决问题,可随之而来的不仅仅是采购成本的提升,还有与之对应的维护运营费用。此外,对于一些存在季节性压力变化的企业,如电商,购买大量的服务器以支撑需求显然不是一个聪明的办法。
GPU 是一个成熟的产业形态,不过 GPU 模式或许可以成为突破点。事实上就有这样一家公司,根据他们的说法:要成为服务器领域的”GPU“,利用架设于 PCI-E 接口上的芯片,为复杂且计算量大的任务单独开设一条高速公路,从而使得整体运算效率提高百倍,这家公司就是中科驭数。
以”百倍“加速解决行业痛点
中科驭数成立于 2018 年 4 月,主要业务为各类计算密集型的应用研发专用计算架构,包括芯片、FPGA 实现、支撑软件、SDK。能够实现这些业务的原理,则来自于由中科驭数所定义的协处理器——”KPU“。
”KPU“是专为加速特定领域核心功能计算而设计的一种协处理器。根据中科驭数的规划,KPU 以功能核作为基本单元,直接对计算密集型应用进行抽象和高层综合,实现以应用为中心的架构”定制“。一颗 KPU 根据需求可以集成数十至数百个功能核。在运行机制上,采用”数据驱动并行计算“的架构,运行过程中通过数据流来激活不同的功能核进行相应计算。
这一理念和 GPU 的运行机制如出一辙,都是为了解决来自于冯·诺伊曼结构上会对数据缓存进行批量处理,从而导致了无法短时间内处理大量复杂任务。但是”KPU“同样也牵扯出很多问题,它和 GPU 的差别在哪?
中科驭数表示,KPU 最为独特的地方在于其定制化的功能核,相反 GPU 和 CPU 采用的均是大规模同质化的核心。KPU 通过数据驱动计算的方式,可以在实现大规模计算并行的同时,运行多指令多数据处理模式。
此外,中科驭数进一步指出,这种方式也不同于 FPGA 在电路层改造。KPU 的核心技术在功能核层,即企业以编译器形式设计了内置的功能核。因此让硬件实现了统一,降低了规模限制的硬件成本和设计周期。还能通过软件编程实现同功能的计算,特定需求只需要增删功能核的种类和数量即可。
总的来看,中科驭数的 KPU 可以兼顾性能和敏捷,然而其是否能够解决问题,还需要从实际角度出发。
在数据中心,IT 设备的能耗往往占据了整体能耗的 50%,一个服务器 CPU 典型的峰值功耗为 80 到 160W,一个 32G 内存的典型操作功耗为 6 到 12W,单碟硬盘的工作功耗约为 10W。这样的能耗分配就使得资源利用率会出现巨大的差异,如 3GB 内存、60%CPU 使用率和 4GB 内存、55%CPU 使用率的性能是几乎一样的,然而前者的能耗却比后者高了 5%。
在资源隔离的情况下,一种资源占用过多便会导致其他应用程序由于该资源无法满足而不能分配到本服务器上,从而导致服务器的低利用率和低吞吐量。事实上也存在着一些调度算法,不过这些调度算法普遍是基于假象模型的,放到真实的系统之中,往往是洋相百出。
另一方面,现有的资源管理欠缺合理的保障机制,其体现在云用户任务的平均响应时间无法降低到合理程度。于是运营商的做法通常是为了在规定时间内响应,只能提供质量较低的服务。服务质量又称 QoS,有着严格的定义,除了 E-Mail 或者一些 Web 应用外,大多数应用都需要遵循该保障机制,但是添加这种机制往往需要运营商采购大量的服务器,再加上设备运营成本的提升,最终形成了低营业利润的局面。
为了实现等效资源配置,一些数据中心会让多个应用共享同一台物理主机。然而这种做法有利有弊,利在于服务器的各种资源配置间存在等效替换的特性,从而提高单个应用程序的能效比,弊在于物理主机提供的是通用解决办法,并不是真正意义上针对该应用提供更好的发挥空间。它只是缓解了 QoS 保障机制欠缺的响应问题,不等于解决了问题。
中国观察