Linux 4.10 将带来深远影响的三项小改变

news2024/11/27 14:33:21
Linux的演进永不停歇。Linus Torvalds一直在努力工作,希望能够在新的内核版本当中(4.11)融入更多变化。不过在目前的Linux 4.10中,我们同样发现了三组能够有效提升性能并实现多种前所未有功能集的变更。

Linux的演进永不停歇。Linus Torvalds一直在努力工作,希望能够在新的内核版本当中(4.11)融入更多变化。不过在目前的Linux 4.10中,我们同样发现了三组能够有效提升性能并实现多种前所未有功能集的变更。
下面,我们将共同了解这些可能对您、您的云服务供应商以及Linux应用程序拥有重要影响的变化。

1. 虚拟化GPU

毫无疑问,GPU属于一类很难在虚拟机中成功模拟的硬件。一般来讲,虚拟机会提供它定制化的驱动程序(速度很慢),而图形调用则必须在访客与主机间进行翻译(速度很慢)。理想的解决方案自然是在访客系统内运行与主要相同的图形驱动程序,从而将一切必要调用直接指向GPU。

但单纯能够运行还远远不够,毕竟有些用户可能希望在虚拟机中运行《战地1》这样的大型游戏。这意味着每一种由GPU提供的资源——包括通过CUDA等库提供的GPU加速流程——皆可如常规非虚拟机设备一样运行在虚拟机内。

英特尔公司推出了一组处理器扩展,名为GVT-G,专门用于实现上述目标。然而直到Linux 4.10,我们才终于能够在操作系统层面对GVT-G加以支持。除了通过KVM支持此项功能(即KVMGT),英特尔还贡献了面向Xen与QEMU虚拟机管理程序的图形处理支持方案。

在内核中直接支持GVT-G意味着第三方产品能够在无需对内核进行调整的情况下对相关资源加以利用。这类似于Docker将一系列本地Linux功能转化为DevOps解决方案的作法,它们成功的根源在于此类特性适用于大多数现代Linux版本。

2. 更出色的缓存控制技术

如今的CPU拥有强大的处理速度。然而,从主存储器内提取数据的速度限制了CPU的性能,因此我们需要利用缓存让数据尽可能与CPU贴近。除了缓存容量这一限制因素之外,以往的操作系统在缓存管理方面也存在短板。而Linux 4.10就此提供了多种新型技术与工具。

首先,Linux 4.10支持英特尔缓存分配技术(简称CAT),这项功能可用于Haswell及之后的芯片组。利用CAT,三级(及更高版本的二级)缓存空间可面向特定任务进行分配与保留,意味着特定应用缓存不会被其他应用所刷新。CAT还针对基于缓存的计时攻击提供一定程度保护——很明显,现代计算体系中的每一个角落都有可能被利用为攻击向量。

与这项特性一道出现的为perf c2c。这款新型系统工具适用于存在多个插槽且采取非均匀内存访问(简称NUMA)机制的系统。在这种情况下,各线程运行在不同CPU之上,因此可能由于试图修改同一内存区段而导致运行效率低下。Perf c2c能够有效解决这一性能问题,不过与CAT类似它同样只适用于英特尔处理器。

3. 回写管理

“从诞生以来,Linux通过进程将写入内存的数据同步至磁盘(即后台回写)机制就一直饱受诟病,”KernelNewbies.org在相关评论文章中指出。而在4.10版本中,该I/O请求队列会接受监控以把握其请求延迟,且那些可能造成更高延迟(特别高写入强度操作)的操作会被暂停以允许其他线程能够正常运行。

另一项作用大体相同的实验性功能为提供一套RAID5回写缓存(默认关闭),这意味着面向RAID5阵列内多块磁盘的写入操作可以进行合并。另一实验性功能混合块轮询(默认关闭)提供一种新的方式对数据吞吐量巨大的设备进行轮询。此类轮询有助于提升性能,但若轮询频率过高则可能引发麻烦;新的轮询机制能够确保实现性能提升但又不至于占用过多CPU资源。

上述调整可能会对云计算实例带来可观的积极影响。Amazon提供的多种实例类型就正好符合其适用范围,而内核层面的改进则能够在读取与写入操作之间带来更理想的平衡效果。因此可以肯定的是,Linux 4.10的这几项小小改变将受到整个技术业界的热烈欢迎。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/629024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何快速写出一个完整的测试用例

