採訪Intellirop首席執行官Hiren Patel

視頻腳本

Marcus Weddle, BittWare

歡迎觀看我們的視頻,重點介紹FPGA加速存儲,重點介紹IntelliProp的一個名為NVMe橋接平臺的框架。

今天和我在一起的是IntelliProp的首席執行官Hiren Patel。感謝您加入我!

IntelliProp首席執行官Hiren Patel

謝謝你,馬庫斯——很高興來到這裡。

馬庫斯

讓我們從簡單的構建塊開始。因此,我們有了SSD存儲 - 非常快的存儲 - 但是我們不會將其插入主機PCIe總線,而是將FPGA放在中間。所以第一個問題是你為什麼要這樣做?

海倫

可能有幾個原因,但SSD前面的FPGA允許構建數據採集系統,可以將數據直接存儲到SSD上,然後稍後通過PCIe從主機讀回。
但同樣,您可以預載入數據採集。您還可以使用橋接器來攻擊這個現在正在探索的新市場 - 它正在增長 - 它是計算存儲。
我們有能力將某些加速器功能直接卸載到FPGA中,然後FPGA可以從SSD中檢索數據,對其進行處理,將其推回或將其推回主機。所以這可能是目前最大的兩個原因。

馬庫斯

對於數據採集或數據採集,使用FPGA有什麼獨特之處?因為。。。還有其他數據捕獲方法...那麼,使用FPGA然後使用這個橋接框架有什麼獨特之處呢?

海倫

是的,又是一個很棒的問題。在FPGA中,把FPGA想像成一張空白的畫布,對吧?因此,使用FPGA,我們有很多互連。我們有很多連接點,您可以在其中開始放置其他類型的數據採集,溫度感測器等 - 您可以開始獲取這些數據並將其丟棄到SSD上。這是主要標準之一。

另一個標準是,FPGA內置了強大的處理能力,現在你有ARM內核,你可以放下多個處理器。您可以在數據到達SSD之前對其進行各種處理。

尤其是橋樑 — 為什麼要使用橋樑?橋接主要允許數據通過,因此它可以允許寫入通過,它可以允許讀取通過。但它也可以攔截某些命令。它可以根據需要攔截數據,因此主機可以直接向FPGA發出命令,然後讓FPGA從SSD中檢索更多數據,執行搜索或某種加速功能所需的操作,然後將該數據推回。因此,FPGA有很多用途。

我想說的另一件事是,使用FPGA,因為它是如此可定製,你實際上可以採用單個FPGA並將其構建在多個產品中。您可以將SSD前面的FPGA作為空白產品,然後可以攻擊不同的演算法或不同的加速。

一種演算法可以是壓縮,另一種可以是解壓縮,可以是加密。你也可以做一些事情,比如搜索。這些都是針對您特定需求的加速器功能,而不僅僅是一刀切。

馬庫斯

因此,Hiren,您現在已經通過框架的橋接元件引入了這個概念,在該元件中,您已經使該主機CPU能夠看到SSD(即使它們直接連接到FPGA),而不是主機PCIe總線。現在,這有好處 - 但是這是否要求使用者運行特殊的API,或者他們必須修改他們的軟體才能使所有這些工作?

海倫

不,不是開箱即用。開箱即用,只需在外殼中安裝橋接平臺,您就可以將我們插入主機PC和SSD之間。不,沒有什麼需要改變。主機實際上會枚舉 SSD,就好像它是直接連接的一樣。
現在,再次,當您開始進入加速功能或數據捕獲時,您可能需要額外的驅動程式,或者您可以通過供應商細節完成所有操作。有一些 CLI 允許您將特定於供應商的命令直接發送到網橋中 — 網橋可以截獲這些命令,然後根據需要處理數據。

馬庫斯

現在我們來談談具體的BittWare硬體和性能。我認為重要的是要注意,市場上確實沒有那麼多FPGA卡可以像BittWare IA-840F那樣直接將SSD連接到FPGA,您可以在這裡看到。我們還擁有英特爾最新晶元的優勢,該卡上裝有Agilex FPGA。那麼,這些東西可以帶來哪些好處和指標呢?

海倫

