本文在浪潮信息云峦服务器操作系统KeyarchOS环境下,使用IAA硬件加速技术进行了应用验证。
随着云计算、大数据、人工智能等技术的快速发展,数据呈现出爆发式增长趋势,同时驱动着算力持续提升,然而,传统DRAM并未实现同步扩展以满足应用需求,应用对内存容量和带宽不断提高的需求,推动着内存扩展技术不断发展,在此背景下,CXL成为解决内存扩展瓶颈的最有前景的技术;与DRAM内存相比,扩展内存面临高延迟、低带宽的技术挑战,为了解决这些挑战,分层内存技术应运而生。
IAA(全称In-Memory Analytics Accelerator)是一种内置于英特尔®至强®可扩展处理器的硬件加速技术,可以直接在内存中执行特定的数据处理任务,高效执行数据压缩和解压缩操作。
IAA在逻辑上主要分为三个功能块:加密、数据分析和压缩。数据分析管道包含三个子块:解密、解压缩和过滤,这些功能可以被绑定在一起,所以每个分析操作都可以是解密/解压缩/过滤的任意组合,但是压缩和加密不能与任何其他操作链接。
IAA设备支持与RFC 1951中描述的DEFLATE压缩标准兼容。未压缩的数据可以直接写入内存或传递给过滤函数的输入。压缩可以以三种模式运行:霍夫曼模式、统计模式以及霍夫曼生成模式。在霍夫曼模式下,它将读取输入字节流,生成文字和匹配流,使用从AECS读取的霍夫曼表对其进行编码,并将这些霍夫曼代码写入输出缓冲区。在统计模式下,它将计算每个霍夫曼代码出现次数的直方图,而不是将霍夫曼令牌写入输出缓冲区,在处理结束时将直方图表写入输出缓冲区。在霍夫曼生成模式下,能够基于生成的统计数据或基于直接输入的统计数据生成霍夫曼表,并且可选地生成与这些表对应的DEFLATE报头。
IAA 加解密支持以下算法:GCM-AES128、GCM-AES256、CFB-AES128、CFB-AES256、XTS-AES128和XTS-AES256。
SQL过滤器函数块接受一个或两个输入流,一个主要输入流和在某些情况下的次要输入流。主要输入流可以从内存中读取或从解压缩或解密块中接收;次要输入流,它总是从内存中读取。
IAA使用DMA引擎直接从系统内存读取数据和写入结果,无需CPU干预。避免了数据在内存和 CPU 之间的频繁移动。它的优势在于可以减轻 CPU 的负担,提高数据处理效率,尤其是在处理大规模数据时,这使得它在各种数据密集型应用中都有潜在的应用价值。IAA在加密方面通过使用硬件级别的保护,提供比软件解决方案更强的安全保障,使用户和系统能够信任计算平台的完整性和数据的保密性,防止数据泄露。
三、IAA云峦实践
ZRAM:将部分内存空间用作压缩块设备,提高linux系统的响应速度;ZRAM可使用相关工具配置设备大小与压缩算法。
SIOV架构虚拟机:全称Scalable I/O Virtualization,支持IO资源动态管理,支持虚拟机热迁移。
实践场景:ZRAM(如下图所示,这里配置ZRAM使用IAA的提供压缩算法。因为ZRAM具有较高的响应速度,所以使用这种组合可以充分发挥IAA的压缩/解压缩性能,防止因为中间某环节的性能较低导致IAA的加速无法发挥)
实践平台1:物理机 + 云峦服务器操作系统KeyarchOS
蓝色为只使用ZRAM块设备,橙色为使用ZRAM+IAA硬件加速(CPU中集成了2个IAA硬件加速器)。在相同2.2G数据量条件下,使用IAA硬件加速技术在性能上有明显的提升,集成2个IAA硬件加速器时,压缩时间减少70%,带宽提升3.3倍。
实践平台2:SIOV架构虚拟机 + 云峦服务器操作系统KeyarchOS
蓝色为只使用ZRAM块设备,橙色为使用ZRAM+IAA硬件加速(CPU中集成了2个IAA硬件加速器)。在相同2G数据量条件下,使用IAA硬件加速技术在性能上有明显的提升,集成2个IAA硬件加速器时,压缩时间减少26%,带宽提升1.35倍。
售前咨询
售后服务
回到顶部