莲子数据——安全可信一体机
基于PolarDB开源生态的可信安全数据库一体机
本文整理自莲子数据硬件系统首席架构师许长魁,在 2022 阿里巴巴开源开放周上的分享。本篇内容主要分为三个部分:
- 项目背景
- 研究进展
- 未来规划
一、项目背景:行业发展现状与项目研发驱动
莲子数据建设开发的基于 PolarDB 的数据库一体机主要包含三个方面六大特点,分别是开放与异构、高效与节能、可信与安全。
项目的立项得益于 PolarDB 开源计划的激励。PolarDB 的 PG 开源版本与莲子数据产品有着非常好的兼容性,保证了数据库的适配工作得以顺利开展。
随着数据维度的扩张,业务对于算力也提出了更高要求。而随着摩尔定律的放缓,所有类别的处理器想要借助先进制程达到性能提升的技术路线难度也越来越大,但是 AI 自动驾驶和高性能计算对于计算性能的要求却越来越高。由此可见,单一的计算架构已经很难满足如今多元化的需求,而这一方面催生了存算分离的架构,另一方面也推动了异构计算的高速发展。
国外,英特尔和ARM均提出了 xpu 概念,但侧重点略有不同。 Intel 主要利用不同的架构处理不同类型的数据,根据处理速度或者带宽的要求进行优化。ARM则对于异构计算强调了全面计算的理念,对 xpu 的定义更多侧重于开放的数据融合计算平台,强调了对于数据流的处理、跨域计算以及多元的算力扩展。
NVIDIA 在超阈异构计算方面主推的是NVLink 以及基于 NVLink 的NVSwitch 芯片,用于 CPU、GPU 以及 GPU 集群之间的高速通信。
阿里云作为国内超阈异构计算的代表,也建设了 CIPU 计算体系。与以上国外厂商不同的是, CIPU 是一种云原生的全新计算体系架构。 CIPU 向下云化管理数据中心的硬件,加速了计算、存储和网络资源的调度;向上能够接入飞天云操作系统。
相比于其他芯片公司,阿里云在实现 CIPU 与云操作系统的深度融合上具备了先天优势。一方面,它具备对底层基础设施资源的虚拟化管理能力,另一方面能够承载飞天对此类资源的编排和调度需求,并且具备存储、网络、计算、安全等硬件的加速能力。
从异构计算的国内外相关布局可以看出,异构计算的本质是将不同架构的处理芯片整合到一个系统上进行工作,具体实施上包含两个方面的含义。其一是板级的集成方式,将 CPU、GPU、FPGA 等置于一个板上进行组合;其二是芯片及封装级的集成方式。两个内含分别涉及到数据总线技术和电子封装技术。
数据总线技术上,PCIE总线经过几十年的发展,已经进入5.0时代,拓展到计算存储加速的方方面面, 6.0 已处于推广阶段,7.0标准也正在制定中。
CXL 又是基于 PCIE5.0 发展而来的一套服务于高性能计算机和数据中心领域的超高速互联新标准,主要用于CPU 和加速芯片比如 GPU、 FPGA等之间的通信能力,能够显着改善多路 CPU和加速卡之间的通信能力,从而保证更低的延迟和内存一致性。
2022 年最新提出的UCIe 互联标准,其目的是解决 chiplet 之间互联的行业标准问题。UCIe、PCIE 与 CXL 进行协同,指明了 UCIe在封装内的chiplet方向和封装外的 off package 应用方向。
从本质上来说, CXL 基于 PCIE发展而来,UCIe的提出也离不开 PCIE 和 CXL 总线的应用铺垫。但是 UCIe 的出现能够统一机柜内互联的物理标准,将 in package 和 off package 统一到整体的框架中,也即一体机硬件研发的架构演进方向。
封装内互联也是 UCIe发挥的另一主场。Chiplet是未来混合异构芯片系统的重要单元,与之相似的另一概念为system in package (SIP封装)。 SIP 封装是将芯片的最小系统进行系统级的二次封装,除了异构的芯片之外,还包含了一些必要的外设和内存单元,以上均为封装内互联的范畴。
我们的工作主要聚焦于板级和机柜空间数据互联的技术方案,期望打造开放的异构数据交换平台。
网络安全的风险源于图灵机原理缺少攻防的理念,这是先天性的不足。并且在设计 it 系统时,也无法穷尽所有逻辑组合,必定会存在逻辑不全的缺陷。因此,需要通过安全可信的计算,在实时运算的同时进行免疫的安全防护,使得存在的缺陷不被攻击者所利用,从而达到预期的计算目标。
可信计算是 1999 年由 IBM、Intel 和 Microsoft 等牵头成立的国际 TCPA组织,后改名称为 Trusted Computing Group (TCG) 组织。该组织于 12 年发布了 TPM 2.0 标准,能够兼容中国的加密算法。后续在Intel 的不断推动下,它也成为了欧盟电信运营商设备采购的必要条件。
我国的可信计算从 1992 年开始立项, 06 年发布了可信计算平台的密码技术方案和可信计算密码智能平台功能与接口规范。先后经过了 1.0 阶段和 2.0 阶段,目前已经发展到 3.0 阶段。
与此同时,近五年在立法和规章的角度也进一步增强了对于可信安全计算的强制性要求。因此,我们认为可信计算需要以双模、软硬一体的方式融入到数据服务中,以提高可信度、安全度和隐私度。
对于数据中心而言,能源成本已经占据了数据中心总成本的一半。因此,减少碳排放既是企业的社会责任,也是提高经济效益的手段。数据中心的高质量发展首先要着眼于提升能效,同时还要兼顾可扩展性、可靠性、安全性等方面的问题。因此,它的建设是一个庞大的系统工程。
节能方面,ARM处理器与X86 相比表现出了明显优势,在同等能耗水平下,ARM处理器仍能够提供相当的算力水平,这一点从此前蝉联四次全球冠军的富岳超算系统上也能够得以体现。亚马逊的 Graviton和阿里云的倚天710 中也能看到基于 ARM 架构实现节能降碳的设计思路。
数据中心的节能解决方案可以分为建设模式节能、制冷系统节能、供配电系统节能、 ICT 的设备节能以及 AI 应用等技术创新。我们的设计主要为设备节能技术路线。
二、研究进展:PolarDB数据库一体机项目详述
莲子数据的数据库一体机采用 24 核心的 ARM 架构 CPU ,搭配了 ECC 内存,能够胜任企业应用级别的稳定性要求,且仅有 5 瓦的功耗,单颗 CPU 能够提供高达 38GFlops/瓦的计算能力,性能功耗比是行业平均水平的 3-8 倍。举个例子,我们可以利用四颗 CPU 进行平行计算,虽然 4 颗 CPU 只能达到其他产品的一颗 CPU 的算力水平,但仅有 20 瓦功耗,而同类产品达到相同算力可能需要近百瓦的功耗。
在数据互联特性上, CPU 间采用了基于 PCIE 的数据总线,也开发了 Dynamic Data Transmission Over PCIE 的异构互联机制,实现了板级设备的高速数据传输。典型机型中,在不到 2u 的空间中集成了 8 个高密度的计算机节点单元,外加相当于万兆交换机的网机互联模块的高速通讯能力。该配置非常适用于云、边、端一体化计算的工业场景中。
上图很好地解释了数据互联机制和传统方法的区别。
传统的数据交换路径以 CPU 为中心, PCIE 的数据交换和以太网的数据交换互相分离,数据交换存在很多绕路行为。而数据互联方案采用了非 CPU 中心化的数据交换路径, Fabric 路径延迟降低50%,TCP/IP 的延迟降低90%。
在存储外设方面,我们基于 PolarDB 的存算分离架构,采用了SAN存储器来进行数据的分离存储,并且对数据读写的路径和空间均进行了优化,增强了数据校验的机制,同时也优化了缓存策略,以满足 QoS 的需求。此外,也优化了在线全局重删的功能,根据读写频度重新选择重删区域,不影响业务的访问性能,删除重复数据前会进行二次比对,避免数据丢失。通过存储系统内置的数据压缩功能模块,对数据进行压缩处理时前端业务系统无感知。上述配置缓解了存储系统的空间增长问题,降低了成本,也从另一方面降低了存储系统的能耗指标。
在可信安全方面,我们通过两部分构建了可信根和可信软件基。系统通过对应用透明的主动可信监控机制来保障应用的可信运行,不修改原应用,而是通过制定策略进行主动实时防护,对业务的性能影响非常小。
基于以上软硬件布局,我们实现了基于可信计算的数据库设备的主动防护。利用可信芯片实现硬件隔离,将安全保护与宿主系统分离,防止安全机制被旁路。同时利用了 USB、PCIE 等标准化的可信根实现了即插即用。可信根通过可信总线与三节点一体机进行通信,利用可信软件基实现芯片级和内存级的可信度量,硬件层的度量实现真正的免疫高级未知攻击的功能。同时,在可信防护中也采用了轻量级的加密技术,减少了密码的运算开销,降低了性能损耗,能够有效应对野外设备性能受限状况下的加密保护场景。
针对可能存在的篡改,可以通过主机的安全防护实现用户、程序、文件、服务、注册表等的访问控制。针对未知危害,可以通过建立核心程序防护来严禁未知程序的执行,从而实现对于未知程序的主动免疫。
基于以上几方面的能力,我们也进行了 ARM 架构的数据库一体机硬件条件下可信安全 PolarDB 的HTAP性能测试。鉴于 CPU 的平行计算特性,我们在测试中选取了最严苛的条件——每个节点单颗 CPU 在 5 瓦超低的功耗性能下,测试了三节点 PolarDB 的性能,操作系统搭载龙蜥 7.9 ,测试工具使用 Benchmark SQL 5.0 和 dbgen,分别进行了 TPCC 测试和 TPCH测试。
TPCC 测试结果显示,测试过程性能输出较为平稳。对比同一硬件条件下的 PG 单机版, PolarDB 采用了分布式架构,由于一致性问题,其性能略低。虽然绝对数值看似不高,但本系统的功耗和成本远低于其他X86 的同类架构。因此,在常规应用中已经能够满足技术要求,尤其适合在边缘计算等工业或苛刻场景下的应用。
TPCH 测试结果显示,随着跨机并行数的增加,TPCH 性能几乎呈线性提升状态,直到并行数达到 CPU 的核心数。在并行数超过 CPU 的核心数之后,性能会有所下降。但是对比同一硬件条件下的 GTDB,在并行度一致的情况下,两者性能相当。
三、未来规划:围绕PolarDB生态的发展规划
在未来的工作中,莲子数据会紧紧围绕 PolarDB 的生态完善使用体验,同时积极拓展场景应用,充分发挥开放异构、节能高效和可信安全的特性。结合 5G 云边端协同的趋势,充分发挥人工智能和专家系统的优势,建立基于 AI 的数据观测机制和系统诊断机制,为专网场景和工业现场等相关需求而努力。
借助阿里云的开放平台,我们希望能够和同行携手共建开放合作的 PolarDB 大生态。感谢诸多合作伙伴为项目的持续优化作出的努力,同时也希望感兴趣的同行能够参与其中,共同进步。