意法半导体ST-STMicroelectronics-英特尔SAP基础设施对容器化压缩工作
你的位置:意法半导体ST-STMicroelectronics > 芯片产品 > 英特尔SAP基础设施对容器化压缩工作
英特尔SAP基础设施对容器化压缩工作
发布日期:2024-02-05 11:18     点击次数:123

面向英特尔® Agilex™ FPGA 的 OFS 版本包含一个 Docker 与容器一起使用图像文件可以快速启动开发。Docker 图像文件和用户指南可以从开源开源 OFS 获取存储库。

背景

SAP SE 目前,开发人员正在基于云压缩即服务 (CaaS) 创建概念验证 (PoC)。他们选择使用 FPGA 加快计算密集工作负荷,并计划使用 Garden Linux 操作系统 (OS) 其高性能分析设备的发行版 (High Performance Analytics Appliance, HANA) 云上的 Docker 相关工作负载在容器中运行。有了开放式 FPGA 堆栈 (OFS),开发人员可以利用可扩展、可访问源代码的软硬件基础设施,简化自定义板卡和工作负荷的开发。OFS 提供的灵活性使他们能够根据自己的首选配置来验证开发概念,其模块化架构加快了他们的开发速度。SAP SE 它是一家德国跨国软件公司,总部位于巴登符腾堡沃尔多夫镇,专注于开发企业运营和客户关系管理。

SAP HANA 是 SAP SE 开发和上市关系数据库管理系统。SAP HANA 字典编码用于列数据。字符串字典可能包含大量的文本数据,通过压缩来减少内存需求。目前可用的压缩算法有很多种,包括 LZ77、LZR、LZSS、LZMA、ZStandard 等等,但这些算法通常用于将大量信息压缩到模块中。如果以这种方式压缩字典,在访问单个项目之前,必须解压整个文件,这在耗时、计算效率和功耗方面都非常不理想。另一种方法是利用上述算法逐一压缩字典条目,但由于这些算法没有优化少量数据的压缩,效率也很低。

对于需要随机访问压缩数据的应用,如字符串字典,Re-Pair 这是一种非常合适的压缩算法。美中不足的是,Re-Pair 它属于计算密集型算法,成本高。因为它在中央处理器 (CPU) 压缩和解压缩的实施时间过长,因此在数据管理社区中没有得到广泛的应用。然而,现场可编程门阵列 (FPGA) 配置可编程逻辑结构后,算法可大规模并行处理。这意味着像 Re-Pair 这种算法可以在相对较低的功耗下使用 FPGA 上面快速执行。

SAP 使用的操作系统 Garden Linux 是 Debian GNU/Linux 衍生版旨在提供小型和可审计的 Linux 图像,供云服务提供商 (CSP) 部署使用裸机。Garden Linux 运行当前的 LTS Linux 内核可以为前沿企业的服务器硬件提供额外的驱动程序支持。该操作系统使用经过测试的安全构建模块来构建图像,功能灵活多样,并且可以根据不同的工作负载要求进行定制。如何利用这个过程中面临的挑战? SAP HANA 云中的 Docker 容器针对 Re-Pair 原型设计采用压缩工作负载部署。这其中,SAP HANA 云采用的是 Garden Linux OS 以高性能为基础 PCI Express (PCIe) 的 FPGA 加速卡。由于容器包含了运行应用所需的一切,因此使用容器有助于初始部署,也可以简化服务器之间应用的迁移。

SAP 部署首先,SAP 使用共享虚拟内存 (SVM) 板级支持包 (BSP) 获得独立的英特尔® 加速堆栈 2.0 (DCP2.0) OpenCL™ 压缩工作负荷,并将其移植到 OFS。这一步很容易操作,只需要将新的通用共享内存 (USM) BSP 与 OFS 堆栈可以一起重新编译 FPGA 编程文件。这一步很容易操作,只需要共享新的通用内存 (USM) BSP 与 OFS 堆栈可以一起重新编译 FPGA 编程文件。主机代码不需要修改,只需要使用 OFS 重新编译库。

接下来,以 CentOS 7 为基本图像编写 Dockerfile,并在 Dockerfile 实施以下步骤:1确保依赖项已安装或配置。定义一组环境变量。3克隆 OFS Git 存储库。4建立 OPAE。5安装面向 OpenCL™ 的英特尔® FPGA SDK v20.4。6设置额外的环境变量。7.添加压缩主机代码 FPGA 编程文件 *.aocx。8.建立可执行主机。9编写操作脚本。然后,用英特尔® FPGA 可编程加速卡(英特尔® FPGA PAC) D5005 需要使用设置服务器的过程 OFS 固件和 Garden Linux,其中 Garden Linux 已包含 OFS 设备功能列表 (DFL) 驱动程序。自 Garden Linux 5.15 版起,OFS DFL 所有的驱动程序都包含在其内核中,所以 SAP 不需要单独安装 DFL 驱动程序。最后,将 Docker 将容器部署到服务器上并启动。

