烟台新闻网

中国高通量计算机的自主研发之路

中国网络/中国发展门户网站新闻近年来,随着互联网技术的飞速发展,互联网每天产生的数据量急剧增加。以一些典型公司为例:淘宝网每天有数千万笔交易,其单日数据生成量超过50TB;百度每天处理大约200亿次搜索请求,处理数百PB的数据;腾讯网络日覆盖超过1.5亿人,腾讯视频每月共播出800亿次; Facebook每月有超过20亿注册用户和数百亿张照片上传。根据国际数据公司(IDC)的数据,到2025年,全球需要管理的数据量将超过160 ZB。如何有效地处理这些数据将成为一个大问题。

在这种背景下,高性能计算的主流应用已经从传统的科学和工程计算发展到数据处理。但是,由于网络应用程序和软件技术的差异,需要处理的数据格式和速度各不相同。此外,微博,团购和“粉碎”等网络应用的出现,对大规模数据和QoS(服务质量)的实时处理提出了更高的要求。因此,互联网技术普及带来的新特性给当前的高性能处理器芯片和计算机系统带来了巨大的挑战。

我们都知道芯片和系统是信息产业发展和安全的基础。虽然中国的信息服务业蓬勃发展,但支持中国信息产业的核心设施受到人们的重视,尤其是关键芯片和核心系统。颈部“相关问题。目前,国内数据中心的中央处理器(CPU)芯片市场几乎完全被英特尔和AMD在美国分割,而加速器芯片主要由NVIDIA在美国垄断。核心技术使中国整个信息产业面临严重的工业安全问题,特别是当前中美经贸摩擦不断加剧,只有科学技术自主权才能不受制约。

10年前,中国科学院计算技术研究所一直在积极开展高通量计算机的研究。经过多年的科研积累,核心芯片和计算机系统已经形成了许多创新,并开始逐步投资于工业应用。

什么是高通量计算机

传统科学和工程计算应用程序中的高性能计算功能包括:单个任务,不频繁的负载变化,单个任务的大量计算以及良好的局部性。高吞吐量计算在数据中心的应用主要用于新兴的场景,如互联网和物联网。其特点是:任务多样,单一任务往往具有流媒体计算功能;计算量相对较小,但并发任务和数据的数量规模巨大;并且处理要求是实时的。

传统高性能计算机的目标是提高速度,即缩短单个并行计算任务的运行时间;而类似数据?行牡挠τ孟低持荚谑迪指咄掏铝浚矗岣呙康ノ皇奔涞娜挝窕蚴荽淼耐掏铝俊U庵志哂小案蟆毙阅艿母咝阅芗扑慊莆咄掏铝考扑慊H绻ㄒ甯咄掏铝考扑慊蚩梢越涿枋鑫咄掏铝考扑慊且恢中碌母咝阅芗扑慊梢栽谇看蟮氖奔湎拗葡氯执砀卟⒎⑶肭螅杂Χ訧nternet等新兴应用程序负载特性大数据。其核心功能是保证并发性,实时性和确定性。

高吞吐量计算机和传统高性能计算机在目标应用,计算功能和设计目标方面存在明显差异(表1)。然而,由于高性能计算的悠久历史,主流通用计算机和高端计算系统的发展受到它的深刻影响,这使得当前数据中心的主流数据中心具有高并发性和高并发性。强大的网络服务实时性。 Flux显示出很多不足之处。为了进一步了解计算机体系结构的高吞吐量应用程序的需求,我们测试了基于当前主流高性能服务器(使用Intel Xeon CPU)的典型高吞吐量应用程序,并确定了以下问题。

浪费缓存资源。 CPU上的高缓存未命中率表明高吞吐量应用程序与传统的高性能计算应用程序有很大不同。传统的多级缓存设计不适合。在面积和功耗方面,共享缓存不起作用,但它占用了大量的片上区域(在英特尔的主流服务器芯片中,片上存储通常占30%以上),导致大量功耗数量。

内存带宽利用率很低。在CPU使用率超过70%的压力测试下,内存带宽的有效使用率通常低于10%。这表明在高吞吐量应用负载下,传统计算机体系结构设计下的存储器带宽尚未得到有效利用。

服务质量难以保证。当任务的并发负载增加并且CPU利用率保持在较高水平时,我们发现应用程序完成时间迅速延长,即系统的尾部延迟显着增加,导致大量的故障敏感的应用程序。因此,在传统的服务器系统上,必须保持较低的硬件利用率才能获得良好的用户体验。

