國內處理器 Elbrus 8C 上的 SHD AERODISK

國內處理器 Elbrus 8C 上的 SHD AERODISK

你好哈布爾讀者。 我們想分享一些非常好的消息。 我們終於等到了俄羅斯新一代 Elbrus 8C 處理器的真正量產。 按照官方說法,批量生產最早應該在 2016 年開始,但實際上,量產直到 2019 年才開始,並且已經發布了大約 4000 顆處理器。

幾乎在量產開始後,這些處理器就出現在我們的 Aerodisk 中,為此我們要感謝 NORSI-TRANS,它慷慨地為我們提供了支持 Elbrus 8C 處理器的硬件平台 Yakhont UVM,用於移植我們的軟件部分存儲系統。 這是一個滿足 MCST 所有要求的現代通用平台。 目前,該平台被特殊消費者和電信運營商使用,以確保在運營搜索活動中實施既定行動。

目前移植工作已經順利完成,AERODISK存儲系統現已推出國產Elbrus處理器版本。

在本文中,我們將討論處理器本身、它們的歷史、架構,當然還有我們在 Elbrus 上實現的存儲系統。

故事

Elbrus 處理器的歷史可以追溯到蘇聯時代。 1973年在精密機械與計算機工程研究所命名SA 列別傑夫(以謝爾蓋·列別傑夫的名字命名,他曾領導第一台蘇聯計算機 MESM 和後來的 BESM 的開發),稱為 Elbrus 的多處理器計算系統的開發開始了。 Vsevolod Sergeevich Burtsev 監督了開發,而作為副總設計師之一的 Boris Artashesovich Babayan 也積極參與了開發。

國內處理器 Elbrus 8C 上的 SHD AERODISK
謝沃洛德·謝爾蓋耶維奇·布爾采夫

國內處理器 Elbrus 8C 上的 SHD AERODISK
鮑里斯·阿塔舍索維奇·巴巴揚

該項目的主要客戶當然是蘇聯武裝部隊,該系列計算機最終成功用於創建導彈防禦系統的指揮計算中心和發射系統,以及其他專用系統.

國內處理器 Elbrus 8C 上的 SHD AERODISK

第一台 Elbrus 計算機於 1978 年完成。 它具有模塊化架構,可以包含 1 到 10 個基於中等集成方案的處理器。 這台機器的速度達到了每秒15萬次操作。 所有 10 個處理器共有的 RAM 容量高達 2 的機器字的 20 次方或 64 MB。

後來發現,Elbrus 開發中使用的很多技術都是世界上同時研究的,國際商業機器公司(IBM)都在搞,但是這些項目的工作,和 Elbrus 的工作不同,並沒有已經完成,並沒有最終導致成品的創建。

根據 Vsevolod Burtsev 的說法,蘇聯工程師試圖應用國內外開發人員的最先進經驗。 Elbrus 計算機的體系結構也受到 Burroughs 計算機、惠普開發以及 BESM-6 開發人員經驗的影響。

但與此同時,許多發展都是原創的。 Elbrus-1 最有趣的地方在於它的架構。

創建的超級計算機成為​​蘇聯第一台使用超標量架構的計算機。 國外超標量處理器的大量使用是上世紀90年代開始的,價格適中的英特爾奔騰處理器出現在市場上。

此外,可以使用特殊的輸入輸出處理器來組織外圍設備和計算機 RAM 之間的數據流傳輸。 系統中最多可以有四個這樣的處理器,它們與中央處理器並行工作,並有自己的專用內存。

Elbrus-2

1985 年,Elbrus 獲得了其合乎邏輯的延續,Elbrus-2 計算機被創建並投入批量生產。 在架構方面,它與其前身沒有太大區別,但使用了新的元素庫,這使得整體性能提高了近 10 倍——從每秒 15 萬次運算增加到 125 億次。增加到 16 萬個 72 位字或 144 MB。 Elbrus-2 I/O 通道的最大帶寬為 120 MB/s。

“Elbrus-2”積極用於車里雅賓斯克 70 核研究中心和 MCC 的 Arzamas-16、A-135 導彈防禦系統以及其他軍事設施。

厄爾布魯士的創造得到了蘇聯領導人的讚賞。 許多工程師獲得了訂單和獎章。 總設計師 Vsevolod Burtsev 和其他一些專家獲得了國家獎項。 鮑里斯·巴巴揚 (Boris Babayan) 被授予十月革命勳章。

這些獎項實至名歸,鮑里斯·巴巴揚後來說:

