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

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

3天内不再提示

在CPU上如何同时尝试 getrandom

Linux爱好者 来源:OSCHINA 作者:OSCHINA 2022-03-16 17:19 次阅读

Jason Donenfeld 是 WireGuard 的主要开发者,同时他也是 Linux 内核随机数相关代码的维护者,近日在他的领导下,Linux 内核的随机数生成器代码有了巨大幅度的改进。

在之前的 Linux 5.17 中,Jason Donenfeld 就在随机代码用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自带的特性,前者通常比后者更快更安全。经过测试,通过这个简单的转换就能获得 131% 左右的速度提升。

虽然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 对此并没满足。因此在 Linux 5.18 中他对随机代码作出了更多的改进。

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

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

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

在邮件中[2]特别强调到,通过使用正在开发的最新代码,用于获取随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 内存的设备上进行 stress-ng getrandom() 基准测试后,更是获得了 8450% 的性能提升。

此次更改基本上会将之前的全局结构(实际上是 per-numa 节点结构)更改为 per-cpu 结构,这意味着快速路径上的许多锁都会消失。因此,当在具备多核的 CPU 上同时尝试 getrandom() 时,毫无疑问性能会出现提升。只不过没想到在测试中能带来 8450% 的提升。

除此之外,当从 per-numa 更改为 per-cpu 后,也将不再需要被推迟到工作队列上线后才能进行。也正如我之前所说,此次改进将会为高核心数的电脑和服务器带来巨大收益。

原文标题:Linux getrandom() 获得 8450% 性能提升

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

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

    关注

    68

    文章

    10929

    浏览量

    213424
  • 服务器
    +关注

    关注

    12

    文章

    9367

    浏览量

    86273
  • 代码
    +关注

    关注

    30

    文章

    4846

    浏览量

    69267

原文标题:​Linux getrandom() 获得 8450% 性能提升

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

收藏 人收藏

    相关推荐

    【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5CPU飞起来

    我们发现使用CPU进行推理检测确实有些慢,那难道CPU就不能愉快地进行物体识别了吗?当然可以啦,这不LabVIEW和OpenVINO就来了嘛!今天就和大家一起看一下如何在
    的头像 发表于 03-16 14:08 2002次阅读

    怎么把多个ROI同时显示图片

    怎么把多个ROI同时显示图片
    发表于 06-27 09:14

    如何在TouchGFX创建一个简单的屏幕并尝试CubeIDE编译项目呢

    有人可以测试一下吗?TouchGFX 4.18.0STM32CubeIDE 1.8.0STM32F469I-迪斯科 TouchGFX 创建一个简单的屏幕并尝试 CubeIDE
    发表于 12-19 08:10

    STM32总线CPU和DMA可以同时工作吗?有仲裁机制吗?

    APB1 外设,同时 CPU 使用 APB1 总线 AHB 外设总线 1 做另一项工作,会发生什么?CPU 和 DMA 甚至可能希望使
    发表于 12-27 06:34

    i.MX8QM MEK尝试HDMI RX功能提示失败的原因?

    i.MX8QM MEK 尝试 HDMI RX 功能。操作系统版本为 5.15.71。 1080p 60fps 效果很好。 但是对于 1080p 30fps,它失败并显示消息, hdmirx_get_stable_tmds
    发表于 04-23 07:00

    支持CPU类型

    支持CPU类型 支持CPU类型是指能在该主板所采用的CPU类型。CPU的发展速度相当快,不同时
    发表于 04-26 08:54 604次阅读

    抗辐射宇航级CPU中国和美国还有多大差距?

    人造卫星和神舟飞船中,有一样电子元件发挥这至关重要的作用,那就是宇航级CPU,这些装载人造卫星和神舟飞船上的CPU的作用相当于人类的大脑。那么,宇航级
    发表于 12-07 17:15 5474次阅读

    如何涂抹cpu散热膏

    运行大程序或者过多程序同时运行会导致电脑CPU发热,CPU涂散热膏可以有效降低CPU的工作温
    的头像 发表于 12-27 16:14 1.8w次阅读

    介绍CPU超频及作用与如何超频及其好坏

    相信不少玩机朋友们都尝试CPU超频,通常所说的超频简单来说就是人为提高CPU的外频或倍频,使之运行频率得到大幅提升,即CPU超频。如今很多高品质的主板
    发表于 03-10 22:16 9.5w次阅读

    把进程绑定到某个 CPU 运行是怎么实现?

    昨天群里有朋友问:把进程绑定到某个 CPU 运行是怎么实现的。 首先,我们先来了解下将进程与 CPU 进行绑定的好处。 进程绑定 CPU
    的头像 发表于 07-02 09:55 2492次阅读

    (失败)尝试将eCOS移植到stm32h743vi

    目录背景过程感受背景我的学长在一家有名的AI公司上班,他们希望能将OpenCV移植到一款低成本的CPU,但他们对于硬件完全不懂,于是学长希望我尝试一下(虽然我那时也还不懂操作系统和CPU
    发表于 12-01 14:06 10次下载
    (失败)<b class='flag-5'>尝试</b>将eCOS移植到stm32h743vi<b class='flag-5'>上</b>

    Linux CPU上下文切换

    我们都知道 Linux 是一个多任务操作系统,它支持的任务同时运行的数量远远大于 CPU 的数量。当然,这些任务实际并不是同时运行的(Single
    的头像 发表于 02-15 14:44 683次阅读
    Linux <b class='flag-5'>CPU</b>上下文切换

    ESP Wemos D1 OLED显示CPU时间

    电子发烧友网站提供《ESP Wemos D1 OLED显示CPU时间.zip》资料免费下载
    发表于 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>时间

    【微控制器基础】——CPU内核与整体配置(

    【微控制器基础】——CPU内核与整体配置(
    的头像 发表于 10-17 17:19 1130次阅读
    【微控制器基础】——<b class='flag-5'>CPU</b>内核与整体配置(<b class='flag-5'>上</b>)

    如何估算S7-1500 CPU的装载存储区SIMATIC存储卡的大小?

    S7-1500 CPU 的装载存储区 SIMATIC 存储卡。根据以下操作步骤可以确定用户程序所需要的存储区的大小以便确定所需存储卡的大小。
    的头像 发表于 01-29 10:00 1186次阅读
    如何估算S7-1500 <b class='flag-5'>CPU</b>的装载存储区<b class='flag-5'>在</b>SIMATIC存储卡<b class='flag-5'>上</b>的大小?