LWN: core scheduling的多种应用场景

一文搞懂core-scheduling核心机制 一文搞懂core scheduling的工作核心机制 阅读详情
640
点击上方蓝色“Linux News搬运工”关注我们~

Many uses for Core scheduling

By Jonathan Corbet


LPC

kernel开发社区中对一些新的功能是持非常欢迎的态度,而对另一些可能就不太欢迎了。很明显,core scheduling就是争议颇大的一个功能。它会对某个CPU上同时运行哪些进程带来不少限制,导致CPU scheduling(调度)更加麻烦。Core scheduling在2019 Linux Plumbers Conference会议上至少有三个议题都提到了它。其中主要的收获,可能就是在最早的“防止side-channel attack”的目标之外,又找到了其他一些应用场景。

Current status

最开始的讨论来自Julien Desfossez和Vineeth Remanan Pillai。Desfossez先指出core scheduling已经开发了有一年时间了,主要目的是为了让SMT(simultaneous multi-threading,或者"hyperthreading",超线程)能更加安全,不受speculative-execution类型的攻击。一个SMT 核包含两个或者更多的CPU(有时候也被称为“hardware threads”)都共享很多底层硬件。这里共享的包括一部分cache,这样导致SMT可能会受基于cache进行的side-channel攻击。对于担心这类攻击的服务器来说,最好现在就把SMT关掉,当然这会让一些workload(负载)的性能有不少下降。core scheduling如果能合入的话,就不会有这么大的性能损失了,因为它可以让互不信任的进程不会同时执行在同一个core核心上。

640

Pillai接着说明,core scheduling group会信赖运行在同一个core上的任务。它会把SMT core内部的多个CPU作为同一个实体,在其内部的所有CPU上寻找最高优先级的任务,然后决定下一步调度哪个任务。如果这时候看到另一个任务能跟这个高优先级任务兼容(互信)的话,就让兄弟CPU来执行这个任务,否则只好让兄弟CPU空闲了。

第一版本的core scheduling是针对KVM实现的,只允许同一个虚拟机里的virtual CPU thread共享同一个core。后来有了更通用的实现,是依靠系统管理员来定义trust boundaries(信任边界)。最开始的实现方法是利用cgroup,然后系统管理员来标记哪些任务是互相兼容(信赖)的,从而放到同一个group里去,或者对多个group设置相同的cpu.tag值。第三版的patch set现在正在讨论中,主要关注bug fix以及性能问题。

这里还是有一些问题。调度器的vruntime值是用来在多个task之间进行比较,做出调度决定的依据。对单CPU场景来说很容易使用,不过设计的时候没有考虑过要在多个CPU之间来比较。这样就可能导致一些task会被饿死。目前的考虑是把这类比较当做load-balance的问题,估计会创建一个归一化的vruntime,确保一个core上面都可以直接比较。

在core scheduling实现里,兄弟CPU无法避免会有时被迫空闲,不过情况其实比想象的更加严重。具体来说,一个计算密集型的进程可能会导致它的兄弟CPU在很长一段时间都是空闲的,导致一些进程饿死。调度器还是必须要有办法来统计这种被迫空闲的时长,才能选择时机相应的做出一些对策(换去执行饿得不行了的进程)。或者想办法创造一种特殊的idle task,来在被迫空闲的CPU上运行,能是不是的提醒调度器做出一些动作。

Desfossez接着介绍了一些针对目前patch set所做的很多测试工作。这些会影响性能的patch通常都会需要展示给大家明显的性能提升数据。不过core scheduler的测试结果看起来比起关闭SMT来说互有胜负。他们的测试方法也利用了trace来确保行为正常,确实没有互不相容的task同时在一个core上运行。

测试里暴露出上面提到的公平性问题,以及有些workload下关闭SMT性能其实更好。具体来说,I/O密集型的workload并没有从core scheduling得到什么好处,MySQL benchmark会变得更差。