“1978 年,我們製造了第一台超標量機器 Elbrus-1。 現在在西方,他們只製造這種架構的超標量。 第一個超標量於 92 年出現在西方,我們的是 78 年。 此外,我們製作的超標量版本類似於英特爾在 95 年製作的 Pentium Pro。”

這些關於歷史優勢的話在美國也得到了證實,摩托羅拉 88110(西方最早的超標量處理器之一)的開發者 Keith Diefendorff 寫道:

“在 1978 年,也就是第一個西方超標量處理器出現的將近 15 年之前,Elbrus-1 使用了一個處理器,在一個週期內發出兩條指令,改變指令執行的順序,重命名寄存器並按假設執行。”

Elbrus-3

那是 1986 年,在第二個 Elbrus 的工作完成後,ITMiVT 幾乎立即開始使用全新的處理器架構開發新的 Elbrus-3 系統。 Boris Babayan 將這種方法稱為“後超標量”。 正是這種架構,後來稱為 VLIW / EPIC,在未來(90 年代中期)英特爾安騰處理器開始使用(在蘇聯,這些開發始於 1986 年,結束於 1991 年)。

在這個計算綜合體中,首先實現了在編譯器的幫助下顯式控制操作並行性的想法。

1991 年,第一台也是唯一一台不幸的是 Elbrus-3 計算機發布,無法完全調整,蘇聯解體後,沒有人需要它,開發和計劃只停留在紙上。

新架構的背景

在 ITMiVT 致力於創建蘇聯超級計算機的團隊並沒有解散,而是繼續作為一個獨立的公司以 MCST(莫斯科 SPARK 技術中心)的名義工作。 90 年代初,MCST 與 Sun Microsystems 開始積極合作,MCST 團隊參與了 UltraSPARC 微處理器的開發。

正是在這一時期,E2K 架構項目應運而生,該項目最初由 Sun 資助。 後來,該項目完全獨立,其所有知識產權均歸MCST團隊所有。

“如果我們在這個領域繼續與 Sun 合作,那麼一切都將屬於 Sun。 儘管 90% 的工作是在 Sun 出現之前完成的。” (鮑里斯·巴巴揚)

E2K架構

當我們討論 Elbrus 處理器的架構時,我們經常會聽到 IT 行業同事的以下陳述:

“Elbrus 是一個 RISC 架構”
“Elbrus 是史詩般的建築”
“Elbrus 是 SPARC 架構”

事實上,這些陳述都不是完全正確的,或者即使是,也只是部分正確。

E2K 架構是一個獨立的原始處理器架構,E2K 的主要品質是能源效率和出色的可擴展性,通過指定明確的並行操作來實現。 E2K 架構由 MCST 團隊開發,基於後超標量架構(類似於 EPIC),受到 SPARC 架構(具有 RISC 過去)的一些影響。 同時,MCST 直接參與了四個基本架構中的三個(Superscalars、Post-Superscalars 和 SPARC)的創建。 世界真的很小。

為了避免將來出現混淆,我們畫了一個簡單的圖表,雖然簡化了,但非常清楚地顯示了 E2K 架構的根源。

國內處理器 Elbrus 8C 上的 SHD AERODISK

現在再談談架構的名稱,對此也存在誤解。

在各種來源中,您可以找到此體系結構的以下名稱:“E2K”、“Elbrus”、“Elbrus 2000”、ELBRUS(“ExpLicit Basic Resources Utilization Scheduling”,即顯式規劃基本資源的使用)。 所有這些名字都說的是同一件事——關於架構,但在官方技術文檔中,以及在技術論壇上,E2K這個名字是用來指代架構的,所以在未來,如果我們談論處理器架構,我們使用術語“E2K”,如果是關於特定處理器,那麼我們使用名稱“Elbrus”。

E2K架構的技術特點

在 RISC 或 CISC(x86、PowerPC、SPARC、MIPS、ARM)等傳統架構中,處理器接收為順序執行而設計的指令流。 處理器可以檢測獨立操作並並行運行它們(超標量),甚至可以更改它們的順序(亂序)。 然而,動態依賴分析和對無序執行的支持在每個週期啟動和分析的命令數量方面有其局限性。 此外,處理器內部的相應模塊會消耗大量能量,其最複雜的實現有時會導致穩定性或安全問題。

在E2K架構中,分析依賴關係和優化操作順序的主要工作是由編譯器承擔的。 處理器接收所謂的。 寬指令,每條指令都為必須在給定時鐘週期啟動的所有處理器執行設備編碼指令。 處理器不需要分析操作數之間的依賴關係或寬指令之間的交換操作:編譯器根據源代碼分析和處理器資源規劃來完成所有這些工作。 結果,處理器硬件可以更簡單和更經濟。

