0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux内核的随机数生成器代码获得大幅改进

Linux爱好者 来源:OSC开源社区 作者:OSC开源社区 2022-04-15 18:51 次阅读

Jason Donenfeld 是 WireGuard 的主要开发者,同时他也是 Linux 内核随机数相关代码的维护者,近日在他的领导下,Linux 内核的随机数生成器代码有了巨大幅度的改进。在之前的 Linux 5.17 中,Jason Donenfeld 就在随机代码用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自带的特性,前者通常比后者更快更安全。经过测试,通过这个简单的转换就能获得 131% 左右的速度提升。虽然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 对此并没满足。因此在 Linux 5.18 中他对随机代码作出了更多的改进。

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

通过查看 Linux 的 random.git 仓库的日志能够看出(上图),开发者 Jason Donenfeld 在最近两天时间里进行了大量的代码提交。这些提交内容都将在 3 月下旬 Linux 5.18 的合并窗口启动时引入内核。

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

在邮件中特别强调到,通过使用正在开发的最新代码,用于获取随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 内存的设备上进行 stress-ng getrandom() 基准测试后,更是获得了 8450% 的性能提升。此次更改基本上会将之前的全局结构(实际上是 per-numa 节点结构)更改为 per-cpu 结构,这意味着快速路径上的许多锁都会消失。因此,当在具备多核的 CPU 上同时尝试 getrandom() 时,毫无疑问性能会出现提升。只不过没想到在测试中能带来 8450% 的提升。除此之外,当从 per-numa 更改为 per-cpu 后,也将不再需要被推迟到工作队列上线后才能进行。也正如我之前所说,此次改进将会为高核心数的电脑和服务器带来巨大收益。

原文标题:性能提升 8450%,Linux 内核函数获大幅改进

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40294
  • Linux
    +关注

    关注

    87

    文章

    11306

    浏览量

    209572
  • 生成器
    +关注

    关注

    7

    文章

    315

    浏览量

    21020

原文标题:性能提升 8450%,Linux 内核函数获大幅改进

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    问天量子和方寸微电子联合发布量子随机数芯片

    近日,国家密码管理局商用密码检测中心出具报告,问天量子和方寸微电子联合自主研发的WT-QRNG300量子随机数芯片通过检测,这是国内首家官方商密报告认定、且已实现商用量产及产业化的“量子随机数芯片”产品。
    的头像 发表于 12-19 16:18 302次阅读

    LuatOS开发之4G模组随机数(random)|实战指南

    本次学习的实战是关于4G模组LuatOS开发的随机数示例指南,希望大家有所收获。
    的头像 发表于 11-30 09:51 210次阅读
    LuatOS开发之4G模组<b class='flag-5'>随机数</b>(random)|实战指南

    解析Air780E模组LuatOS开发的随机数(random) 示例篇

    本文主要解析的是低功耗4G模组Air780E的LuatOS开发随机数(random)实例,我以整理成文分享给大家。
    的头像 发表于 11-29 20:23 133次阅读
    解析Air780E模组LuatOS开发的<b class='flag-5'>随机数</b>(random) 示例篇

    蓝牙AES+RNG如何保障物联网信息安全

    功能可通过软件实现,也可以通过硬件实现。主要优势体现在:在保障通信安全方面,随机数生成器能够输出非重复且随机变化的数值。这些数值是构建多种安全机制的基础,例如鉴权与加密过程,从而显著提升蓝牙通信
    发表于 11-08 15:38

    使用C2000™嵌入式模式生成器(EPG)进行设计

    电子发烧友网站提供《使用C2000™嵌入式模式生成器(EPG)进行设计.pdf》资料免费下载
    发表于 09-14 10:13 1次下载
    使用C2000™嵌入式模式<b class='flag-5'>生成器</b>(EPG)进行设计

    Freepik携手Magnific AI推出AI图像生成器

    近日,设计资源巨头Freepik携手Magnific AI,共同推出了革命性的AI图像生成器——Freepik Mystic,这一里程碑式的发布标志着AI图像创作领域迈入了一个全新的高度
    的头像 发表于 08-30 16:23 1142次阅读

    雅特力AT32 MCU的随机数生成

    概述产品和生态系统安全性的需求比以往任何时候都更加重要。真随机数是所有安全系统的核心,其质量会影响设计的安全性。因此在没有内置硬件TRNG的AT32的微控制器系列中,如何提高随机数的有效,来符合
    的头像 发表于 08-30 12:26 584次阅读
    雅特力AT32 MCU的<b class='flag-5'>随机数</b><b class='flag-5'>生成</b>

    如何在FPGA中实现随机数发生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中实现4位伪随机数发生器(PRNGs)。
    的头像 发表于 08-06 11:20 688次阅读
    如何在FPGA中实现<b class='flag-5'>随机数</b>发生器

    如何使用Python生成四位随机数

    为了实现这些目标,Python 为我们提供了random() 模块。random() 是一个内置的 Python 模块,用于生成随机数
    的头像 发表于 04-15 12:47 678次阅读

    Minitab 交互式表格生成器

    生成器
    MinitabUG
    发布于 :2024年04月03日 15:58:54

    请问rt-thread studio如何使用硬件随机数生成器

    指导一下。 经过查询得知可以使用rt_hw_random_get()函数来获取硬件随机数,请文需要做什么配置才能使用rt_hw_random_get()函数。
    发表于 02-23 08:03

    RL78的代码生成器发布说明

    电子发烧友网站提供《RL78的代码生成器发布说明.pdf》资料免费下载
    发表于 01-30 09:48 0次下载
    RL78的<b class='flag-5'>代码</b><b class='flag-5'>生成器</b>发布说明

    MicroClock可编程 时钟生成器5X1503数据手册

    电子发烧友网站提供《MicroClock可编程 时钟生成器5X1503数据手册.pdf》资料免费下载
    发表于 01-14 10:56 0次下载
    MicroClock可编程 时钟<b class='flag-5'>生成器</b>5X1503数据手册

    HKA5278 128音符旋律生成器一般说明

    电子发烧友网站提供《HKA5278 128音符旋律生成器一般说明.pdf》资料免费下载
    发表于 01-10 09:09 0次下载

    单片机代码自动生成器程序

    单片机代码自动生成器是一种能够帮助开发人员快速生成单片机代码的工具。它利用了现代计算机技术和算法,能够根据用户提供的输入和需求,自动生成符合
    的头像 发表于 01-08 14:12 3245次阅读