是的,當然。顯然,這些較新的FPGA正在推動PCIe越來越快的發電速率。今天,我相信這些Agilex板可以進入Gen 4,Gen 5即將推出。我認為這些董事會本身就是一個巨大的成就。

然後,再一次,通過橋接器,您可以讓Gen 4 x16朝向PC,然後在背面 - 您可以聚合多個SSD。只需在Gen4 x4上使用四個SSD就可以幫助飽和其中的一些。

我們還可以在Gen 3 x4車道上安裝八個驅動器,以説明使其飽和。
因此,我們可以有四個驅動器返回那裡,八個驅動器返回那裡 - 我們可以有很多驅動器。但基本上,所有這些流量都通過FPGA,允許我們在其上進行計算存儲或數據採集。

馬庫斯

這些頻寬數字是什麼?假設您有四個驅動器連接到 FPGA,甚至 FPGA 連接到一個具有八個驅動器的 PCIe 交換機 , 那麼在 Gen4 PCIe 級別上,有哪些性能數據可以期待呢?

海倫

因此,在第4代級別,我會懷疑它 - 僅在單個驅動器上 - 我懷疑我們應該接近每秒6,000兆位元組。以Gen 3速率,我們已經能夠展示我們的橋樑以每秒3,000多到近3,500兆位元組的速度運行。我預計在第4代中會翻一番。

馬庫斯

然後,在部署FPGA時經常出現的另一個問題是,他們自己的IP與Bridge IP一起可以容納多少自己的IP?換句話說,你為別人留了多少空間?所以你能不能簡單地談談這個問題...

海倫

是的,聽起來很棒。在這個特定的板上,我認為那裡有一個AGF027部分。我想說,這部分可能有大約900,000個ALEs / ALM。我們使用大約100,000作為我們的橋樑。這適用於單個驅動器連接。如果您有多個驅動器連接,您將添加大約4,000個ALM來擴展它。

所以,是的,不是太糟糕。儘管如此,只有大約10%。因此,客戶仍然有大量的邏輯可用於添加其加速功能。

馬庫斯

您提到的Hiren,您可以將一個或多個驅動器直接連接到卡上。現在,如果您想連接更多驅動器,並且該卡可以像說八個驅動器一樣進行物理連接 , 那麼究竟是如何完成的?

海倫

我認為即使使用單個卡,您也可以連接多個驅動器,然後還可以將其擴展為背板,該背板可能具有PCIe交換機,然後可以將您帶到其他驅動器。因此,可以將八個驅動器連接到PCIe交換機,然後將PCIe交換機連接到BittWare卡中。所以我認為這是一種可能的解決方案或拓撲結構。

馬庫斯

讓我們回到我們討論過的第二組用例,即FPGA是一個內聯加速器。這是計算存儲加速這一更大圖景的一部分,它在CPU卸載方面變得非常流行。您能告訴我一些用於計算儲存的內聯加速器的用例嗎?

海倫

是的,當然。因此,我們今天有很多客戶在做靜態數據加密。因此,我們的FPGA位於SSD或多個SSD的前面,客戶使用我們稱之為沙箱區域或客戶加速區域作為靜態數據加密。但客戶也可以做搜尋引擎,搜索卸載,壓縮eBPF也是另一個增長的領域。

因此,這些是客戶可以做的一些事情。如果我們以壓縮或解壓縮為例,您可以使用我們的網橋執行一項操作 - 您實際上可以讓伺服器或主機通過網橋將壓縮數據原封不動地發送到SSD上。

但是,當檢索到這些數據時,您可以在FPGA中內置一個解壓縮硬體引擎。然後,解壓縮引擎可以在將數據發送回伺服器主機之前解壓縮數據,我認為這也是我們看到的一個用例。

像我說的其他用例是eBPF,然後我知道Intelliprop正在研究一些參考設計,所以如果有,你知道這是另一個我們看到的用例:eBPF虛擬機。

馬庫斯

您之前提到的一個用例,但我想聽到更多,是讓主機發出搜索命令 , 然後將搜索本身卸載到FPGA和直接連接的SSD。那麼這是如何工作的,你如何卸載搜索,因為它比卸載壓縮複雜一點?

海倫