編譯器能夠比處理器的 RISC/CISC 硬件更徹底地解析源代碼,並找到更多的獨立操作。 因此,E2K架構比傳統架構擁有更多的並行執行單元。

E2K架構的當前特點:

  • 6 個並行運算通道的算術邏輯單元 (ALU)。
  • 256個84位寄存器的寄存器文件。
  • 循環的硬件支持,包括流水線。 提高處理器資源使用效率。
  • 具有獨立讀出通道的可編程異步數據預泵。 允許您隱藏內存訪問的延遲並更充分地利用 ALU。
  • 支持推測計算和一位謂詞。 允許您減少轉換次數並並行執行程序的多個分支。
  • 一種寬命令,能夠在一個時鐘週期內指定最多 23 個操作,並具有最大填充(將操作數打包到向量指令時超過 33 個操作)。

國內處理器 Elbrus 8C 上的 SHD AERODISK

仿真 x86

即使在架構設計階段,開發人員也明白支持為英特爾 x86 架構編寫的軟件的重要性。 為此,實施了一個系統,用於將 x86 二進制代碼動態(即,在程序執行期間或“運行中”)轉換為 E2K 架構處理器代碼。 這個系統既可以工作在應用程序模式下(以WINE的方式),也可以工作在類似於hypervisor的模式下(然後可以運行整個x86架構的guest OS)。

得益於多級優化,可以實現翻譯代碼的高速運行。 x86 架構仿真的質量通過 20 多個操作系統(包括多個版本的 Windows)和數百個應用程序在 Elbrus 計算系統上的成功發布得到證實。

受保護的程序執行模式

從 Elbrus-1 和 Elbrus-2 架構繼承的最有趣的想法之一是所謂的安全程序執行。 其本質是確保程序只使用初始化數據,檢查所有內存訪問是否屬於有效地址範圍,提供模塊間保護(例如,保護調用程序免受庫中的錯誤)。 所有這些檢查都是在硬件中完成的。 對於保護模式,有一個成熟的編譯器和運行時支持庫。 同時,應該理解強加的限制導致無法組織執行,例如用 C++ 編寫的代碼。

即使在 Elbrus 處理器通常的“無保護”操作模式下,也有一些功能可以提高系統的可靠性。 因此,綁定信息堆棧(過程調用的返回地址鏈)與用戶數據堆棧是分開的,並且無法受到病毒中使用的返回地址欺騙等攻擊。

經過多年的設計,它不僅在未來的性能和可擴展性方面趕上並超越了競爭架構,而且還提供了針對困擾 x86/amd64 的錯誤的保護。 Meltdown (CVE-2017-5754)、Spectre (CVE-2017-5753、CVE-2017-5715)、RIDL (CVE-2018-12126、CVE-2018-12130)、Fallout (CVE-2018-12127) 等書籤ZombieLoad (CVE-2019-11091) 等。

針對 x86/amd64 架構中發現的漏洞的現代保護基於操作系統級別的補丁。 這就是為什麼這些架構的當前和前幾代處理器的性能下降如此明顯,幅度從 30% 到 80% 不等。 我們,作為 x86 處理器的活躍用戶,知道這一點,遭受並繼續“吃仙人掌”,但對我們(以及因此對我們的客戶)而言,這些問題的解決方案處於萌芽狀態是一個毫無疑問的好處,特別是如果解決方案是俄羅斯的。

Техническиехарактеристики

以下是過去 (4C)、當前 (8C)、新 (8CB) 和未來 (16C) 代 Elbrus 處理器與類似英特爾 x86 處理器相比的官方技術特性。

國內處理器 Elbrus 8C 上的 SHD AERODISK

即使粗略地看一下這張表(這很令人高興),國內處理器的技術積壓在 10 年前似乎無法克服,現在看來已經很小了,2021 年隨著 Elbrus-16C 的推出(其中,其他東西,將支持虛擬化)將減少到最小距離。

Elbrus 8C 處理器上的 SHD AERODISK

我們從理論到實踐。 作為 MCST、Aerodisk、Basalt SPO(前身為 Alt Linux)和 NORSI-TRANS 戰略聯盟的一部分,開發並投入運行了數據存儲系統,該系統在安全性、功能性、成本和性能,在我們看來,這是一個不可否認的有價值的解決方案,可以確保我們祖國的技術獨立性達到適當水平。
現在細節...

硬件部分

