Xen的调度分析 (五) ——关于RTDS调度算法简介
credit算法看的头晕,现在看一下RTDS算法,换换心情。
貌似中文文献为零,如果你是通过搜索引擎检索到了看过不要怪我太菜啊,我只是个机械专业的学生。。。
先把前言部分人话部分看一下吧,天书部分到后面再看:
/** TODO:** Migration compensation and resist like credit2 to better use cache;* Lock Holder Problem, using yield?* Self switch problem: VCPUs of the same domain may preempt each other;*/ //任务: //对补偿和抗拒部分进行移植,类似credit2高效利用缓存 //锁的持有者问题,使用yield吗? //自开关的问题:同一个域的可能会互相抢占VCPU;/** Design:** This scheduler follows the Preemptive Global Earliest Deadline First (EDF)* theory in real-time field.* At any scheduling point, the VCPU with earlier deadline has higher priority.* The scheduler always picks highest priority VCPU to run on a feasible PCPU.* A PCPU is feasible if the VCPU can run on this PCPU and (the PCPU is idle or* has a lower-priority VCPU running on it.)* //设计思路 //该调度器遵循全局抢占最早时限优先(EDF)理论,用于实时调度领域 //在每次调度中,那些有更早期限的任务将会有更高的优先级 //调度器总是选择一个更高优先级的VCPU运行在可运行的物理CPU上。 //一个可运行的pcpu指的是一个VCPU可以运行在该pcpu上,(包括pcpu处于空闲或有低优先级任务)* Each VCPU has a dedicated period and budget.* The deadline of a VCPU is at the end of each period;* A VCPU has its budget replenished at the beginning of each period;* While scheduled, a VCPU burns its budget.* The VCPU needs to finish its budget before its deadline in each period;* The VCPU discards its unused budget at the end of each period.* If a VCPU runs out of budget in a period, it has to wait until next period.* //每一个VCPU都有专属的期限和预算 //一个VCPU的期限是每个周期的结束时间 //一个VCPU拥有的预算在每个周期的开始补充 //若调度,一个VCPU消耗他的预算 //一个VCPU必须在每一个周期内完成他的预算 //一个VCPU在每个周期丢掉未用完的预算 //如果在一个周期内VCPU用光了预算,就得等待下一个周期* Each VCPU is implemented as a deferable server.* When a VCPU has a task running on it, its budget is continuously burned;* When a VCPU has no task but with budget left, its budget is preserved.** Queue scheme:* A global runqueue and a global depletedqueue for each CPU pool.* The runqueue holds all runnable VCPUs with budget, sorted by deadline;* The depletedqueue holds all VCPUs without budget, unsorted;** Note: cpumask and cpupool is supported.*///每一个VCPU以可延期的服务实现 //当一个VCPU运行任务时,预算被持续的消耗 //当一个VCPU没有任务但是有剩余的预算,该预算被保留//队列方案 //为每一个cpu池设置一个全局的运行队列和全局的耗尽队列 //运行队列保存所有的可运行的VCPU和预算,以期限排序 //耗尽队列以非排序的方式保存所有预算用完的VCPU/** Locking:* A global system lock is used to protect the RunQ and DepletedQ.* The global lock is referenced by schedule_data.schedule_lock* from all physical cpus.** The lock is already grabbed when calling wake/sleep/schedule/ functions* in schedule.c** The functions involes RunQ and needs to grab locks are:* vcpu_insert, vcpu_remove, context_saved, __runq_insert*///全局的锁用于保护runq和depletedq //全局的锁由所有物理CPU在schedule_data.schedule_lock引用 //schedule.c中每次唤醒/睡眠/调度函数运行时,已经上锁了 //包含runq的函数,需要上锁的有VCPU的插入移除、运行队列插入、上下文保存
后面又出现了很多cpumask部分,看来需要看的东西实在是太多了。
因为之前的credit负载平衡也有很多cpumask部分,所以下一篇开始看cpumask部分
转载于:https://www.cnblogs.com/linanwx/p/5383269.html
Xen的调度分析 (五) ——关于RTDS调度算法简介相关推荐
- 实时系统-调度算法和可调度分析
第二章 Scheduler 调度:在有限的一组处理单元上决定具有某些已知特征(周期性.持续时间/执行时间/计算时间)的一组任务的顺序和/或执行时间.这些单元具有给定的能力(容量.处理速度),并且在每个 ...
- UC/OS-II内核调度分析
一.内核概述: 多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯.内核提供的基本服务是任务切换.之所以使用实时内 核可以大大简化应用系统的设计,是因为实时内核 ...
- linux 2.6.23时钟中断与调度分析,进程调度Linux内核分析ppt课件
<进程调度Linux内核分析ppt课件>由会员分享,可在线阅读,更多相关<进程调度Linux内核分析ppt课件(26页珍藏版)>请在人人文库网上搜索. 1.Linux操作系统分 ...
- ML之NBLoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测
ML之NB&LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结果 ...
- ML之NBLoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测
ML之NB&LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结果 ...
- 【数据分析进阶】DCIC竞赛-task56 订单调度分析
[数据分析进阶]DCIC竞赛-task5&6 订单调度分析 task5 订单调度分析 经纬度转换相关知识 经纬度编码 订单调度分析 思考 task 06 分析报告撰写 分析报告撰写 报告撰写建 ...
- Linux ALSA音频框架分析五:HDA Driver分析
Linux ALSA音频框架分析五:HDA Driver分析 一 概述 HDA(High Definition Audio)是intel设计的用来取代AC97的音频标准,硬件架构上由hda dodec ...
- NLP之TEA之NB/LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测
NLP之TEA之NB/LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结 ...
- NLP之TEA之NB/LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测
NLP之TEA之NB/LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结 ...
- 《操作系统》实验三:高响应比优先调度和时间片轮转RR进程调度算法
[实验题目]:高响应比优先调度和时间片轮转RR进程调度算法 [实验学时]:4学时 [实验目的] 通过这次实验,加深对进程调度概念的理解,进一步掌握比FCFS和SJF更为复杂的进程调度算法的实现方法. ...
最新文章
- 如何用Python做Web开发?——Django环境配置
- centos安装包选择--liveCD、liveDVD、bin-DVD、netinstall和minimal
- selenium的使用教程1
- 【大会】海量高清视频服务端架构设计的变与不变
- apigee 安装_APIGEE:用于API代理的CI / CD管道
- 计算机组组内培训记录,计算机教研组活动记录.doc
- 崇胜云转码系统开源版
- 微信认证结果拆分为资质审核和名称审核
- SpringBoot整合Redis及Redis工具类撰写
- win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
- Java打印9*9乘法表
- 阿里开源互动游戏引擎Eva.js
- Appdata文件夹
- ThingJS 3年进化史:为40万物联网开发者打造一站式数字孪生服务平台
- 一点点读懂cpufreq(二)
- 小白Nvidia TK1 Jetpack安装/重装系统详细步骤(小车第一步)
- SFM方向开源软件COLMAP代码分析
- 关于checksum校验和算法
- 高德开放平台实现区域地图+云图标记
- 易风神盾防火墙 v1.0 官方