今后,还需要仔细想一下如何选择各个进程。这里也有个小问题,就是core scheduling尽管能在进程之间互相做隔离,但是它没法保证kernel和user space不在同一个core上执行。如果要修复这个问题,就得在系统调用的位置以及退出虚拟机的位置加上一些同步操作,可能会很耗时。并且没有什么其他方法能避免MDS(Microarchitecture Data Sampling,是Intel处理器上特有的一组side channel攻击方式)攻击。总之,如何管理进程的接口还是需要重新思考一下。

介绍结束之后,Len Brown问这部分代码是否能支持一个SMT core里面有超过2个CPU的情况?目前并没有这种系统,不过相信肯定有CPU设计者在考虑这类设计。回答是说这个代码很通用,能支持这类场景,不过还是要经过测试才能给出确定回答。

Other uses

在Scheduling Microconference里,还有其他一些session讨论提到了core scheduling,主要是关注一些实现细节以及是否有其他的应用场景。Subhra Mazumdar先介绍了Oracle的一类数据库应用场景,其中有Oracle自由的虚拟化配置,希望利用core scheduling来把task比较优化的分布开。不过他们使用core scheduling的时候发现性能下降非常大(17~30%),主要都是来自那些被迫空闲的CPU,经常看到有个CPU明明可以执行另一个core上的task,结果却呆在idle状态。Mazumdar建议在调度器的wakeup路径上做些改动,允许它能查找系统中其他core上兼容task来运行。

