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调度算法简介相关推荐

  1. 实时系统-调度算法和可调度分析

    第二章 Scheduler 调度:在有限的一组处理单元上决定具有某些已知特征(周期性.持续时间/执行时间/计算时间)的一组任务的顺序和/或执行时间.这些单元具有给定的能力(容量.处理速度),并且在每个 ...

  2. UC/OS-II内核调度分析

    一.内核概述: 多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯.内核提供的基本服务是任务切换.之所以使用实时内 核可以大大简化应用系统的设计,是因为实时内核 ...

  3. linux 2.6.23时钟中断与调度分析,进程调度Linux内核分析ppt课件

    <进程调度Linux内核分析ppt课件>由会员分享,可在线阅读,更多相关<进程调度Linux内核分析ppt课件(26页珍藏版)>请在人人文库网上搜索. 1.Linux操作系统分 ...

  4. ML之NBLoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测

    ML之NB&LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结果 ...

  5. ML之NBLoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测

    ML之NB&LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结果 ...

  6. 【数据分析进阶】DCIC竞赛-task56 订单调度分析

    [数据分析进阶]DCIC竞赛-task5&6 订单调度分析 task5 订单调度分析 经纬度转换相关知识 经纬度编码 订单调度分析 思考 task 06 分析报告撰写 分析报告撰写 报告撰写建 ...

  7. Linux ALSA音频框架分析五:HDA Driver分析

    Linux ALSA音频框架分析五:HDA Driver分析 一 概述 HDA(High Definition Audio)是intel设计的用来取代AC97的音频标准,硬件架构上由hda dodec ...

  8. NLP之TEA之NB/LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测

    NLP之TEA之NB/LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结 ...

  9. NLP之TEA之NB/LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测

    NLP之TEA之NB/LoR:利用NB(朴素贝叶斯).LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析-五分类预测 目录 输出结 ...

  10. 《操作系统》实验三:高响应比优先调度和时间片轮转RR进程调度算法

    [实验题目]:高响应比优先调度和时间片轮转RR进程调度算法 [实验学时]:4学时 [实验目的] 通过这次实验,加深对进程调度概念的理解,进一步掌握比FCFS和SJF更为复杂的进程调度算法的实现方法. ...

最新文章

  1. 如何用Python做Web开发?——Django环境配置
  2. centos安装包选择--liveCD、liveDVD、bin-DVD、netinstall和minimal
  3. selenium的使用教程1
  4. 【大会】海量高清视频服务端架构设计的变与不变
  5. apigee 安装_APIGEE:用于API代理的CI / CD管道
  6. 计算机组组内培训记录,计算机教研组活动记录.doc
  7. 崇胜云转码系统开源版
  8. 微信认证结果拆分为资质审核和名称审核
  9. SpringBoot整合Redis及Redis工具类撰写
  10. win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
  11. Java打印9*9乘法表
  12. 阿里开源互动游戏引擎Eva.js
  13. Appdata文件夹
  14. ThingJS 3年进化史:为40万物联网开发者打造一站式数字孪生服务平台
  15. 一点点读懂cpufreq(二)
  16. 小白Nvidia TK1 Jetpack安装/重装系统详细步骤(小车第一步)
  17. SFM方向开源软件COLMAP代码分析
  18. 关于checksum校验和算法
  19. 高德开放平台实现区域地图+云图标记
  20. 易风神盾防火墙 v1.0 官方

热门文章

  1. Bootstrap系列---按钮
  2. java 上传文件编码_java文件传输之文件编码和File类的使用
  3. vb 修改sql数据库服务器,vb连接服务器sql数据库
  4. 计算机毕业设计源码—Springboot驾校考试网站系统
  5. PPT小技巧:拆解汉字!
  6. 基于matlab的声音个数识别
  7. k8s-有状态应用编排
  8. 算法竞赛入门经典题解目录
  9. 斜齿轮重合度计算公式_斜齿轮重合度计算
  10. 数学家刘徽李善兰陈景润华罗庚