英特爾 開放式 FPGA 堆棧和英特爾 可編程加速卡提供基于 FPGA 的基礎(chǔ)設(shè)施,滿足加速開發(fā)概念驗(yàn)證的需求。
概覽
SAP 開發(fā)人員希望通過仔細(xì)研究 FPGA 的應(yīng)用情況,加速運(yùn)行計(jì)算密集型 Re-Pair 壓縮算法,并利用 Docker 容器促進(jìn)云端部署。
在英特爾 開放式 FPGA 堆棧(英特爾 OFS)和英特爾 FPGA 可編程加速卡 (英特爾 FPGA PAC)D5005 的支持下,SAP 利用其 HANA 云的 Docker 容器順利實(shí)現(xiàn)了 Re-Pair 壓縮工作負(fù)載。HANA 云采用的是 SAP 自有的 Garden Linux 操作系統(tǒng) (OS)。
“現(xiàn)在,借助英特爾 開放式 FPGA 堆??蚣芎陀⑻貭?FPGA 可編程加速卡 D5005,我們幾分鐘之內(nèi)就能將壓縮算法部署到運(yùn)行在我們 Garden Linux 操作系統(tǒng)上的 Docker 容器中。在英特爾 平臺(tái)加速技術(shù)的支持下,SAP 如今可使開發(fā)人員享受到在 HANA 云中對 FPGA 進(jìn)行重新編程的諸多益處?!?/p>
— Norman May 博士,
SAP SE HANA 中心(數(shù)據(jù)庫)架構(gòu)師
執(zhí)行概要
SAP 開發(fā)人員希望就基于云的壓縮即服務(wù) (CaaS) 創(chuàng)建概念驗(yàn)證 (PoC)。他們需要利用 FPGA 來加速運(yùn)行計(jì)算密集型 Re-Pair 壓縮算法,并希望在基于 SAP 自有 Garden Linux 操作系統(tǒng) (OS) 的 SAP HANA 云中使用 Docker 容器。
英特爾 開放式 FPGA 堆棧(英特爾 OFS)能夠利用由英特爾 FPGA 提供支持的英特爾或第三方平臺(tái),簡化自定義板卡和工作負(fù)載的開發(fā)和部署。SAP 開發(fā)人員利用英特爾 開放式 FPGA 堆棧將字符串壓縮工作負(fù)載更快地部署到了英特爾 FPGA 可編程加速卡 D5005 上。此外,他們還可以根據(jù)英特爾 開放式 FPGA 堆棧的部署流程對 Docker 容器加以利用。這是因?yàn)閺?Garden Linux 5.15 版開始,所有版本的產(chǎn)品內(nèi)核都包含英特爾 開放式 FPGA 堆棧設(shè)備功能列表 (DFL) 的 FPGA 驅(qū)動(dòng)程序。
借助英特爾 開放式 FPGA 堆棧,SAP 可以有效利用基于英特爾 FPGA 的設(shè)備所提供的工作負(fù)載可移植性、由支持英特爾 開放式 FPGA 堆棧的合作伙伴板卡和工作負(fù)載組成的不斷發(fā)展壯大的生態(tài)系統(tǒng)、裸機(jī)/虛擬化/容器化部署的靈活性,以及上游和開源內(nèi)核驅(qū)動(dòng)程序及用戶空間代碼。
背景與挑戰(zhàn)
SAP SE 是一家位于巴登-符騰堡州沃爾多夫鎮(zhèn)的德國跨國軟件公司,專業(yè)開發(fā)管理企業(yè)運(yùn)營和客戶關(guān)系的企業(yè)用軟件。
SAP HANA 是 SAP SE 開發(fā)和上市的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。這款企業(yè)級數(shù)據(jù)庫服務(wù)器, 能夠根據(jù)上層應(yīng)用的請求利用其列式內(nèi)存存儲(chǔ)技術(shù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和檢索,以支持混合事務(wù)/ 分析處理。
SAP HANA 的列數(shù)據(jù)使用字典進(jìn)行編碼,將域值映射為固定大小的值。尤其需要注意的是,字符串字典可能包含大量文本數(shù)據(jù),這些數(shù)據(jù)需通過壓縮來降低內(nèi)存需求。目前可用的壓縮算法有很多種,包括 LZ77、LZR、LZSS、LZMA、ZStandard 等,但這些算法常用于將大量信息壓縮到單個(gè)塊中。如果以這種方式壓縮字典,就必須解壓縮整個(gè)文件才能訪問單個(gè)條目,這在時(shí)間、計(jì)算和功耗方面都效率極低。或者,也可以利用上述算法逐個(gè)壓縮字典條目,但由于這些算法沒有針對少量數(shù)據(jù)的壓縮進(jìn)行優(yōu)化, 因此同樣很低效。
Re-Pair 這種壓縮算法非常適合像字符串字典這類需要隨機(jī)訪問壓縮數(shù)據(jù)的應(yīng)用。美中不足的是,Re-Pair 屬于計(jì)算密集型算法且成本高昂。由于其在中央處理器 (CPU) 上實(shí)施壓縮和解壓縮的時(shí)間過長,因此并未在數(shù)據(jù)管理社區(qū)中得到廣泛應(yīng)用。不過,現(xiàn)場可編程門陣列 (FPGA) 的可編程邏輯結(jié)構(gòu)經(jīng)過配置后,可以大規(guī)模并行執(zhí)行算法處理。這意味著像 Re-Pair 這樣的算法藉此能夠以相對較低的功耗得到快速執(zhí)行。
Garden Linux 是 Debian GNU/Linux 衍生版本,旨在提供小型、可審計(jì)的 Linux 映像,供云服務(wù)提供商 (CSP) 和裸機(jī)部署使用。SAP 有自己的 Garden Linux 發(fā)行版本。
在計(jì)算上下文中,容器是一個(gè)功能齊全且可移植的云或非云計(jì)算環(huán)境。它包括應(yīng)用、任何庫及其他依賴項(xiàng)。使用容器有利于將應(yīng)用從一臺(tái)服務(wù)器遷移到另一臺(tái)服務(wù)器,這是因?yàn)檫\(yùn)行該應(yīng)用所需的一切都已在容器內(nèi)。當(dāng)前,Docker 是很多云服務(wù)提供商常用的容器類型。
面臨的挑戰(zhàn)是,如何利用 SAP HANA 云中的 Docker 容器針對 Re-Pair 壓縮工作負(fù)載部署進(jìn)行原型設(shè)計(jì)。這其中,SAP HANA 云采用的是 Garden Linux 操作系統(tǒng) (OS) 以及基于高性能 PCI Express (PCIe) 的 FPGA 加速卡。
解決方案
英特爾可編程解決方案事業(yè)部提供多種先進(jìn)的 FPGA 和 SoC FPGA,以及各種基于 PCIe 的高性能 FPGA 加速卡,其中包括基于英特爾 Stratix 10 FPGA 的英特爾 FPGA PAC D5005。
英特爾 開放式 FPGA 堆棧則是上述 FPGA 加速卡的補(bǔ)充。作為一種可擴(kuò)展、可訪問源代碼的軟硬件基礎(chǔ)設(shè)施,它能夠解決與設(shè)計(jì)基于 FPGA 的加速平臺(tái)解決方案相關(guān)的挑戰(zhàn)。這些解決方案都部署在基于英特爾 至強(qiáng) 處理器的服務(wù)器上。
英特爾 開放式 FPGA 堆棧的推出,使軟件、硬件和應(yīng)用開發(fā)人員能夠使用標(biāo)準(zhǔn)接口和應(yīng)用編程接口 (API) 來加速工作負(fù)載開發(fā)并實(shí)現(xiàn)代碼復(fù)用。此外,該堆棧還支持對應(yīng)用進(jìn)行裸機(jī)、虛擬化或容器化部署。
英特爾 開放式 FPGA 堆棧提供的軟硬件基礎(chǔ)設(shè)施可讓用戶專注于自己別具特色的應(yīng)用。在本案例研究中,SAP 開發(fā)人員利用提供的基礎(chǔ)設(shè)施將 Re-Pair 壓縮工作負(fù)載快速移植到了選定的基于英特爾 FPGA 的加速器上。按照英特爾 開放式 FPGA 堆棧的部署流程,他們還可利用高級設(shè)計(jì) (HLD) shim 組件,即一系列能夠?qū)崿F(xiàn)基于高級設(shè)計(jì)的工作負(fù)載支持的軟硬件組件。
OpenCL 和 oneAPI 屬于高級設(shè)計(jì)框架,用于跨 CPU、圖形處理器 (GPU)、數(shù)字信號處理器 (DSP)、FPGA 和人工智能 (AI) 加速器等不同計(jì)算加速器架構(gòu)的異構(gòu)計(jì)算。SAP 基于云的壓縮即服務(wù) (CaaS) 的初步概念驗(yàn)證 (PoC) 目前利用 OpenCL 來運(yùn)行,SAP 計(jì)劃在未來的迭代中采用 oneAPI。
英特爾 開放式 FPGA 堆棧還能賦予不同的操作系統(tǒng)發(fā)行版本更大的靈活性,便于通過擴(kuò)展為管理和編排框架提供支持。在這種情況下,SAP 開發(fā)人員能夠利用 Docker 容器來部署工作負(fù)載。此外,英特爾 開放式 FPGA 堆棧還提供兩種配置選擇,即扁平化設(shè)計(jì)和支持部分重配置 (PR) 的設(shè)計(jì),使開發(fā)人員能夠充分利用 FPGA 的可重新編程性。部分重配置功能具有高度靈活性,它支持在設(shè)備運(yùn)行時(shí)重新配置部分 FPGA——使整個(gè)基礎(chǔ)設(shè)施保持完整性及運(yùn)行狀態(tài),藉此在不中斷整個(gè)系統(tǒng)的情況下更改配置。借助英特爾 開放式 FPGA 堆棧,SAP 開發(fā)人員能夠在 Docker 容器內(nèi)利用部分重配置功能進(jìn)行概念驗(yàn)證。
通過利用英特爾 開放式 FPGA 堆棧和英特爾 FPGA 可編程加速卡 D5005 對 Re-Pair 壓縮工作負(fù)載進(jìn)行原型設(shè)計(jì),SAP 能夠?qū)⑹走x配置用于采用了支持 Docker 容器運(yùn)行的 Garden Linux 操作系統(tǒng)的云基礎(chǔ)設(shè)施。這是因?yàn)閺?Garden Linux 5.15 版開始,所有版本的產(chǎn)品內(nèi)核都包含英特爾 開放式 FPGA 堆棧設(shè)備功能列表 (DFL) 的 FPGA 驅(qū)動(dòng)程序。
本案例研究提供了一個(gè)極好的范例,展現(xiàn)了英特爾 開放式 FPGA 堆棧提供的基礎(chǔ)設(shè)施和靈活性如何使 SAP 能夠運(yùn)用所需的配置并在短時(shí)間內(nèi)移植工作負(fù)載。
結(jié)果
本案例研究展示了 SAP 如何受益于 Docker 容器內(nèi)基于 FPGA 的可重新編程性以及在自己的云中輕松完成部署。
這類部署因?yàn)槭褂昧擞⑻貭?開放式 FPGA 堆棧參考基礎(chǔ)設(shè)施、源代碼、文檔和英特爾 FPGA 可編程加速卡 D5005 硬件參考平臺(tái)而得以加速。由于 SAP 可在自己的云基礎(chǔ)設(shè)施中部署概念驗(yàn)證,因此能夠盡早制定計(jì)劃在生產(chǎn)中部署 FPGA。另外,英特爾 開放式 FPGA 堆棧的靈活性還有助于 SAP 利用 OpenCL 或 oneAPI 遷移到基于英特爾 Stratix 10 FPGA 和英特爾 Agilex FPGA 的其他英特爾或第三方平臺(tái)。
審核編輯 :李倩
-
英特爾
+關(guān)注
關(guān)注
61文章
9983瀏覽量
171944 -
SAP
+關(guān)注
關(guān)注
1文章
385瀏覽量
21676
原文標(biāo)題:白皮書 | 英特爾? FPGA 助力 SAP 打造高性能壓縮算法原型設(shè)計(jì)
文章出處:【微信號:英特爾FPGA,微信公眾號:英特爾FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論