存儲系統的硬件部分是基於NORSI-TRANS公司的通用平台Yakhont UVM實現的。 Yakhont UVM 平台獲得了俄羅斯原產電信設備的地位,並被列入俄羅斯無線電電子產品的統一登記冊。 該系統由兩個獨立的存儲控制器(每個 2U)組成,它們通過 1G 或 10G 以太網互連以及使用 SAS 連接的共享磁盤架互連。

當然,這不如我們通常使用的“Cluster in a box”形式(將具有公共背板的控制器和磁盤安裝在一個 2U 機箱中)那麼漂亮,但在不久的將來它也會面世。 這裡最主要的是它運作良好,但我們稍後會考慮“弓”。

國內處理器 Elbrus 8C 上的 SHD AERODISK

國內處理器 Elbrus 8C 上的 SHD AERODISK

在引擎蓋下,每個控制器都有一個帶有四個 RAM 插槽(DDR3 用於 8C 處理器)的單處理器主板。 每個控制器上還有 4 個 1G 以太網端口(其中兩個被 AERODISK ENGINE 軟件用作服務)和三個用於後端 (SAS) 和前端(以太網或光纖通道)適配器的 PCIe 插槽。

作為啟動盤,我們使用了GS Nanotech的俄羅斯SATA SSD驅動器,我們在項目中反複測試和使用過。

國內處理器 Elbrus 8C 上的 SHD AERODISK

當我們第一次見到這個平台時,我們仔細檢查了它。 我們對裝配和焊接的質量沒有任何疑問,一切都整齊可靠地完成了。

操作系統

認證用OS Alt 8SP版本作為操作系統。 在不久的將來,我們計劃使用 Aerodisk 存儲軟件為 Alt OS 創建一個可插入且不斷更新的存儲庫。

此版本的發行版基於 E4.9K(由 MCST 專家移植的具有長期支持的分支)的當前穩定版 Linux 2 內核構建,並補充了功能和安全補丁。 Alt OS 中的所有包都是使用 ALT Linux Team 項目的原始事務構建系統直接在 Elbrus 上構建的,這使得可以減少傳輸本身的人工成本,並更加關注產品質量。

Elbrus 的任何 Alt OS 版本都可以使用可用的存儲庫在功能方面進行顯著擴展(從第八個版本的大約 6 個源包到第九個版本的大約 12 個)。

之所以做出選擇,還因為 Alt OS 的開發商 Basalt SPO 正積極與各種平台上的其他軟件和設備開發商合作,確保硬件和軟件系統之間的無縫交互。

軟件存儲系統

在移植時,我們立即放棄了使用 E2K 中支持的 x86 仿真的想法,開始直接使用處理器(幸運的是,Alt 已經有了這方面的必要工具)。

除其他事項外,本機執行模式提供了更好的安全性(相同的三個硬件堆棧而不是一個)和更高的性能(無需為二進制翻譯器分配八個內核中的一個或兩個內核,編譯器會自行執行工作比 JIT 更好)。

事實上,AERODISK ENGINE 的 E2K 實現支持 x86 中的大部分現有存儲功能。 當前版本的 AERODISK ENGINE(A-CORE 版本 2.30)用作存儲系統軟件

在E2K上沒有任何問題,在產品中引入並測試了以下功能:

  • 最多兩個控制器和多路徑 I/O (mpio) 的容錯
  • 使用精簡卷(RDG、DDP 池;FC、iSCSI、NFS、SMB 協議,包括 Active Directory 集成)的塊和文件訪問
  • 各種 RAID 級別,最高為三重奇偶校驗(包括使用 RAID 構造函數的能力)
  • 混合存儲(將 SSD 和 HDD 組合在同一個池中,即緩存和分層)
  • 具有重複數據刪除和壓縮功能的空間節省選項
  • ROW 快照、克隆和各種複制選項
  • 以及其他小而有用的功能,如 QoS、全局熱備用、VLAN、BOND 等。

事實上,在 E2K 上,我們設法獲得了除多控制器(兩個以上)和多線程 I/O 調度程序之外的所有功能,這使我們能夠將全閃存池的性能提高 20-30% .

但是我們當然也會添加這些有用的功能,只是時間問題。

關於性能的一點

在順利通過了存儲系統基本功能的測試之後,我們當然要開始進行負載測試了。

例如,在禁用 RAM 緩存的雙控制器存儲系統(2xCPU E8C 1.3 Ghz,32 GB RAM + 4 SAS SSD 800GB 3DWD)上,我們創建了兩個具有主 RAID-10 級別和兩個 500G 級別的 DDP 池LUN,並通過 iSCSI(10G 以太網)將這些 LUN 連接到 Linux 主機。 並使用 FIO 程序對小型順序負載塊進行了一項基本的每小時測試。

