Ondemand和Interactive gonernor工作逻辑简述
ondemand

简述:
1、采样时间:sampling_rate,单位us
2、cpu usage是仅统计最新1us的一个smaple周期,以%体现cpu busy程度。
3、一般情况下,next频率f = fmin + busy% * (fmax-fmin);如果busy% > up_threshold,那频率都直接设为fmax。
4、处于fmax的时间为smapling_down_factor。
Interactive

简述:
1、采样时间为timer_rate,单位Lus
2、cpu usage也是使用最新1us的一个采样周期,以%体现cpu busy程度。
3、一般情况下,根据target_loads,选择对应的cpu频率;如果cpu busy% > go_his_speed_load,那么cpu频率需设为hisspeed_freq
如上图中配置:表示负载在 85% 以下时,CPU 频率要运行在 1GHz 以下;负载达到 90% 时,CPU 频率要运行在 1.0GHz~1.7GHz,直到 CPU 负载达到 99% 时,频率才会升到 1.7GHz 以上。
4、min_sample_time时间用来实现缓慢降低cpu freq。也可以简单理解成 CPU 两次降频之间的间隔值。
5、在设置 hispeed_freq时,可以使用above_hispeed_delay来延迟频率提升。
采样
上面2中governor都提到sample,采样是如下的工作方式:
假设现在fmin= 100MHz, fmax = 1000MHz。而policy是f = util*fmax + 100MHz。

从图中可以看到基于采样方式的cpu调频都会出现一些问题,如图中oops。还有在exiting task、migrate task时都会有一些缺陷。
参考:https://connect.linaro.org/resources/bkk16/bkk16-104
Ondemand和Interactive gonernor工作逻辑简述的更多相关文章
- TCP/IP协议工作原理简述
TCP/IP协议工作原理简述 // */ // ]]> TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...
- Ajax的工作流程简述
提到Ajax相信我们都不会陌生,不管你是前端开发还是后台数据处理的程序员,ajax的作用就像现在生活中的手机一样,无论是作用还是流程都差不多,这里我们要进行ajax操作后台数据并显示在页面上的话,首先 ...
- Spark工作机制简述
Spark工作机制 主要模块 调度与任务分配 I/O模块 通信控制模块 容错模块 Shuffle模块 调度层次 应用 作业 Stage Task 调度算法 FIFO FAIR(公平调度) Spark应 ...
- UPS不间断电源工作原理简述
原文地址:https://blog.csdn.net/uamix/article/details/52776297 一.定义 UPS即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主 ...
- Hadoop YARN 的工作流程简述
1.Client 向 YARN 提交应用程序,其中包括 ApplicationMaster 程序及启动 ApplicationMaster 命令2.ResourceManager 为该 Applica ...
- NFS工作原理简述
1.首先用户访问网站程序,由程序在NFS客户端发出存取NFS文件的请求,NFS客户端上的RPC服务通过网络向NFS服务器的RPC服务的111端口发出NFS文件存取的询问请求. 2.NFS服务器的RPC ...
- OAuth2.0 工作流程
重要术语 Authorization Server:授权服务器,能够成功验证资源拥有者和获取授权,并在此之后分发令牌的服务器: Resource Server:资源服务器,存储用户的数据资源,能够 ...
- 『TensorFlow』分布式训练_其一_逻辑梳理
1,PS-worker架构 将模型维护和训练计算解耦合,将模型训练分为两个作业(job): 模型相关作业,模型参数存储.分发.汇总.更新,有由PS执行 训练相关作业,包含推理计算.梯度计算(正向/反向 ...
- Kubernetes简述
一.Kubernetes特性 1.自动装箱 建构于容器之上,基于资源依赖及其他约束自动完成容器部署且不影响其可用性,并通过调度机制混合关键型应用和非关键型应用的工作负载于一点以提高资源利用率. 2.自 ...
随机推荐
- 【Flink】使用之前,先简单了解一下Flink吧!
目录 Flink简单介绍 概述 无边界数据流和有边界数据流 技术栈核心组成 架构体系 重要角色 Flink与Spark架构概念转换 Flink简单介绍 概述 在使用Flink之前,我们需要大概知 ...
- Linux从error while loading shared libraries: libxxx.so.x 错误的常规解决思路看程序与动态库的关系
出现这类错误的原因通常是动态库无法被加载,本文介绍了常规的解决方案,适用多种情况: 创作不易,如果本文帮到了您: 如果本文帮到了您,请帮忙点个赞
- 小程序-for循环遍历的使用
.js文件: Page({ /** * 页面的初始数据 */ data: { datas:[ { title: '提交申请', txt: '选择服务类型,填写基本信息,提交' }, { title: ...
- Python --函数学习1
函数 -函数是代码的一种组织形式 -函数应该能完成一项特定的工作,而且一般一个函数完成一项工作 -函数的使用: 函数使用需要先定义 使用函数,俗称调用 pps:1.只是定义的话不会执行 2.def关键 ...
- STM32编程:是时候深入理解栈了
[导读] 从这篇文章开始,将会不定期更新关于嵌入式C语言编程相关的个人认为比较重要的知识点,或者踩过的坑. 为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预 ...
- 关于 Blob
博客地址:https://ainyi.com/88 对于 Blob,前端开发中可能比较少遇到:数据库中可使用 Blob 概念,例如 Mysql 存储二进制数据的类型就是 Blob,也就是说图片可存储于 ...
- 聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 环境搭建)
ESP8266_RTOS_SDK发行版本v3.3-rc1环境搭建 在大学期间玩8266所接触的都无操作系统版本的SDK,但后来接触了ESP32后发现ESP8266也推出了RTOS版本,一直都没来得及去 ...
- Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序
使用kind构建一个单层架构Node/Express网络应用程序 Kubernetes实战-从零开始搭建微服务 1 前言 准备写一个Kubernetes实战系列教程,毕竟cnblogs作为国内最早的技 ...
- meta标签设置不缓存
平常调试的时候总是因为缓存问题有些浪费时间,加上这几行代码就ok了 <meta http-equiv="Cache-Control" content="no-cac ...
- ThreadLocal必知必会
前言 自从被各大互联网公司的"造火箭"级面试难度吊打之后,痛定思痛,遂收拾心神,从基础的知识点开始展开地毯式学习.每一个非天才程序猿都有一个对35岁的恐惧,而消除恐惧最好的方式就是 ...