SAP 为什么要用英特尔?® OFS?

基于英特尔® FPGA 既有参考平台 OFS 支持也是其验证平台。客户和合作伙伴可以使用这些平台进行应用程序评估和开发,然后将应用程序移植到基础上 OFS 自定义或第三方量产板卡。 

这个案例中,SAP 开发人员希望英特尔® FPGA PAC D5005 部署平台。英特尔® FPGA PAC D5005 是一款基于 PCI Express (PCIe) 的高性能 FPGA 适用于数据中心的加速卡。由于英特尔® Stratix® 10 FPGA 的 OFS 英特尔是参考平台® FPGA PAC D5005,因此 SAP 几乎不需要修改 FPGA 接口管理器 (FIM) 在硬件或软件的前提下,完成其容器化工作负载的部署。 

OFS 硬件由一个 FPGA 接口管理器 (FIM) 加速功能单元 (AFU) 区域组成。有了 OFS,板卡 (FIM) 开发人员可以使用提供的基础设施(基础设施) FIM),根据目标工作负荷的接口和协议要求,快速为板卡创建个性化定制 FIM。此外,AFU(工作负荷)开发人员可以使用提供的 FIM 和 AFU 区域和标准化 Arm AMBA 4 AXI 接口(高级可扩展接口)专注于创建自定义工作负载/AFU,且不必担心 FPGA 其余的通信设计工作。  

同样,借助 OFS 开发人员可以使用上游和开源内核驱动程序来加速与通用应用框架的集成。 

SAP 开发人员可以使用提供的基础设施和文件 Re-Pair 压缩工作负荷快速移植到英特尔® FPGA PAC D5005 上。概念验证能够快速、轻松地生成,将有助于 SAP 规划其在生产环境中的部署 FPGA 解决方案。

SAP 所用的 OFS 功能和功能OFS 软件、硬件和应用程序开发人员可以使用标准接口和应用程序编程接口 (API) 加快工作负载开发,实现代码再利用。 

OFS 同时也为不同的操作系统发布版本和部署模型(包括裸机、虚拟化和容器化模型)提供了灵活性。在这种情况下,SAP 开发人员可以利用 Docker 部署工作负载的容器。这是因为从 Garden Linux 5.15 从版本开始,它的核心包含 OFS DFL FPGA 驱动程序。 

SAP 即使开发人员没有深度, FPGA 也可以利用专业知识 OFS 提供的 FIM 对 FPGA 重新编程。得益于模块化、易定制的架构,SAP 开发人员也可以快速、轻松地对待它 FIM 进行修改。 

此外,OFS 还提供了扁平化设计和支持部分重配置两种配置选择 (PR) 开发人员可以充分利用设计 FPGA 可重编程。部分重配功能灵活性高,支持设备运行时重新配置部分 FPGA——保持整个基础设施的完整性和运行状态,以便在不中断整个系统的情况下改变配置。借助 OFS,SAP 开发人员可以在这里 Docker 概念验证用于容器中的部分重配功能。 

按照 OFS 部署流程,SAP 开发人员也可以使用高级设计 (HLD) shim 组件,这种集成 AFU 区域组件,使 OpenCL™ 和 oneAPI 内核可以通过构建正确的数据包协议与运行软件进行通信。SAP 压缩是服务的初步概念验证 OpenCL™ 来运行,SAP 在未来的迭代中采用计划 oneAPI。同样,尽管基于英特尔® Stratix® 10 FPGA 的 PAC D5005 开发平台是对概念验证的初步验证,但 SAP 计划在未来迁移到基于英特尔的基础上® Agilex™ FPGA 的加速卡。

总结OFS 基于设计的解决方案 FPGA 在加速平台解决方案的基础上,这些解决方案可以用于基于英特尔的各种挑战® 至强® 服务器处理器。OFS 使硬件、软件和应用程序的开发人员更容易创建自定义的加速平台和解决方案。 

OFS 提供标准接口和 API,它可以更好地支持代码重用,加快开发和部署。例如,在帮助下 OFS,开发人员可以很容易地部署 Docker 集装箱等集装箱工作负荷。 

最后,通过使用 OFS 基于基础设施、源代码和文档 FPGA 可将开发时间缩短数月的参考平台。