最初的結果非常積極。

國內處理器 Elbrus 8C 上的 SHD AERODISK

處理器上的負載平均為 60%,即這是存儲可以安全工作的基本級別。

是的,這遠談不上高負載,這對於高性能 DBMS 來說顯然是不夠的,但是,正如我們的實踐所表明的,這些特性對於使用存儲系統的 80% 的一般任務來說已經足夠了。

稍後,我們計劃返回一份關於 Elbrus 作為存儲平台的負載測試的詳細報告。

光明的未來

正如我們上面所寫,Elbrus 8C 的量產實際上是最近才開始的——在 2019 年初,到 4000 月,已經發布了大約 4 個處理器。 相比之下,上一代Elbrus 5000C的整個生產週期只生產了XNUMX顆處理器,所以是有進步的。

很顯然,這對俄羅斯市場來說也是滄海一粟,但路要走的人才能掌握。
計劃在 2020 年發布數万個 Elbrus 8C 處理器,這已經是一個嚴肅的數字。 此外,在 2020 年期間,Elbrus-8SV 處理器應該由 MCST 團隊帶入量產。

這樣的生產計劃是為了在整個國內服務器處理器市場中佔有非常重要的份額。

結果,現在我們擁有了一個優秀的現代俄羅斯處理器,我們認為它具有清晰且正確的開發策略,在此基礎上有最安全和經過認證的俄羅斯製造數據存儲系統(並且在未來,Elbrus-16C 上的虛擬化系統)。 俄羅斯系統在現代條件下是目前物理上可能的。

我們經常在新聞中看到公司的下一個史詩般的失敗,這些公司自豪地稱自己為俄羅斯製造商,但實際上從事重新粘貼標籤,除了他們的標記外,沒有為外國製造商的產品增加任何價值。 不幸的是,這些公司給所有真正的俄羅斯開發商和製造商蒙上了陰影。

通過這篇文章,我們想清楚地表明,在我們國家,過去、現在和將來都有真正有效地製造現代複雜 IT 系統並正在積極發展的公司,IT 中的進口替代不是褻瀆,而是現實我們都活著。 你可以不愛這個現實,你可以批評它,或者你可以努力讓它變得更好。

國內處理器 Elbrus 8C 上的 SHD AERODISK

蘇聯的解體一度阻止了 Elbrus 的創造者團隊成為處理器世界的傑出參與者,並迫使該團隊為他們的海外開發尋求資金。 找到了,工作完成了,知識產權也保住了,為此我要對這些人表示衷心的感謝!

目前就這些,請寫下您的評論、問題,當然還有批評。 我們總是很開心。

此外,我代表整個 Aerodisk 公司,祝賀整個俄羅斯 IT 社區即將到來的新年和聖誕節,希望 100% 的正常運行時間 - 並且備份在新的一年對任何人都沒有用)))。

使用的材料

一篇對技術、架構和個性進行一般描述的文章:
https://www.ixbt.com/cpu/e2k-spec.html

名為“Elbrus”的計算機簡史:
https://topwar.ru/34409-istoriya-kompyuterov-elbrus.html

關於e2k架構的一般文章:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000

文章是關於第4代(Elbrus-8S)和第5代(Elbrus-8SV,2020)的:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1

下一代第 6 代處理器(Elbrus-16SV,2021)的規格:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-16%D0%A1

官方對Elbrus架構的描述:
http://www.elbrus.ru/elbrus_arch

硬件和軟件平台“Elbrus”的開發人員計劃創建具有百億億級性能的超級計算機:
http://www.mcst.ru/files/5a9eb2/a10cd8/501810/000003/kim_a._k._perekatov_v._i._feldman_v._m._na_puti_k_rossiyskoy_ekzasisteme_plany_razrabotchikov.pdf

用於個人計算機、服務器和超級計算機的俄羅斯 Elbrus 技術:
http://www.mcst.ru/files/5472ef/770cd8/50ea05/000001/rossiyskietehnologiielbrus-it-edu9-201410l.pdf

Boris Babayan 的一篇舊文章,但仍然相關:
http://www.mcst.ru/e2k_arch.shtml

Mikhail Kuzminsky 的舊文章:
https://www.osp.ru/os/1999/05-06/179819

MCST 介紹,一般信息:
https://yadi.sk/i/HDj7d31jTDlDgA

有關 Elbrus 平台的 Alt OS 的信息:
https://altlinux.org/эльбрус

https://sdelanounas.ru/blog/shigorin/

來源: www.habr.com

添加評論