从上述实验结果可以看出,现有高性能计算机系统的设计并不能满足高吞吐量应用的新特性。因此,需要研究新的高吞吐量计算架构。

高通量计算的基本理论

与传统的高速高性能计算相比,高吞吐量计算的核心是追求高吞吐量,这是更多。它包括三个核心元素,即高吞吐量,高利用率和低延迟。

高吞吐量。它指的是每单位时间完成的任务数或响应请求数。对于Internet应用场景,数据中心的核心挑战之一是实时响应大量并发用户请求。以2018年天猫“双11”全球嘉年华为例。实时数据处理峰值超过6亿/秒,支付成功的高峰超过300,000 /秒。数据中心必须充分利用各种并行性来应对如此巨大的实时并发处理需求。

利用率高。它指的是计算机系统中核心组件(例如CPU,内存,网络等)的高利用率。今天的大型数据中心通常包括数十万甚至数百万台服务器,数十亿美元甚至数十亿美元的建设。但是,为了确保用户的服务质量,现有数据中心必须控制较低级别的利用率,因此整体利用情况并不理想。根据公开数据,2013年谷歌数据中心的平均CPU利用率仅为30%,而其他互联网公司运营的数据中心的利用率甚至低于此值。可以看出,在现有架构下,很难在实现高利用率的同时实时满足用户的处理需求。

低延迟。用户请求的响应时间很短。 Internet上的大多数在线服务都具有明显的实时交互特性,如果满足给定的实时约束,数据中心必须确保返回结果,否则服务将失败。例如,诸如图像识别或语音翻译之类的一些人工智能(AI)应用场景通常需要毫秒的响应时间,这对于当前的计算机系统来说是一个巨大的挑战。

针对上述高吞吐量,高利用率,低延迟设计要求,我们提出了基于“系统熵”的通量分析模型。系统熵主要受三个因素的影响:延迟不确定性(波动),资源利用率和吞吐量。简单来说,系统熵与延迟的波动率成正比,与资源利用率和系统吞吐量成反比。因此,延迟波动越大,系统熵越大;资源利用率越高,吞吐量越大,系统熵越小。类似于“热力学熵”的使用,我们可以通过“系统熵”反映计算机系统中的易感性或不确定性程度。

“熵,伤也。”高熵系统往往昂贵且昂贵。与高熵系统相比,低熵系统具有更好的可预测性,更高的效率,更低的成本,更受用户青睐。有人问美国能源部副部长Steven Koonin,为什么电能如此受欢迎?他回答说,因为电是一种低熵能源。如上所述,为了确保用户服务的质量,现有数据中心的平均CPU利用率非常低。一旦利用率增加,负载性能的波动将迅速增加。因此,当前的数据中心计算系统仍然是高熵系统。高吞吐量计算机的核心目标是降低系统熵,从而降低系统的不确定性;并通过高吞吐量计算机提高系统利用率和任务吞吐量,同时避免应用程序性能波动。

高吞吐量计算关键技术

为了满足高吞吐量计算的高吞吐量,高利用率和低延迟要求,我们需要将当前的计算机体系结构设计从“面向速度”转变为“面向通量”,以确保计算机系统满足高吞吐量和低延迟。同时,可以实现高利用率。为响应上述目标,中国科学院计算技术研究所提出了一系列高通量计算机开发的关键技术,包括高吞吐量多核架构,高吞吐量片上数据路径和标记架构。

高吞吐量多核架构

针对高吞吐量应用中的大量并发处理需求,我们提出了龙芯-T多核处理器架构,以实现高吞吐量的任务。与传统的多核处理器相比,龙芯-T采用多核架构提供丰富的并发处理能力,并采用片上网络,片上存储,同步模型和通信机制等创新设计方法,实现高吞吐量任务。而且延迟很低。

易于扩展的片上网络。 Godson-T使用易于扩展的二维网格片上网络,同时支持拥塞感知和能量感知动态路由算法,以在高并发场景中实现片上网络负载平衡,从而确保低延迟用于网络通信。

精细的可配置片上存储。 Godson-T的片上存储支持细粒度的可配置性,可在高吞吐量情况下更好地适应复杂的数据访问模式,并减少延迟。

快速同步机制。我们设计了片上同步管理结构,以支持基于数据流的核之间的细粒度快速同步。与传统的基于存储器的同步机制相比,性能可以提高几个数量级。

可编程数据通信机制。 Godson-T提出了一种可编程数据传输引擎架构,可实现快速数据传输(片上处理器内核之间)和垂直(从内存到片上存储),以实现数据通信中的低延迟。

