首頁 企業 大數據分析與英特爾傲騰 PMem 相結合的大內存

大數據分析與英特爾傲騰 PMem 相結合的大內存

by 湯姆芬頓

當英特爾® 傲騰™ 持久內存 (PMem) 首次問世時,我們知道它將徹底改變數據中心開展業務的方式,但我們無法完全預測它會改變的方式數量。 與所有新技術一樣,我們知道持久內存的初始用例,但我們也知道,一旦它們被廣泛使用,就會出現更多的用例。

當英特爾® 傲騰™ 持久內存 (PMem) 首次問世時,我們知道它將徹底改變數據中心開展業務的方式,但我們無法完全預測它會改變的方式數量。 與所有新技術一樣,我們知道持久內存的初始用例,但我們也知道,一旦它們被廣泛使用,就會出現更多的用例。

DellEMC PowerEdge PMEM 200 系列服務器

在我們與企業的討論中,我們知道他們需要內存系統提供的性能提升來保持競爭力。 為此使用 DRAM 存在成本和大小限制,因此很難考慮他們想要存儲在內存中的數據大小。 在本文中,我們將了解 Hazelcast 和 MemVerge 如何利用英特爾傲騰 PMem 來克服 DRAM 的局限性,以創建支持使用大型數據集的快速、實時應用程序的基礎架構。

我們與 MemVerge、Hazelcast、Intel 和 Dell Technologies 聯手展示瞭如何部署基礎架構以實現實時分析。 具體來說,我們設置了一個環境,​​該環境具有快速傳入的實時數據流,這些數據在存儲到內存數據集市之前被攝取和轉換。 主要目標是展示英特爾傲騰 PMem 如何對實現大規模實時系統至關重要,以及需要額外的軟件才能讓英特爾傲騰 PMem 發揮其全部潛力。

在強調我們所做的測試之前,這裡是對英特爾傲騰 PMem 的簡要回顧, 淡褐色, 記憶邊緣.

英特爾傲騰 PMem

持久內存作為一個概念,自 1980 世紀 2018 年代中期就已經存在,但直到 XNUMX 年英特爾開始發布其英特爾傲騰持久內存模塊 (PMM) 時,它才成為商業數據中心的實際可用產品。 Intel Optane PMem 改變了行業的遊戲規則,因為它比 DRAM 稍慢,但比固態驅動器 (SSD) 快得多。

雖然它比 DRAM 慢,但英特爾傲騰 PMem 確實有一些明顯的優勢,因為它比傳統 DRAM 便宜得多,內存容量更大; 而且,顧名思義,當啟用應用內直接模式時,它是持久的——這意味著存儲在它上面的數據將在停電或它所在的設備重新啟動時繼續存在。

英特爾數據金字塔 2022

英特爾傲騰 PMem 低延遲的秘訣之一是它駐留在內存總線上,這使其能夠像 DRAM 一樣訪問數據。

雖然 DDR4 理論上每個模塊的最大容量為 128GB,但最常用的容量在 4GB 到 64GB 之間(但即使是 64GB 模塊,雖然可用,但也不常用)。

英特爾目前正在發售 128GB、256GB 和 512GB 模塊的英特爾傲騰 PMem。 這提供了高達 DRAM 容量的 16 倍。

按每 GB 成本計算,英特爾傲騰 PMem 約為 DRAM 的一半。 由於其更大的容量和更低的價格,與只有 DRAM 的服務器相比,服務器可以以更低的成本為應用程序提供更多的低延遲數據。 而且,正如您從我們的測試中看到的那樣,對於許多應用程序,在實際使用中 DRAM 和 PMem 之間的延遲差異可以忽略不計。

Intel Optane PMem 128GB 側視圖儘管該技術的名稱中包含“持久性”一詞,但英特爾傲騰 PMem 中的數據持久性經常被忽視,並且在過去並未得到充分利用。 然而,MemVerge 已經設計出利用數據持久性為企業提供附加服務的方法。

記憶邊緣

英特爾傲騰 PMem 提供的強大功能帶來了明智地使用它的責任,這就是 MemVerge 的用武之地。雖然大多數服務器監控和管理工具關注的是傳統硬件,例如 CPU、磁盤和網絡指標,但 MemVerge® 內存Machine™ 專注於 DRAM 和英特爾傲騰 PMem 的監控、管理和利用。