讨论中同样指出core scheduling并没有让所有的workload都表现更好。例如Mel Gorman运行的这些benchmark(https://lwn.net/ml/linux-kernel/20190425144619.GX18914@techsingularity.net/ )就说明打开SMT(哪怕不开core scheduling)也会导致性能下降。

640

Aubrey Li介绍了core scheduling的另一类应用场景:深度学习的training workload。这类workload通常会用到很多AVX-512指令来改善性能,不过使用这类指令需要整个core的CPU频率降低。如果在同一个core上运行一个不相干的task的话,就可能会导致这个task的性能下降。也就是说用一个CPU来执行AVX-512相关进程,还不如直接用整个core的两个CPU来执行两个AVX-512进程。

既然需要让同一个core中的两个CPU都运行这类AVX-512密集计算进程,那么core scheduling就可以起作用了。这时观察到10%的throughput提升,以及30%的延迟降低。因此他认为把core scheduling合入mainline是很有好处的。

Jan Schönherr有另一种应用场景:隔离一些进程,并且强迫其他进程同时运行。他的patch set名字有点容易让人混淆,叫做coscheduling,允许系统管理员设置策略来要求相关的进程可以在同一个core上运行,并且排除其他进程。因此core scheduling不仅会改善安全性,同时也能通过让相关进程公用CPU资源来获得性能提升。

有人问他现有的cpuset功能是否能满足他的需求,他回答到是可以用,不过在系统负载过重的时候就无法仍然保证效果了。

Realtime

第二天,Peter Zijlstra在Realtime Microconference里也有一个session讨论到core scheduling。他称之为是近来的焦点。太多人要求合入了,他基本上已经没法拒绝了,哪怕这个patch set无法完全解决side-channel问题。

640

看起来realtime(实时)开发者也觉得这个功能很有吸引力。从实时性角度来考虑,SMT有个问题在于它导致的非确定性。或者按Zijlstra说的“deterministically awful(非常确定的不爽)”。实时调度用户都希望能关闭SMT来避免它引入的延迟问题。不过core scheduling能够在某个CPU运行实时进程的时候强制兄弟CPU进入idle,这样就能避免SMT引入的干扰了。这样,如果某个core没有实时工作的话,就可以打开SMT;而当有实时性要求的时候利用强制idle的方式来事实上关闭了SMT。这样能让两种情况都得到最好的结果。

不过这么使用core scheduling的话就带来很多有趣的问题。会议中讨论到一个,就是deadline scheduler要求的admission control带来的影响。Admission control会要求调度器在CPU资源不够满足某个deadline task需求的时候,不可以接受这个task。强制让CPU空闲,会影响系统中可用的计算能力(总CPU time)。如果admission control不考虑这部分影响,系统可能就会接受了一些无法在deadline内完成的task。

一个可行方案是让某个deadline process的最坏情况下执行时间(也就是它被允许运行的时长)乘以一个core内部的CPU数量,因为这个进程运行时事实上会占住全部这些CPU。这里还是有不少细节需要处理,例如怎么给这样的task标记tag,如果在cgroup或者prctl()里设置tag的话会有点太晚了,可能这时admission-control决策已经完成了。也许可以改进sched_setattr()来达到这个目的。不过这样就会要创建两种不同的方式来对task针对core scheduling进行标记(tag)。Zijlstra说,开发者们还是需要找到一个接口来能涵盖所有可能的应用场景。

Getting it merged

回到Scheduler Microconference,Pillai总结session的时候说,core scheduling对某些应用场景是非常有好处的(big win),应该合入mainline让想用的人尽快用起来。不过这个功能缺省需要关闭,因为并不是对所有人都有好处的。还有个小问题就是core scheduling没有保护kernel。Pillai认为在虚拟机退出的地方加一个security boundary就能解决这个问题了。对系统调用和中断进行隔离并不是那么重要。Thomas Gleixner非常不同意这个看法,他认为所有调入kernel的接口都是同等的,不管使用哪种机制。

Paul Turner说,保护硬件漏洞并不是一个调度器的责任,并且core scheduling并无法完全避免硬件风险。他认为Coscheduling也是必须的,也可能是类似于address-space isolation patch一样很难合入的patch。所有这些都需要我们仔细思考,找出一个方法来把他们结合起来。Gleixner表示赞同,不过认为首先需要了解这个问题的全貌,否则无法把拼图拼完整。

[Your editor thanks the Linux Foundation, LWN's travel sponsor, for supporting his travel to this event.]

全文完

LWN文章遵循CC BY-SA 4.0许可协议。

极度欢迎将文章分享到朋友圈 
热烈欢迎转载以及基于现有协议修改再创作~

长按下面二维码关注:Linux News搬运工,希望每周的深度文章以及开源社区的各种新近言论,能够让大家满意~

640?wx_fmt=jpeg

Spark Core解析 2:Scheduler 调度体系 Spark Core解析 2:Scheduler 调度体系 Overview 调度系统,是贯穿整个Spark应用的主心骨,从调度系统开始入手了解Spark Core,比较容易理清头绪。 Spark的资源调度采用的是常见的两层调度,底层资源的管理和分配是第一层调度,交给YARN、Mesos或者Spark的Standalone集群处理,Application从第一层调度拿到资源后,还要进行内部的任务... 阅读详情

相关推荐

嵌入式笔试面试题库 250 题|13 章从 C 语言到 FreeRTOS,每题带追问

面试里有两类问题。第一类问「static 有几个作用」,第二类问「串口丢数据你怎么查」。第一类决定你能不能进二面,第二类决定二面之后还有没有下文。 这份合并版 250 题、13 章,把上篇与下篇收在一本: · 上篇 130 题(一至六章):单片机与体系结构、C 语言关键字、指针与内存、位运算与寄存器、中断与并发、编译链接与内存布局; · 下篇 120 题(七至十三章):GPIO 与时钟、定时器与 ADC、串口 I2C SPI、DMA 与中断、FreeRTOS、通信协议与总线、项目与工程实践。 每题结构一致:一段分点参考答案(①②③ 给要点骨架),紧跟一条追问,写明面试官往下会挖哪一层。答案尽量落到三层——现象、根因、验证方法。比如「PWM 出不来波形」,不只列六项检查顺序,还说清为什么 TIM1 容易漏掉 MOE 这一位、怎么用示波器确认。 三个附录:A 是 40 天复习路线(每天 40 分钟,标每天题量与当章重点);B 是十三章自测评分表(现象 / 根因 / 验证三列打分);C 是按现象查题的排障索引,遇到具体问题直接定位到题号。 交付:Word 可编辑版 + PDF 打印版(A4 / 70 页)+ 使用说明。题号连续 Q001–Q250,目录与附录各一套,跨篇追问能顺着查。 说明:寄存器位定义与分频关系按 STM32F103 系列整理,换 F4/F7/G0 需按对应手册核对;FreeRTOS 部分按 10.x 之后接口描述。题库不替代动手调试。

Core Scheduling

core scheduling是v5.14中新增的功能,为什么有core scheduling呢?因为当开启超线程(yperhreading)时,一个物理核就变成了两个逻辑核,但,这两个逻辑核还是要共享物理核的某些缓存的,而,这种共享会带来安全问题(例如:MDS、L1TF等)。core scheduling就是要解决 开启超线程(yperhreading)时所带来的安全问题。

溺水三千只取一瓢饮 1494

政府科技管理者如何提升科技成果评估的准确性与透明度?.docx

政府科技管理者如何提升科技成果评估的准确性与透明度?

LWN: 5.14 中支持了core scheduling!

关注了就能看到更多这么棒的文章哦~Core scheduling lands in 5.14By Jonathan CorbetJuly 1, 2021DeepL assisted tra...

Linux News搬运工 676

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的双闭环PWM整流器VOC(虚拟磁链定向控制)与SVPWM(空间矢量脉宽调制)相结合的仿真模型,系统阐述了三相电压型PWM整流器在电压定向控制策略下的建模方法与控制实现。通过设计外环直流电压控制与内环电流控制的双闭环结构,实现了对整流器的高功率因数运行、能量双向流动及动态性能优化的精确调控。结合SVPWM调制技术,有效提升了直流侧电压利用率并显著降低输出电流谐波含量,增强了系统的整体效率与稳定性。该仿真模型适用于新能源发电、电动汽车充电系统、微电网等高性能电能变换应用场景,文档还配套提供了丰富的学习资源与技术支持渠道,便于深入研究与工程实践。; 适合人群:面向电气工程、自动化、电力电子及相关专业的高校学生、科研人员以及从事新能源、智能电网、电力传动等领域研发工作的工程师;尤其适合已具备自动控制理论、电力电子变换技术和MATLAB/Simulink仿真基础的专业人士进一步深化学习与应用。; 使用场景及目标:①深入理解PWM整流器的工作机理及其双闭环控制系统的架构设计;②掌握VOC控制与SVPWM调制的协同工作机制,提升系统动静态响应性能;③支撑科研课题、课程设计、毕业设计或实际工程项目中的整流器控制系统开发与验证;④作为高级电能变换技术的学习范例,促进对现代电力电子系统控制策略的综合理解与创新能力培养。; 阅读建议:建议结合文中提供的百度网盘链接与公众号资源,下载完整的Simulink仿真模型进行实操演练,在MATLAB环境中调整控制器参数并观察仿真结果,深入剖析控制逻辑与系统响应特性;同时可参考同系列资源如PI双闭环控制、电网不平衡工况下的控制策略等案例,开展对比分析与拓展研究,全面提升系统建模与控制设计的综合能力。

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容)

内容概要:本文围绕两路半桥LLC谐振变换器的软开关技术展开,基于Simulink平台构建了详细的仿真模型,重点研究了不同谐振参数(如谐振电感、谐振电容)以及分裂电容结构对系统性能的影响。通过开环与闭环控制策略的对比分析,探讨了变换器在启动过程中的动态响应特性与稳定性,并实现了软启动设计,有效降低了启动冲击。仿真内容涵盖谐振腔的工作模态、ZVS(零电压开关)与ZCS(零电流开关)的实现条件,以及分裂电容对电压均衡和效率的优化作用,全面展示了LLC变换器在高频高效电源中的应用潜力。; 适合人群:电力电子、电气工程及相关专业的高校研究生、科研人员及从事开关电源设计的工程技术人员。; 使用场景及目标:①用于深入理解LLC谐振变换器的工作原理与软开关实现机制;②为高频高效率DC-DC变换器的研发提供仿真验证平台;③支撑科研项目中的拓扑优化与控制算法设计,尤其适用于需要分裂电容结构提升性能的场合。; 阅读建议:建议结合电力电子基础理论,先掌握LLC谐振变换器的基本工作模态,再逐步深入仿真模型细节,重点关注参数扫描与闭环动态响应的仿真结果,以实现理论与实践的有效结合。

Fast Core Scheduling with Userspace Process Abstraction——论文泛读

SOSP 2024 Paper论文阅读笔记整理 问题 随着网络带宽(最高400Gbps)和IOPS(每秒一百万次)的增加,CPU的性能一直相对停滞不前,并成为主要瓶颈。 为了节省CPU资源,最近的系统(例如盘古[37]、Snap[34]、FaRM[14,15]、MICA[31]、RAMCloud[40]等)采用了内核旁路来消除内核开销并实现裸机硬件性能。将硬件设备映射到用户空间,并广泛使用运行到完成(RTC)模型来运行应用程序逻辑。与此同时,云应用程序(如微服务、无服务器等)通常被打包到共享集群中(

重新开始写博客 1175

LAMMPS in文件详解:从零开始手把手教你配置金属分子动力学模拟

本文详细解析了LAMMPS in文件的配置方法,手把手教你完成金属分子动力学模拟的全流程。从软件环境准备、势函数选择,到使用Materials Studio构建模型、编写in文件进行能量最小化与系统弛豫,再到实施单轴拉伸生产模拟并提取应力应变数据,最后通过Python和OVITO进行结果分析与可视化,提供了完整的实战指南和常见问题排查技巧。

weixin_28475533的博客 527

LWN:继续完善core scheduling!

关注了就能看到更多这么棒的文章哦~Completing and merging core schedulingByJonathan CorbetMay 13, 2020OSPM原文来自...

Linux News搬运工 1085

tcl脚本语言之file的常见用法

这些命令覆盖了从文件属性获取、修改、复制、删除、路径处理等广泛的文件操作需求。命令用于处理文件系统操作。

hzmscut的博客 5149

风力发电机缺陷检测平台

风力发电机缺陷检测平台相关内容展示

weixin_39779415的博客 1111

Linux 调度器中的核心调度(Core Scheduling):SMT 场景的隔离优化

摘要:Linux核心调度技术(Core Scheduling)是Linux内核5.14引入的SMT安全隔离机制,通过为任务分配Cookie标识符,确保同一物理核心仅运行同安全域的任务。该技术有效缓解了PortSmash等SMT侧信道攻击,相比完全禁用SMT可减少60-80%性能损失。文章详细介绍了核心调度的原理、环境配置、应用场景(如云计算多租户隔离)和实现方法,包括Cookie管理、性能调优和调试技巧。核心调度可与cgroup等系统集成,适用于金融交易、机密计算等对安全性和性能要求较高的场景,是平衡SMT

望获实时Linux系统 215

【GlobalMapper精品教程】001:GlobalMapper23+24+25 Pro-x64中文汉化版安装教程(附软件包下载)

Global Mapper 23+V24+V25中文汉化版安装教程及免费下载地址,是一款非常专业的地图绘制软件,功能非常的丰富,内置距离和面积计算,包括光栅混合、对比度调节、海拔高度查询、视线计算以及一些高级功能,通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等设置。本文讲解GlobalMapper23.1 Pro-x64安装过程。

智慧空间实验室 3万+

advanced-java 分布式系统进阶完全指南:系统拆分、Dubbo 架构与分布式锁/事务/会话实战

> 本文基于 advanced-java 项目的 [docs/distributed-system 目录](https://link.gitcode.com/i/a48ff021624df3a72586035be6092221) 所涵盖的分布式系统知识体系,系统梳理从"为什么要拆分系统"到"分布式服务框架(Dubbo)""CAP 定理""分布式锁""分布式事务""分布式会话"的完整技术脉络。读完本

gitblog_00450的博客 458

基于Python的京东商品价格监控与降价提醒系统设计与实现

本文详细介绍了如何使用Python构建一个完整的京东商品价格监控与降价提醒系统。系统通过爬虫技术实时抓取京东商品价格信息,结合数据存储与分析,实现价格波动监控和智能降价提醒功能。文章涵盖了系统设计、技术选型、代码实现以及部署方案,为电子商务价格监控领域提供了一个实用的解决方案。关键词:Python爬虫、京东API、价格监控、降价提醒、自动化。

2201_76125261的博客 404

YOLOv11改进策略【损失函数篇】| arXiv2025 TeLU双曲正切指数线性单元 强梯度防消失 + 解析光滑稳训练,极速提升收敛与泛化

本文记录的是。TeLU(Hyperbolic Tangent Exponential Linear Unit)通过。本文利用TeLU激活函数,以x⋅tanhex统一实现正区间强梯度加速收敛与负区间持续梯度避免死神经元,全程保持解析光滑与极低计算开销,,显著提升深度网络在分类、检测、分割、时序任务中的收敛速度、精度与泛化鲁棒性。

Limiiiing的博客 224

常见CPU调度算法

CPU调度 初衷: In a system with a single CPU core, only one process can run at a time. Others must wait until the CPU’s core is free and can be rescheduled. The objective of multiprogramming is to have some process running at all times, to maximize CPU utilizat

大吉 7633

大模型长对话中上下文无法承载全部历史,如何压缩或提取重点

如果说截断和滑动窗口是“硬性”压缩,那摘要生成技术就显得“软”多了,也更接近于智能化的解决方案。它的思路是:不直接丢弃历史,而是通过自然语言处理(NLP)技术,把冗长的对话记录浓缩成一段简短的摘要,保留核心信息。这样既能大幅减少token数量,又不至于丢失关键内容。这种方法通常会借助预训练模型,比如BART或T5,它们擅长从长文本中提取重点内容。

大模型大数据攻城狮的专栏 1586

LindDotNetCore~Scheduling任务调度模块的介绍

回到目录 任务调度组件 位于Scheduling目录 基类JobBase,所有JOB都派生自它,重写Cron属性可以修改调度周期 支持单次JOB,即执行完成后马上停止 支持对外API接口,以便获取和修改JOB的列表的状态 源代码展现 自定义Job在继承JobBase之后,可以设置自动的名称,调度周期,是否单次, 和执行过程. public abstract class JobBase : ...

weixin_34220623的博客 265

华为面试手撕真题【最长不重复子串】

给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。

MISAYAONE的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux系统核心调度器——主调度器schedule函数详解

日期 内核版本 架构 作者 内容 2019-3-23 Linux-2.6.32 X86 Bystander Linux进程调度 1.绪论 在《Linux系统进程调度——调度架构详细分析》一文中详细分析了调度器运行原理及过程,本文将详细分析主调度器。 1.1Linux进程调度 内存中保存了对每个进程的唯一描述, 并通过若干...

Bystander_J 4805

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)

日期 内核版本 架构 作者 GitHub 优快云 2016-06-30 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 我们前面提到linux有两种方法激活调度器:核心调度器和 一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU 另一种是通过周期性的机制, 以固定的频率运行, 不

OSKernelLAB(gatieme) 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

处理器三个概念理解及延伸(socket,core,thread,SMT,CMP,SMP)

1. 问题导出: 今天在注册redhat的订阅的时候,发现了一个选项不会填,具体参见下图: 这里有个“插槽”或“LPAR”的概念,中文翻译成”插槽“,一下有点不适应了,其实英文页面显示为:“Number of Sockets or LPARs:”,所以插槽就是scoket的意思。 LPAR是逻辑分区的意思(Logical Partition),就是将单台服务器划分成多个逻

少帅的天空 3万+

Linux核心调度器之周期性调度器scheduler_tick--Linux进程的管理与调度(十八)

日期 内核版本 架构 作者 GitHub 优快云 2016-6-29 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 我们前面提到linux有两种方法激活调度器:核心调度器和 一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU 另一种是通过周期性的机制, 以固定的频率运行, 不时

OSKernelLAB(gatieme) 1万+

《linux kernel develpoment》第四章

《linux内核设计与实现》 进程调度 1、多任务

一位不知名的linux爱好者入门 413

.NET Core开源任务调度平台ScheduleMaster上新了

ScheduleMaster上一次比较大的更新还是在6月份,转眼已经快过去4个月了,这段时间比较忙,中间只更新过一次修复了几个小bug。要总结这次更新的话,必须要用“千呼万唤始出来”了,因为这次不仅经历的时间比较久,还带来了大家期待已久的功能-多数据库支持,再就是对.NET Framework的支持。 不熟悉的朋友可以先参考以往的介绍文章: https://www.cnblogs.co...

HOHO的博客 761
上一篇: LWN: Facebook使用BPF的情况以及其他
下一篇: LWN: VR和AR的开源方案
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值