0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在CPU上如何同時(shí)嘗試 getrandom

Linux愛(ài)好者 ? 來(lái)源:OSCHINA ? 作者:OSCHINA ? 2022-03-16 17:19 ? 次閱讀

Jason Donenfeld 是 WireGuard 的主要開(kāi)發(fā)者,同時(shí)他也是 Linux 內(nèi)核隨機(jī)數(shù)相關(guān)代碼的維護(hù)者,近日在他的領(lǐng)導(dǎo)下,Linux 內(nèi)核的隨機(jī)數(shù)生成器代碼有了巨大幅度的改進(jìn)。

在之前的 Linux 5.17 中,Jason Donenfeld 就在隨機(jī)代碼用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自帶的特性,前者通常比后者更快更安全。經(jīng)過(guò)測(cè)試,通過(guò)這個(gè)簡(jiǎn)單的轉(zhuǎn)換就能獲得 131% 左右的速度提升。

雖然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 對(duì)此并沒(méi)滿足。因此在 Linux 5.18 中他對(duì)隨機(jī)代碼作出了更多的改進(jìn)。

038a6194-9882-11ec-952b-dac502259ad0.png

通過(guò)查看 Linux 的 random.git[1] 倉(cāng)庫(kù)的日志能夠看出 (上圖),開(kāi)發(fā)者 Jason Donenfeld 在最近兩天時(shí)間里進(jìn)行了大量的代碼提交。這些提交內(nèi)容都將在 3 月下旬 Linux 5.18 的合并窗口啟動(dòng)時(shí)引入內(nèi)核。

03b4b700-9882-11ec-952b-dac502259ad0.png

在郵件中[2]特別強(qiáng)調(diào)到,通過(guò)使用正在開(kāi)發(fā)的最新代碼,用于獲取隨機(jī)字節(jié)的 getrandom() 調(diào)用能夠獲得更好的性能。在配備英特爾 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 內(nèi)存的設(shè)備上進(jìn)行 stress-ng getrandom() 基準(zhǔn)測(cè)試后,更是獲得了 8450% 的性能提升。

此次更改基本上會(huì)將之前的全局結(jié)構(gòu)(實(shí)際上是 per-numa 節(jié)點(diǎn)結(jié)構(gòu))更改為 per-cpu 結(jié)構(gòu),這意味著快速路徑上的許多鎖都會(huì)消失。因此,當(dāng)在具備多核的 CPU 上同時(shí)嘗試 getrandom() 時(shí),毫無(wú)疑問(wèn)性能會(huì)出現(xiàn)提升。只不過(guò)沒(méi)想到在測(cè)試中能帶來(lái) 8450% 的提升。

除此之外,當(dāng)從 per-numa 更改為 per-cpu 后,也將不再需要被推遲到工作隊(duì)列上線后才能進(jìn)行。也正如我之前所說(shuō),此次改進(jìn)將會(huì)為高核心數(shù)的電腦和服務(wù)器帶來(lái)巨大收益。

原文標(biāo)題:Linux getrandom() 獲得 8450% 性能提升

文章出處:【微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10951

    瀏覽量

    213945
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9432

    瀏覽量

    86508
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4858

    瀏覽量

    69550