英特爾傲騰 PMem 的早期挑戰之一是確定如何允許應用程序使用它。 如果沒有 MemVerge Memory Machine,您可以使用英特爾傲騰 PMem 作為 DRAM 的替代品,但不能作為直接替代品,因為英特爾傲騰 PMem 使用專門的 API。 MemVerge 抽像出該 API,以便英特爾傲騰 PMem 對於所有應用程序看起來就像 DRAM。 使用 Memory Machine,Intel Optane PMem 呈現給應用程序,就像 DRAM 呈現給應用程序一樣。 通過這樣做,現有應用程序無需重新架構即可使用英特爾傲騰 PMem,從而為公司節省了重新編程應用程序的成本,更重要的是,節省了重新編程所需的時間。 通過其專利技術,Memory Machine 創建了一個內存池,然後對英特爾傲騰 PMem 和 DRAM 進行分層,根據需要在兩者之間移動數據以優化應用程序性能,從而最大限度地發揮其對應用程序的影響。

Memory Machine 的創新 ZeroIO 允許內存到內存快照(即,將 DRAM 上包含的數據快照到英特爾傲騰 PMem),這實際上使 DRAM 持久化。

PMem 內存機器管理中心

過去,我們被迫將內存快照存儲在傳統存儲上,這個過程可能長達一個小時。 然而,使用 ZeroIO,相同的操作可以在幾秒鐘內無中斷地進行。

MemVerge 利用 ZeroIO 提供其他內存數據服務。 Time Travel 允許應用程序恢復到以前拍攝的快照,與此功能緊密相關的是 AutoSave,它會按基於時間的間隔自動拍攝快照。 在需要將存儲在內存中的數據移動​​到另一台物理服務器的情況下,可以將 ZeroIO 快照移動到它。

內存監控以及上述服務的促進是通過 MemVerge 內存機器管理中心 (M3C) 完成的。

雖然我們已經提到 Memory Machine 與數據庫一起使用,但它也支持廣泛的應用程序:從用於動畫和渲染的 Autodesk Maya 3D 到 TensorFlow(一種機器學習框架)以及其他應用程序,包括我們的產品 Hazelcast將在本文中重點介紹。

淡褐色

Hazelcast 是不斷發展的內存計算平台領域的主要創新者和領導者。 他們的平台被金融、電子商務和實時信息至關重要的其他類型的組織使用; 例如,用於欺詐檢測和協助做出交易決策。

Hazelcast 支持兩個級別的快速應用程序。 首先,它提供了一個內存存儲,可以將數據分佈在集群中的多個服務器上,以實現可擴展的快速內存虛擬池。 添加更多數據的過程只涉及向集群添加另一台服務器。 其次,Hazelcast 包含一個計算引擎,用於處理應用程序邏輯,該邏輯被分解為子任務,然後分佈在服務器集群中的所有 CPU 上。 這不僅利用了集群的集體計算能力,而且還允許以高效和高速的方式並行處理數據(包括轉換、豐富、聚合和分析)。 由於 Hazelcast 可以通過其流數據功能在數據創建後立即對其進行處理,因此它對於構建下一代實時應用程序非常有用。

分析實時數據

實時系統主要由兩個主要特徵驅動:速度和規模。 速度確保您可以跟上正在創建的數據,而規模則保證您可以處理該數據量。 更複雜的是,數據可能來自許多不同的來源。 當然,更高的速度和更大的規模意味著更高的成本,除非採用創新手段,例如用更實惠的英特爾傲騰 PMem 替換昂貴的 DRAM。

實時數據分析功能可以立即洞察企業和組織可能面臨的各種情況,並為他們提供應對這些情況所需的信息。 例如,遵守巴塞爾協議 III 等要求銀行保持比以前更高的流動性的舉措,意味著它們可以利用更少的資金來產生收入。 同時,他們必須證明自己了解日常風險,以免受到流動性要求更高的審計師和監管者的處罰。 通過擁有用於風險管理和合規的實時系統,銀行可以即時查看其交易頭寸,從而更有效地了解和報告其風險敞口。

舉另一個例子,股票交易分析系統跟踪交易並以可分析的形式實時呈現它們。 由於通過股票交易賺取的收入可獲得明確的投資回報 (ROI),因此這些系統可以證明其高額費用是合理的。

測試場景

我們選擇用來研究這些技術的應用程序基於 Hazelcast 創建的交易監控代碼庫,以展示具有成本效益的“按需分析”如何成為高成本實時系統的合適替代方案。

