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

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

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

Linux內(nèi)核的隨機(jī)數(shù)生成器代碼獲得大幅改進(jìn)

Linux愛(ài)好者 ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:OSC開(kāi)源社區(qū) ? 2022-04-15 18:51 ? 次閱讀

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)。

d03bfad2-bc12-11ec-aa7f-dac502259ad0.png

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

d04e68f2-bc12-11ec-aa7f-dac502259ad0.png

在郵件中特別強(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)題:性能提升 8450%,Linux 內(nèi)核函數(shù)獲大幅改進(jìn)

文章出處:【微信公眾號(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)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40293
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209541
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    315

    瀏覽量

    21011

原文標(biāo)題:性能提升 8450%,Linux 內(nèi)核函數(shù)獲大幅改進(jìn)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    問(wèn)天量子和方寸微電子聯(lián)合發(fā)布量子隨機(jī)數(shù)芯片

    近日,國(guó)家密碼管理局商用密碼檢測(cè)中心出具報(bào)告,問(wèn)天量子和方寸微電子聯(lián)合自主研發(fā)的WT-QRNG300量子隨機(jī)數(shù)芯片通過(guò)檢測(cè),這是國(guó)內(nèi)首家官方商密報(bào)告認(rèn)定、且已實(shí)現(xiàn)商用量產(chǎn)及產(chǎn)業(yè)化的“量子隨機(jī)數(shù)芯片”產(chǎn)品。
    的頭像 發(fā)表于 12-19 16:18 ?295次閱讀

    LuatOS開(kāi)發(fā)之4G模組隨機(jī)數(shù)(random)|實(shí)戰(zhàn)指南

    本次學(xué)習(xí)的實(shí)戰(zhàn)是關(guān)于4G模組LuatOS開(kāi)發(fā)的隨機(jī)數(shù)示例指南,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:51 ?209次閱讀
    LuatOS開(kāi)發(fā)之4G模組<b class='flag-5'>隨機(jī)數(shù)</b>(random)|實(shí)戰(zhàn)指南

    解析Air780E模組LuatOS開(kāi)發(fā)的隨機(jī)數(shù)(random) 示例篇

    本文主要解析的是低功耗4G模組Air780E的LuatOS開(kāi)發(fā)隨機(jī)數(shù)(random)實(shí)例,我以整理成文分享給大家。
    的頭像 發(fā)表于 11-29 20:23 ?131次閱讀
    解析Air780E模組LuatOS開(kāi)發(fā)的<b class='flag-5'>隨機(jī)數(shù)</b>(random) 示例篇

    藍(lán)牙AES+RNG如何保障物聯(lián)網(wǎng)信息安全

    功能可通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。主要優(yōu)勢(shì)體現(xiàn)在:在保障通信安全方面,隨機(jī)數(shù)生成器能夠輸出非重復(fù)且隨機(jī)變化的數(shù)值。這些數(shù)值是構(gòu)建多種安全機(jī)制的基礎(chǔ),例如鑒權(quán)與加密過(guò)程,從而顯著提升藍(lán)牙通信
    發(fā)表于 11-08 15:38

    使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:13 ?1次下載
    使用C2000?嵌入式模式<b class='flag-5'>生成器</b>(EPG)進(jìn)行設(shè)計(jì)

    Freepik攜手Magnific AI推出AI圖像生成器

    近日,設(shè)計(jì)資源巨頭Freepik攜手Magnific AI,共同推出了革命性的AI圖像生成器——Freepik Mystic,這一里程碑式的發(fā)布標(biāo)志著AI圖像創(chuàng)作領(lǐng)域邁入了一個(gè)全新的高度
    的頭像 發(fā)表于 08-30 16:23 ?1142次閱讀

    雅特力AT32 MCU的隨機(jī)數(shù)生成

    概述產(chǎn)品和生態(tài)系統(tǒng)安全性的需求比以往任何時(shí)候都更加重要。真隨機(jī)數(shù)是所有安全系統(tǒng)的核心,其質(zhì)量會(huì)影響設(shè)計(jì)的安全性。因此在沒(méi)有內(nèi)置硬件TRNG的AT32的微控制器系列中,如何提高隨機(jī)數(shù)的有效,來(lái)符合
    的頭像 發(fā)表于 08-30 12:26 ?575次閱讀
    雅特力AT32 MCU的<b class='flag-5'>隨機(jī)數(shù)</b><b class='flag-5'>生成</b>

    如何在FPGA中實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
    的頭像 發(fā)表于 08-06 11:20 ?683次閱讀
    如何在FPGA中實(shí)現(xiàn)<b class='flag-5'>隨機(jī)數(shù)</b>發(fā)生器

    如何使用Python生成四位隨機(jī)數(shù)

    為了實(shí)現(xiàn)這些目標(biāo),Python 為我們提供了random() 模塊。random() 是一個(gè)內(nèi)置的 Python 模塊,用于生成隨機(jī)數(shù)。
    的頭像 發(fā)表于 04-15 12:47 ?673次閱讀

    Minitab 交互式表格生成器

    生成器
    MinitabUG
    發(fā)布于 :2024年04月03日 15:58:54

    請(qǐng)問(wèn)rt-thread studio如何使用硬件隨機(jī)數(shù)生成器

    指導(dǎo)一下。 經(jīng)過(guò)查詢得知可以使用rt_hw_random_get()函數(shù)來(lái)獲取硬件隨機(jī)數(shù),請(qǐng)文需要做什么配置才能使用rt_hw_random_get()函數(shù)。
    發(fā)表于 02-23 08:03

    RL78的代碼生成器發(fā)布說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《RL78的代碼生成器發(fā)布說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 01-30 09:48 ?0次下載
    RL78的<b class='flag-5'>代碼</b><b class='flag-5'>生成器</b>發(fā)布說(shuō)明

    MicroClock可編程 時(shí)鐘生成器5X1503數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《MicroClock可編程 時(shí)鐘生成器5X1503數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-14 10:56 ?0次下載
    MicroClock可編程 時(shí)鐘<b class='flag-5'>生成器</b>5X1503數(shù)據(jù)手冊(cè)

    HKA5278 128音符旋律生成器一般說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《HKA5278 128音符旋律生成器一般說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 01-10 09:09 ?0次下載

    單片機(jī)代碼自動(dòng)生成器程序

    單片機(jī)代碼自動(dòng)生成器是一種能夠幫助開(kāi)發(fā)人員快速生成單片機(jī)代碼的工具。它利用了現(xiàn)代計(jì)算機(jī)技術(shù)和算法,能夠根據(jù)用戶提供的輸入和需求,自動(dòng)生成符合
    的頭像 發(fā)表于 01-08 14:12 ?3241次閱讀