是的,這是一個很好的問題。我們在11月在聖路易斯舉行的SuperCompute '21上展示的一件事是,我們展示了我們的內聯橋實際上卸載了搜尋引擎。因此,我們讓CPU預載入了一堆數據。我們讓伺服器將供應商特定的命令發送到網橋的中間,我們的RTL代碼可以看到供應商特定的命令,獲得一系列LBA或地址空間來執行特定的模式搜索 - 我們還從伺服器收到了模式。一旦我們收到要搜索的模式和LBA的範圍,我們就離開,閱讀我們應該閱讀的整個驅動器部分,尋找特定的32位模式,找到它的所有實例 - 它們發生在哪些LBA上 - 我們將其打包併發送回伺服器主機。
通常,如果沒有我們的加速器,伺服器會將所有數據讀取到其系統記憶體中,完成搜索,然後將數據丟棄。如果沒有所有這些數據移動,它只需要向我們發出命令,我們只需要發回一個回復,說“這是我們找到它的所有位置。老實說,FPGA能夠做到這一點,而且速度要快得多,我們也有圖表顯示這一點。

是的,所以現在我們正在看一些演示。上行顯示CPU負載在進行直接搜索時以大約90%的速度運行,但介於兩者之間,FPGA卸載版本當然快了很多倍,並且它卸載了CPU...我們在這裡使用哪個FPGA?
所以,是的,視頻中的演示是在英特爾Stratix 10 DX上完成的。

有人如何識別何時需要將此特定框架IP與橋接一起使用?當有人特別需要該橋接元件時,他們如何識別?
是的,這是一個很好的問題。同樣,它是一座直通橋。我們所做的是消除了所有 NVMe 的複雜性 — 我們創建了一個 AXI 流介面,客戶可以將邏輯放入其中。因此,客戶擅長執行加速功能 - 他們是這方面的專家 - 他們可能不是NVMe的專家,這就是框架真正閃耀的地方。我們將數據和命令以及所有這些作為控制和數據資訊通過AXI流呈現到中間,然後讓客戶決定他們想要使用該邏輯做什麼。
另一方面,我們還有一個控制和數據平面-再次是AXI流-繼續將數據移動到SSD上。
它在兩個方向上都有效,因此在易用性方面,它確實是我們發光的地方。作為客戶 - 他們的專業知識是加速功能 - 然後他們可以將其放入沙箱中,然後我們離開
上市時間大大縮短。在BittWare在BittWare板上的説明下,我們實際上進一步縮短了時間。因為現在他們已經有了矽,他們實際上可以將沙盒橋插入NVMe橋平臺,然後現在他們有了一個平臺,他們可以繼續構建加速功能。

馬庫斯

好吧,就在此基礎上 - 這是我的最後一個問題 - 對於正在考慮自己構建此NVMe Bridge IP而不是使用IntelliProp的觀眾來說...IntelliProp實際上花了多長時間來實現這一點,現在你有使用它來構建應用程式有多容易?

海倫

是的,所以聽起來不錯。所以,這又是一個框架,我只想說,我們已經推斷出或隱藏了你必須與NVMe交互的事實。您不必瞭解有關NVMe的任何資訊。您只需要知道您獲得的位址和控制資訊即可。

IntelliProp,這座橋本身可能花了我們大約一年半的時間來開發和正確 - 降低我們想要的性能。最終,我們為客戶節省了時間。

舉個例子,回到我們做的SuperCompute '21演示,我們在大約一個月內就做到了。如果沒有這座橋,我們會花更長的時間。僅僅擁有橋樑,知道控制資訊-我們獲得的數據資訊,我們花了一個月的時間才真正完成加速搜索功能和將數據發送回去的能力。

所以再一次,它是一個框架,它都是預先構建的,它被沖走了。你只需要專注於你的加速度。

馬庫斯

好吧,非常好。謝謝你今天和我談起這一切,Hiren——我很感激。

海倫

謝謝。

馬庫斯

這就是NVMe橋接平臺,IntelliProp的一個框架,可在BittWare FPGA卡上使用。具體來說,我們今天看看帶有直接連接SSD的IA-840F。要瞭解更多資訊,請訪問BittWare網站,並感謝您的觀看。