由於這是一個小規模的研究項目,我們做了一些權衡,使我們的測試環境不能完全反映典型的生產環境。 例如,我們使用的 Dell EMC 服務器的計算能力遠遠超過我們可用數據源所需的能力,因此我們沒有充分利用其中可用的 CPU 能力。 另外,為了簡單起見,我們沒有優化外部數據傳輸系統。 在生產系統中,所有組件都將進行優化和調整,以提高此設置的性能和成本效益。

測試目的

我們測試中最關鍵的方面是確定英特爾傲騰 PMem 是否可以維持實時數據饋送。

我們偏向測試了英特爾傲騰 PMem 支持的內存數據集市中聚合/索引數據的訪問速度; 在 MemVerge 和 Hazelcast 之前的測試中,基準測試表明數據訪問速度非常接近 DRAM(在許多情況下,讀取和寫入的速度相同),因此比基於磁盤或 SSD 的數據快得多訪問。 由於我們知道數據訪問速度提供了優於其他架構配置的優勢,因此我們僅將測試集中在攝取端。

對於我們的測試,我們在數據源服務器上生成了虛擬數據。 傳入數據饋送中的每個數據元素代表一次股票交易。 股票代碼、數量、價格和時間是最關鍵的值。 每個股票代碼在生成的數據集中多次使用,以模擬給定股票在一天內的多次交易。 然後將這些單獨的交易匯總,以給出給定股票代碼的交易總計。

生成的數據存儲在 Apache Kafka 中,因為它能夠捕獲快速數據流。 來自 Kafka 的每條記錄需要 210 個字節,包括負載中的所有元數據。 Kafka 被配置為運行三個獨立的代理,它們都在一台數據源機器上,每個代理上有四個分區。 當然,這種配置不會在生產環境中使用,因為為分佈式技術提供單一來源的機器是不現實的; 但是,它適合我們的測試目的。

測試環境

我們使用三台 Dell EMC PowerEdge R750 服務器和一台 Dell EMC PowerEdge R74xd 服務器進行測試; 三人使用 MemVerge Memory Machine 和 Hazelcast 運行分析應用程序,而第四人創建並存儲測試數據。

分析服務器

型號 戴爾易安信 PowerEdge R750
CPU的 雙 Intel® Xeon® Gold 6330 處理器 @ 2GHz (Ice Lake)

每個 28 個內核(總共 56 個,112 個採用英特爾® 超線程技術)

DRAM 16GB DRAM DDR64 的 4 個 DIMM

每台服務器 1 TB

英特爾傲騰 PMem 16 個 128GB Intel Optane PMem DDR-T 接口的 DIMM

每台服務器 2 TB

網絡接口 10 GbE
軟體 MemVerge 記憶機器 1.2

Hazelcast 平台 5.0

數據源服務器

型號 戴爾易安信 PowerEdge R740xd
CPU的 雙 Intel® Xeon® Gold 6140 處理器 @ 2.3GHz (Skylake)

每個 18 個內核(總共 36 個;72 個採用英特爾® 超線程技術)

DRAM 12 個 32GB DRAM DDR4 (384GB) DIMM

2 個 16GB NVDIMM DDR4 (32GB) 的 DIMM

英特爾傲騰 PMem 不需要
網絡接口 10 GbE
軟體 阿帕奇卡夫卡 2.8

Hazelcast 提供的數據生成工具

在我們的測試過程中,我們發現分析服務器中的 DRAM 數量可能要小得多; 雖然 DRAM 主要由操作系統使用,但該應用程序主要使用英特爾傲騰 PMem,只有少量 DRAM。 為了優化成本節約,服務器上絕對最小的 DRAM 將是一個合理的配置。

檢測結果

我們創建了大約 5 億條記錄,這些記錄存儲在 Kafka 中以創建數據源。 然後開始在三個應用程序服務器上運行的攝取應用程序以跨三個 Hazelcast 實例攝取數據(每個 Dell Technologies 服務器一個 Hazelcast 服務器)。