龙芯-T多核处理器架构受到了国际同行的广泛关注。 2011年,处理器领域的知名期刊《微处理器报告》(微处理器报告)报道了龙芯-T的研究成果并于2011年选择了它。世界十大服务器处理器之一。

高吞吐量片上数据路径

“面向通量”的处理器数据路径设计也是确保“高吞吐量,低延迟”的关键。我们借鉴城市交通管理的理念来进行设计。在结构特征,资源管理和调度策略方面,高吞吐量计算与城市交通管理非常相似。两者的核心特征是高吞吐量,即在单位时间内完成尽可能多的处理请求,并确保QoS。表2给出了两者之间的类比。

RVyNxuS92oS3Tj

针对应用程序的新功能,高吞吐量数据路径专注于最基本的数据读取,数据传输(访问通道)和数据处理的创新。

数据阅读链接。针对应用程序中大量细粒度的内存访问需求,设计了一个基于硬件的内存访问请求集合表,该表收集并批量处理大量细粒度的内存访问,避免了一段时间内的长时间延迟 - 敏感的收集窗口控制机制。任务无效。

数据传输链接。针对大量细粒度存储器访问的需求,提出了高密度路网设计,以提高片上网络的利用率和吞吐量。支持动态路径调整,根据数据传输压力动态调整传输路径配置,提高信道利用率。此外,通过直连快速网络保证低延迟关键数据路径。

数据处理。提出了一种硬件支持的全局实时任务调度机制,根据优先级和剩余边际时间调度任务,有效保证了任务的QoS。同时,避免了时间裕度不足的无效任务调度,从而保证了硬件资源的合理使用。

标记架构

为了在高吞吐量和低延迟的同时实现高利用率,我们提出了Labeled von Neumann架构(LvNA;图1)。 LvNA的主要思想是在经典冯诺依曼架构上添加基于标记机制的可编程接口,以便总线和共享硬件组件支持“DIP”功能,即D-Distinguishing,I-Isolation,P - 优先处理,从而减少计算机系统内资源竞争造成的干扰。

RVyNxuo7PAxFXW

图1标记的冯诺依曼架构

D属性标记机制。在LvNA中,标签附加到所有数据访问请求,以识别请求源自哪个应用程序(或应用程序类),并沿着整个计算机系统与数据访问请求一起传播。以这种方式,总线和共享硬件组件可以通过检查数据访问请求的标签来区分对不同应用程序(或应用程序类)的请求,从而支持区分属性(D属性)。

我归因于标签机制。总线和共享硬件组件可以基于数据访问请求的源区分来隔离请求访问的空间资源(例如缓存,存储器地址空间等),并减轻或消除由共享冲突引起的干扰。太空资源。从而支持隔离属性(I属性)。

P属性标记机制。总线和共享硬件组件可以根据数据访问请求的源差异优先考虑请求使用的性能资源(例如队列,带宽等),并减轻或消除由性能资源的共享冲突引起的干扰。因此,支持优先级属性(P属性)。

基于上述标记机制,控制逻辑根据预设规则基于标签对相应的数据访问请求实现不同的性能控制策略。这些性能控制策略是软件可编程的,并且可以比传统操作系统的性能更精细,从而为延迟敏感的应用程序提供更好的性能控制。

LvNA的硬件增强不会改变现有指令的语义,因此不会对软件系统产生干扰,也不需要修改操作系统和应用程序。此外,LvNA不依赖于对处理器流水线结构的更改,而是可以应用于任何处理器。

高吞吐量计算核心芯片,系统和应用程序

为了验证核心芯片和系统中高吞吐量计算机的核心技术,中国科学院计算技术研究所开发了高吞吐量多核处理器 DPU-m,标记架构“火”,和Qualcomm Volume计算机系统“金刚”等,并开展实际应用。

DPU-m高吞吐量多核处理器

我们完成了DPU-m高吞吐量多核处理器芯片(图2)的设计和流片,该芯片基于TSMC 40 nm工艺,旨在满足互联网的高吞吐量视频处理需求。与英特尔相同的处理芯片(数据处理领域的主流芯片)相比,能效提高了20多倍。

RVyNxvOFYPS4rd

图2 DPU-m原型芯片和加速卡

目前,国内外已经部署了基于独立技术的高吞吐量处理系统。在中国,它已进入全国高通量网络数据监测和分析领域,如国家计算机网络和信息安全管理中心,中国移动,中国联通等,有效保护国家信息安全。在国外部署了数千个节点,以服务于国家“一带一路”倡议。

“Flame”标记架构原型系统

