当前位置: 首页 > news >正文

比例份额调度

比例份额调度

这种调度方式希望每一个工作都能获得一定比例的CPU时间。

基本概念

我们使用彩票数代表一个进程占有某个资源的份额。如果A进程占有70%的彩票数,B进程占有30%的彩票数,那么在抽奖的时候(决定执行哪个工作的时候),A进程获得运行的几率就越大。

由于抽奖的随机性,抽奖的次数越多,各工作的运行时间之比就越接近于彩票数之比。

彩票机制

彩票货币

彩票货币是彩票调度算法中引入的资源分配计量单位,类似于金融系统中的货币。不同场景可以使用不同的"货币"来分配CPU时间,并通过"汇率"进行价值转换。

  1. 多级资源控制

    • 系统级货币:控制全局资源分配
    • 用户级货币:管理用户间的资源划分
    • 应用级货币:调节应用内部的任务调度
  2. 灵活兑换机制

    • 1单位A货币 = X单位基础货币(通过汇率转换)
    • 示例:生产环境1票=10系统票,测试环境1票=0.5系统票
  3. 动态调整能力

    • 可根据系统负载自动调整汇率
    • 特权任务可通过"货币升值"获得更多资源

彩票转让

一个进程可以临时将自己的彩票交给另一个进程。

彩票通胀

利用通胀,一个进程可以临时提升或降低自己拥有的彩票数量。当然在竞争环境中,进程之间互相不信任,这种机制就没什么意义。一个贪婪的进程可能给自己非常多的彩票,从而接管机器。但是,通胀可以用于进程之间相互信任的环境。在这种情况下,如果一个进程知道它需要更多 CPU 时间,就可以增加自己的彩票,从而将自己的需求告知操作系统,这一切不需要与任何其他进程通信。

步长调度

在短时间的工作中,彩票调度可能会产生不正确的调度。于是便有了步长调度。

系统中的每一个工作都有自己的步长,这个值和彩票数成反比。我们利用一个大数除以彩票数得到步长。每次运行后,我们会让运行的工作在行程的基础上加上步长。

调度程序根据进程的步长以及行程值来确定调度哪个工作。优先选择目前拥有最小行程的进程。

http://www.dtcms.com/a/326443.html

相关文章:

  • CV 医学影像分类、分割、目标检测,之【血红细胞分类】项目拆解
  • n8n中调用playwright-mcp 项目
  • LeetCode151~188题解
  • C++ 流式处理字符串
  • C语言变量的声明和定义有什么区别?
  • UE 手柄点击UI 事件
  • 长难句lesson1
  • PPIO上线智谱GLM-4.5V
  • 【stm32】EXTI外部中断
  • QT聊天项目DAY18
  • Prompt Engineering 最佳实践:让AI输出更精准的核心技巧
  • HIS系统:医院信息化建设的核心,采用Angular+Java技术栈,集成MySQL、Redis等技术,实现医院全业务流程管理。
  • LS1043A+AQR115C万兆网口调试
  • 机器学习第九课之DBSCAN算法
  • 下一代防火墙组网全解析
  • Linux下安装jdk
  • 从零构建企业级K8S:高可用集群部署指南
  • 简单了解MongoDB数据存储
  • 计算机网络---交换机
  • Excel导入mysql,带小数点如何解决?
  • 物联网通讯协议-MQTT、Modbus、OPC
  • 支持向量机SM
  • 人工智能-python-机器学习-线性回归与梯度下降:理论与实践
  • 大屏幕自适应
  • 基于FPGA的热电偶测温数据采集系统,替代NI的产品(三)测试
  • C++ STL | STL迭代器(lterator)
  • 阿里千问系列:Qwen3 强化学习新算法GSPO!
  • HTML应用指南:利用GET请求获取全国一加授权零售店位置信息
  • 机器学习逻辑回归实战
  • 【Lua】题目小练10