我們在僅使用 DRAM 時測試了該應用程序,並將其與使用帶有 MemVerge 的英特爾傲騰 PMem 進行了比較。 我們的測試結果表明,對於以寫入為主的工作負載,我們發現僅使用英特爾傲騰 PMem 與純 DRAM(32K 與 242K)相比,性能下降了 357%。 但是當使用英特爾傲騰 PMem + DRAM 配置時,我們只看到了 9% 的損失。 通過在集群中增加服務器數量以進一步分散寫入,可以進一步縮小範圍。 額外服務器的額外成本可以通過採購功率較低的 CPU 來抵消,因為給定的工作負載不一定會利用此測試硬件配置的全部 CPU 功率。

型號 性能(每秒記錄數)
僅限 DRAM 357,000
Intel Optane PMem 輔助 50GB DRAM + Memory Machine 325,000
僅英特爾傲騰 PMem + 內存機器 242,000

我們考慮過為我們測試的每個配置定價,但考慮到成本的潛在波動和其他可能使這些估計很快過時的因素,我們拒絕這樣做。 然而,無論設定成本如何,配備 DRAM 的英特爾傲騰 PMem 都將明顯低於僅基於 DRAM 的服務器。

測試解讀

我們從測試中得出的關鍵結論是,支持英特爾傲騰 PMem 的服務器集群可以以幾乎與僅使用 DRAM 的集群相同的速度運行,但成本要低得多。

對我們來說另一個重要的收穫是,使用英特爾傲騰 PMem 可以捕獲和存儲數週或數月的數據,這使企業不僅能夠實時分析數據,而且還可以將數據用於歷史數據的高速分析數據。 這為分析趨勢和模式提供了機會,這些趨勢和模式可能會使用機器學習 (ML) 等高級分析工具揭示更多見解。

換句話說,企業可以部署覆蓋廣泛時間範圍的實時分析環境,並探索新的分析形式,而無需在部署數據倉庫或數據湖時進行成本或速度權衡。

其他測試

在設置環境的同時,我們還想測試 MemVerge Memory Machine 的一些其他功能,特別是它的快照和恢復功能。 幸運的是,Memory Machine 集成了 Hazelcast 集群,因此可以直接在 M3C 中管理快照和快照恢復。

可以隨時按需或按設定的時間表拍攝快照,我們在集群的高峰操作期間測試了這兩種方法。 快照在幾秒鐘內完成,沒有任何問題或影響分析的性能。 如果 Hazelcast 集群發生任何事情,例如斷電,可以使用我們的快照之一恢復數據。

快照功能不僅可以起到保護作用,還可以用來提高服務器的利用率。 在金融機構中,服務器在典型的交易時間被大量使用,但在下班時間相對閒置。 通過使用熱啟動方案,可以顯著提高服務器的利用率。 例如,在交易日結束時,可以拍攝交易數據庫的快照。 然後當交易數據庫關閉時,服務器可以設置為其他數據處理任務,如數據挖掘。 在交易日開始時,可以快速恢復交易數據庫,恢復交易操作。

結論

英特爾傲騰 PMem 是一項激動人心的變革性技術,它開始重塑數據中心,但幸運的是,與所有其他技術一樣,它並非存在於真空中。 戴爾科技、英特爾、MemVerge 和 Hazelcast 等具有前瞻性思維的領先公司正在尋找協同效應,並開始利用這項新技術來發掘其在數據中心的真正潛力:英特爾傲騰 PMem 模塊的成本約為 DRAM 的一半; Dell Technologies 的服務器支持英特爾傲騰 PMem 提供的大量低延遲內存容量; Hazelcast 允許應用程序大規模利用這些技術; MemVerge 為 Intel Optane PMem 提供監控、管理和數據服務,並且通過抽像出 DRAM API,它使 Intel Optane PMem 對現有應用程序表現為 DRAM,從而使它們無需修改或重新架構即可運行。

如果其他一切都相同,企業會選擇實時活動而不是批量活動。 但由於並非萬事俱備,批處理通常是選擇的模式,以避免與實時處理相關的成本。 然而,隨著客戶期望在一個越來越以實時為導向的世界中不斷提高,企業需要找到新的方法來創造競爭優勢。 通過利用實時速度而不承受內存計算的傳統成本,領先的企業可以利用英特爾傲騰 PMem、MemVerge 和 Hazelcast 等技術實現飛躍,以構建可幫助他們響應自身及其客戶需求的解決方案,比以往任何時候都快。

淡褐色

記憶邊緣

本報告由 MemVerge 贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。 英特爾、英特爾標識和英特爾傲騰是英特爾公司或其子公司的商標。

參與 StorageReview

電子報 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | 的TikTok | RSS訂閱