一、前言 测试工作中最为基础核心的内容就是设计测试用例,我们一般会认为数量越少、发现缺陷越多的用例就是好的用例。那么,怎样才能设计出好的测试用例呢?本次专题就向大家介绍如何编写一个完整且靠谱的测试用例。 二、测试用例的重要性 …

使用IPSW文件将iOS系统从Beta恢复到稳定正式版教程

起因 作为一名iOS开发者,为了拥抱新系统(手贱),将开发机升级到了最新的iOS 17 Beta版本,从而导致使用现有的Xcode无法成功配对该版本系统。故准备想方设法回滚到原先的iOS 16.5稳定版 回滚方式 若要将iOS设备回退至…

【MySQL高级篇笔记-数据库其它调优策略(中) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、数据库调优的措施 1、调优的目标 2、如何定位调优问题 3、调优的维度和步骤 二、优化MySQL服务器 1、优化服务器硬件 2、优化MySQL的参数 三、优化数据库结构 1、拆分表:冷热数据分离 2、增加中间表 3、增加…

CKA 01_docker部署Kubernetes 部署docker 使用kubeadm引导集群 安装Pod网络

文章目录 1. 虚拟机步骤2. Docker 部署 Kubernetes2.1 部署 docker2.1.1 环境要求2.1.2 安装 docker 引擎2.1.3 worker 节点对 master 节点免密2.1.4 设定 docker 开机自启2.1.5 打开桥接,查看桥接流量2.1.6 设定 systemd 方式管理 cgroup2.1.7 docker部署完成2.1.8…

光伏储能直流系统MATLAB仿真(PV光伏阵列+Boost DCDC变换器+负载+双向DCDC变换器+锂离子电池系统)

PV光伏阵列Boost DCDC变换器负载双向DCDC变换器锂离子电池系统 资源地址: 光伏储能直流系统MATLAB仿真(PV光伏阵列BoostDCDC变换器负载双向DCDC变换器锂离子电池系统)-Matlab文档类资源-CSDN文库 主要模块: PV光伏阵列、Boost…

这 3个Python 函数你知道吗?

动动发财的小手,点个赞吧! 作为21世纪最流行的语言之一,Python当然有很多有趣的功能值得深入探索和研究。今天将介绍其中的三个,每个都从理论上和通过实际示例进行介绍。 我想要介绍这些函数的主要原因是它们可以帮助您避免编写循…

CKA 09_Kubernetes工作负载与调度 资源调度 三类QoS request 资源需求 limit 资源限额

文章目录 1. 资源调度1.1 准备工作1.2 为什么需要 request 和 limit1.3 内存限制1.3.1 Brustable1.3.2 Guaranteed1.3.3 BestEffort1.3.4 当容器申请的资源超出 limit 和 request 1.4 CPU限制 1. 资源调度 1.1 准备工作 Kubernetes 采用 request 和 limit 两种限制类型来对资源…

中国电子学会2023年05月份青少年软件编程Python等级考试试卷一级真题(含答案)

2023-05 Python一级真题 分数:100 题数:37 测试时长:60min 一、单选题(共25题,共50分) 1. 可以对Python代码进行多行注释的是?(C ) A.# B." " C. D. 2. 下列可以作为Py…

ChatGPT有哪些神奇的使用方式? ChatGPT十大功能

原文:ChatGPT有哪些神奇的使用方式? ChatGPT十大功能_其他工具_软件教程_脚本之家 随着微软、百度等巨头加码,AIGC(人工智能自动生成内容)领域或将成为2023年最值得关注的、全球最热门赛道。AI大模型相当于是通过积累大量知识&a…

MT6705B 同步整流器

MT6705B 是用于反激式变换器的高性能45V 同步整流器。它兼容各种反激转换器类型。支持 DCM、CCM 和准谐振模式。MT6705B集成了一个40V功率MOSFET&#xff0c;可以取代肖特基二极管&#xff0c;提高效率。V SW <V TH-ON 时&#xff0c;内部 MOSFET 导通。V SW >V TH-OFF 时…