原文標(biāo)題:?Linux getrandom() 獲得 8450% 性能提升

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【YOLOv5】LabVIEW+OpenVINO讓你的YOLOv5CPU飛起來(lái)

    我們發(fā)現(xiàn)使用CPU進(jìn)行推理檢測(cè)確實(shí)有些慢,那難道CPU就不能愉快地進(jìn)行物體識(shí)別了嗎?當(dāng)然可以啦,這不LabVIEW和OpenVINO就來(lái)了嘛!今天就和大家一起看一下如何在
    的頭像 發(fā)表于 03-16 14:08 ?2057次閱讀

    怎么把多個(gè)ROI同時(shí)顯示圖片

    怎么把多個(gè)ROI同時(shí)顯示圖片?
    發(fā)表于 06-27 09:14

    如何在TouchGFX創(chuàng)建一個(gè)簡(jiǎn)單的屏幕并嘗試CubeIDE編譯項(xiàng)目呢

    有人可以測(cè)試一下嗎?TouchGFX 4.18.0STM32CubeIDE 1.8.0STM32F469I-迪斯科 TouchGFX 創(chuàng)建一個(gè)簡(jiǎn)單的屏幕并嘗試 CubeIDE
    發(fā)表于 12-19 08:10

    STM32總線CPU和DMA可以同時(shí)工作嗎?有仲裁機(jī)制嗎?

    APB1 外設(shè),同時(shí) CPU 使用 APB1 總線 AHB 外設(shè)總線 1 做另一項(xiàng)工作,會(huì)發(fā)生什么?CPU 和 DMA 甚至可能希望使
    發(fā)表于 12-27 06:34

    i.MX8QM MEK嘗試HDMI RX功能提示失敗的原因?

    i.MX8QM MEK 嘗試 HDMI RX 功能。操作系統(tǒng)版本為 5.15.71。 1080p 60fps 效果很好。 但是對(duì)于 1080p 30fps,它失敗并顯示消息, hdmirx_get_stable_tmds
    發(fā)表于 04-23 07:00

    支持CPU類(lèi)型

    支持CPU類(lèi)型 支持CPU類(lèi)型是指能在該主板所采用的CPU類(lèi)型。CPU的發(fā)展速度相當(dāng)快,不同時(shí)
    發(fā)表于 04-26 08:54 ?612次閱讀

    抗輻射宇航級(jí)CPU中國(guó)和美國(guó)還有多大差距?

    人造衛(wèi)星和神舟飛船中,有一樣電子元件發(fā)揮這至關(guān)重要的作用,那就是宇航級(jí)CPU,這些裝載人造衛(wèi)星和神舟飛船上的CPU的作用相當(dāng)于人類(lèi)的大腦。那么,宇航級(jí)
    發(fā)表于 12-07 17:15 ?5487次閱讀

    如何涂抹cpu散熱膏

    運(yùn)行大程序或者過(guò)多程序同時(shí)運(yùn)行會(huì)導(dǎo)致電腦CPU發(fā)熱,CPU涂散熱膏可以有效降低CPU的工作溫
    的頭像 發(fā)表于 12-27 16:14 ?1.8w次閱讀

    介紹CPU超頻及作用與如何超頻及其好壞

    相信不少玩機(jī)朋友們都嘗試過(guò)CPU超頻,通常所說(shuō)的超頻簡(jiǎn)單來(lái)說(shuō)就是人為提高CPU的外頻或倍頻,使之運(yùn)行頻率得到大幅提升,即CPU超頻。如今很多高品質(zhì)的主板
    發(fā)表于 03-10 22:16 ?9.5w次閱讀

    把進(jìn)程綁定到某個(gè) CPU 運(yùn)行是怎么實(shí)現(xiàn)?

    昨天群里有朋友問(wèn):把進(jìn)程綁定到某個(gè) CPU 運(yùn)行是怎么實(shí)現(xiàn)的。 首先,我們先來(lái)了解下將進(jìn)程與 CPU 進(jìn)行綁定的好處。 進(jìn)程綁定 CPU
    的頭像 發(fā)表于 07-02 09:55 ?2525次閱讀

    (失敗)嘗試將eCOS移植到stm32h743vi

    目錄背景過(guò)程感受背景我的學(xué)長(zhǎng)在一家有名的AI公司上班,他們希望能將OpenCV移植到一款低成本的CPU,但他們對(duì)于硬件完全不懂,于是學(xué)長(zhǎng)希望我嘗試一下(雖然我那時(shí)也還不懂操作系統(tǒng)和CPU
    發(fā)表于 12-01 14:06 ?10次下載
    (失?。?b class='flag-5'>嘗試</b>將eCOS移植到stm32h743vi<b class='flag-5'>上</b>

    Linux CPU上下文切換

    我們都知道 Linux 是一個(gè)多任務(wù)操作系統(tǒng),它支持的任務(wù)同時(shí)運(yùn)行的數(shù)量遠(yuǎn)遠(yuǎn)大于 CPU 的數(shù)量。當(dāng)然,這些任務(wù)實(shí)際并不是同時(shí)運(yùn)行的(Single
    的頭像 發(fā)表于 02-15 14:44 ?696次閱讀
    Linux <b class='flag-5'>CPU</b>上下文切換

    ESP Wemos D1 OLED顯示CPU時(shí)間

    電子發(fā)燒友網(wǎng)站提供《ESP Wemos D1 OLED顯示CPU時(shí)間.zip》資料免費(fèi)下載
    發(fā)表于 06-29 14:39 ?0次下載
    <b class='flag-5'>在</b>ESP Wemos D1 OLED<b class='flag-5'>上</b>顯示<b class='flag-5'>CPU</b>時(shí)間

    【微控制器基礎(chǔ)】——CPU內(nèi)核與整體配置(

    【微控制器基礎(chǔ)】——CPU內(nèi)核與整體配置(
    的頭像 發(fā)表于 10-17 17:19 ?1165次閱讀
    【微控制器基礎(chǔ)】——<b class='flag-5'>CPU</b>內(nèi)核與整體配置(<b class='flag-5'>上</b>)

    如何估算S7-1500 CPU的裝載存儲(chǔ)區(qū)SIMATIC存儲(chǔ)卡的大???

    S7-1500 CPU 的裝載存儲(chǔ)區(qū) SIMATIC 存儲(chǔ)卡。根據(jù)以下操作步驟可以確定用戶程序所需要的存儲(chǔ)區(qū)的大小以便確定所需存儲(chǔ)卡的大小。
    的頭像 發(fā)表于 01-29 10:00 ?1241次閱讀
    如何估算S7-1500 <b class='flag-5'>CPU</b>的裝載存儲(chǔ)區(qū)<b class='flag-5'>在</b>SIMATIC存儲(chǔ)卡<b class='flag-5'>上</b>的大?。? />    </a>
</div>                </div>            </div><!-- .main-wrap -->
        </article>

        <aside class=

    精選推薦

    更多
    • 文章
    • 資料
    • 帖子

    推薦專(zhuān)欄

    更多