“Flame”原型系统(图3)是基于LvNA的FPGA原型系统,包括8个节点; Rocketchip基于SiFive freechips项目的开源SoC实现,并添加了标记的基础架构和应用程序标签。控制平面。该系统已达到国际先进水平(同一平台于2018年6月由加州大学伯克利分校发布),标签功能处于国际先进水平。目前,“火”原型系统已向公众开放,并被中国科学院深圳先进技术研究院,清华大学,北京大学,天津大学用于尖端研究和产品开发。大连理工大学,华为海思半导体和克莱姆森大学。

RVyNxwLItQLqnG

图3“火焰”原型系统

“金刚”高通量计算机

2018年10月,中国科学院计算技术研究所和北京中科瑞信科技有限公司在中国计算机大会(CNCC)上发布了第一台高通量计算机系统“金刚”(图4) )。系统已集成。该团队在高吞吐量处理器,高吞吐量系统,高吞吐量软件和应用程序方面的创新技术可满足数据中心基础架构的需求,具有高吞吐量,高利用率和低延迟。与传统服务器相比,在典型应用场景(如高音视频处理和深度学习)中,需求与能源效率相比提高了一个数量级。目前,随着高吞吐量计算机系统的成功开发,高吞吐量计算技术将逐步应用于国民经济的主战场,为国民经济和民生做出贡献。

RVyNyOhAFKJ9qb

图4“金刚”高通量计算机

高吞吐量计算中心建设

目前,城市公共计算基础设施仍然由超级计算中心和云计算中心主导。超级计算中心采用传统的高性能计算架构,其核心是“快速计算”;如果它通过车辆进行类比,它对应于飞机,其特点是速度快,完成时间短。云计算中心的核心是在面对多样化的计算需求时实现“反节能”。对应于车辆中的车辆,汽车可以在大多数旅行场景中实现低成本和高利用率的目标。然而,飞机和汽车都有很大的局限性:虽然两者都可以保证在交通量较低的情况下提供更好的服务质量;然而,一旦交通负荷迅速上升,很容易造成拥堵并导致完工。时间急剧增长,很难保证服务质量。高吞吐量计算的核心是突破上述限制,并在高负载条件下实现“计算”,类似于高速铁路。高速铁路是当前运输的最佳解决方案,可以在高负荷,高利用率的前提下有效保证客户服务质量。

随着用户出行需求的多样化,交通系统不断发展和完善。同样,随着对应用程序的需求不断变化,未来的城市公共计算基础设施需要不断发展和完善。面对未来十亿级设备的新需求,您需要为计算和传输提供更高的吞吐量,更高的智能性,更高的确定性,更低的延迟和更低的功耗,而高吞吐量计算中心无疑将发挥越来越重要的作用。

中国科学院计算技术研究所正在建设一个高通量计算中心。根据计划,第一步将建立一个或两个高吞吐量计算示范中心,然后在全国主要城市建立高吞吐量计算中心。逐步实现高吞吐量计算技术与新兴产业的无缝集成。目前,该市首个高通量计算中心已在江苏省盐城市入选。中国科学院计算技术研究所团队负责高通量计算中心的总体设计,核心设备开发和日常运营。盐城高通量计算中心将重点支持高吞吐量视频处理和人工智能加速,作为盐城智能产业升级的核心公共研发平台。

总结和建议

经过长期的努力,中国在高性能计算机的发展方面取得了一系列显着成就。但是,我们也看到无论是传统的超级计算机中心还是新兴的互联网数据中心,核心芯片受人们欢迎的现象仍然非常严重。

为了确保中国信息产业的安全和可持续发展,有必要以高吞吐量计算和其他新兴应用场景为突破口,加强核心芯片和计算系统的自主研发和产业应用,逐步建立独立可控的工业生态。为此,本文提出以下建议。

在政策方面,政府已明确界定以高吞吐量计算为代表的新兴技术的战略定位。一方面,加强以芯片和系统为代表的核心技术专业化和科研投入;另一方面,针对本地化的独立核心技术,增加国家有关部门高通量计算相关信息基础设施项目的布局和建设。选择国家重点城市进行试点和验证。

在行业方面,我们将整合高吞吐量计算相关研究单位,大学和企业,并推动相关产业联盟的建设。促进高吞吐量视频处理和人工智能等工业应用,优先引入工业生态学。此外,为响应国家“一带一路”倡议,我们将积极探索核心技术产品的出口应用,扩大国际影响力。 (作者:叶晓春范东瑞包云冈孙宁辉,中国科学院计算技术研究所《中国科学院院刊》饲料。)