前端响应式布局--更新中

前端响应式布局原理与方案&#xff08;详细版&#xff09; 文章目录 媒体查询Grid布局Flex布局 响应式布局&#xff1a;在不同屏幕尺寸下&#xff0c; 同一页面有不同的布局。 传统的开发模式&#xff1a;PC端搞一套布局&#xff0c;移动端搞一套布局。 使用了响应式布局&#…

SpringBoot中集成Swagger2

介绍 Swagger是非常流行的API框架&#xff0c;能够自动生成RESTFul 风格的API文档&#xff0c;还可以在线测试后台接口。 使用Swagger你只需要按照它的规范去定义接口及接口相关的信息&#xff0c;再通过Swagger衍生出来的一系列项目和工具&#xff0c;就可以做到生成各种格式…

【论文阅读】Language Models are Few-Shot Learners(GPT-3)

前言 本文简要介绍了GPT-3的背景&#xff0c;模型架构&#xff0c;训练数据以及训练方式部分。具体训练细节&#xff0c;实验结果很多&#xff0c;可以在用到的时候再看 Intro 本文剖析了pretrain-finetune架构存在的问题&#xff1a; 对于每个新的任务&#xff0c;都需要大…

kotlin withTimeoutOrNull超时返回

kotlin withTimeoutOrNull超时返回 import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withTimeoutOrNullfun main(args: Array<String>) {testTimeOut(1000) //如果是2000&#xff0c;则正常返回 OK }fun testTimeOut(…

OpenGL 坐标系统

1.简介 OpenGL希望在每次顶点着色器运行后&#xff0c;我们可见的所有顶点都为标准化设备坐标。也就是说&#xff0c;每个顶点的x&#xff0c;y&#xff0c;z坐标都应该在-1.0到1.0之间&#xff0c;超出这个坐标范围的顶点都将不可见。将坐标变换为标准化设备坐标&#xff0c;接…

在职读研探索更大的世界,中国人民大学与加拿大女王大学金融硕士给予你前行的力量

生活总是在变化中前进&#xff0c;这个世界从未停止过为我们带来新的挑战和机遇。职场中我们偶尔会感到困惑和迷茫&#xff0c;不知道该怎么去做。但我们可以选择去发现更大的世界&#xff0c;重新定义自己。中国人民大学与加拿大女王大学金融硕士项目给予你前行的力量。 知识…

建站教程:阿里云服务器安装宝塔面板搭建网站全流程

使用阿里云服务器安装宝塔面板教程&#xff0c;阿里云服务器网以CentOS操作系统为例&#xff0c;安装宝塔Linux面板&#xff0c;先远程连接到云服务器&#xff0c;然后执行宝塔面板安装命令&#xff0c;系统会自动安装宝塔面板&#xff0c;安装完成后会返回面板地址、账号和密码…

浅谈集群,分布式和微服务的区别

一.概念 集群&#xff1a; 分布式&#xff1a; 微服务&#xff1a; 二.区别 集群是多台服务器一起处理同一个业务,可以使用负载均衡使得每一个服务器的负载相对平衡,集群中的一台服务器出现问题,该服务器所负责的业务可以由其他的服务器代为处理。直白一点:就是只有一个项目&…

深入理解PE,手工制作64位PE程序

深入理解PE&#xff0c;手工制作64位PE程序 文章目录 深入理解PE&#xff0c;手工制作64位PE程序手工构建64位PE程序制作准备创建一个空文件Dos头 IMAGE_DOS_HEADERNT头 IMAGE_NT_HEADERS文件头 IMAGE_FILE_HEADER可选头 IMAGE_OPTIONAL_HEADER64 节区头 IMAGE_SECTION_HEADER.…

基本 SQL 命令 、重要的 SQL命令、SQL 约束 及 SQL语句 的 执行顺序

学习目标&#xff1a; 学习目标如下&#xff1a; SQL语句执行顺序 学习内容&#xff1a; 基本 SQL 命令&#xff1a; FROMONJOINWHEREGROUP BYAGG_FUNCWITHHAVINGSELECT 从数据库中提取数据UNIONDISTINCTORDER BY 排序LIMIT 重要的sql命令&#xff1a; 1、SELECT - 从数据…