当前位置:  软件>C/C++软件

linux调度模拟器 LinSched

    来源:    发布时间:2015-01-07

    本文导语:  LinSched 最初是在北卡罗来纳大学开发的(IBM 和 Intel 提供赞助),但是最近又被 Google 恢复了,用来验证调度策略。这是有趣的举动,可能代表一种未来趋势。虽然 Linux 支持许多调度类并跨许多工作负荷进行了合理的调度工作...

LinSched 最初是在北卡罗来纳大学开发的(IBM 和 Intel 提供赞助),但是最近又被 Google 恢复了,用来验证调度策略。这是有趣的举动,可能代表一种未来趋势。虽然 Linux 支持许多调度类并跨许多工作负荷进行了合理的调度工作,但是对于给定硬件拓扑上的特定工作负荷,它可能不是最理想的。因为 Google 在执行特定任务(例如 MapReduce)的大量同型机集群上投资,所以针对该任务和环境调整调度有意义。在 LinSched 使用中,Google 还有助于增强适用于完全公平调度器(Completely Fair Scheduler,CFS)的 Linux,包括当任务间存在很大差异时的带宽设置和负载平衡。

LinSched 是驻留在用户空间中的 Linux 调度器模拟器。它隔离 Linux 调度器子系统并围绕它构建足够的内核环境,从而可以在用户空间内执行该模拟器。它还将围绕其构建一系列应用程序编程接口(Application Programming Interfaces,APIs)以提供必要的刺激来验证调度工作负荷并收集足够的相关数据来了解其行为(稍后将介绍其整体架构)。

将调度器放入用户空间很容易就可以执行该调度器(因为调度器的崩溃不会引起整机崩溃)。这也使得收集有关调度器的数据变得简单,因为其可以在本地文件系统中轻松而又有效地收集数据并存储数据。

使用虚拟化是一种方案,但是 LinSched 的优势是简单且有效(因为没有必要启动

LinSched 不仅仅是在用户空间中执行的调度器模拟器:它是通过必要组件的瘦模拟将 Linux 调度器迁移到用户空间,以便该调度器能够在内核以外执行。对于包装器和模拟引擎来说,LinSched 源实际上是带有名为 ./linsched 的新子目录的 Linux 版本(目前是 2.6.35)。因为 LinSched 为其模拟在 Linux 内使用 Linux 调度器子系统,所以进行更改,然后将更改集成回内核要简单得多。

LinSched 的总体架构如图 1 所示。底部是主机操作系统。LinSched 是由许多组件构建的用户空间应用程序(包括部分 Linux 内核本身)。另一个内核)。作为用户空间进程,也很容易附加一个调试器(如 GNU Debugger (GDB))来更深入地了解调度器操作。

linux调度模拟器 LinSched[图片]

图1 linsched架构

环境模块提供 Linux 内核的抽象概念(通过在模拟模式中支持编译的标志)。在环境模块上的是模拟引擎,扩展了 API 以用于配置环境并执行模拟。模拟引擎 API 提供同步功能,定义处理器拓扑的初始化函数以及用于任务创建、回调(例如,在调度任务时)的函数和用于执行对一些时钟节拍执行模拟的 run 函数(其反过来调用内部 Linux schedule() 函数来制定调度决策)。

上面的模拟引擎是脚本环境(真实模拟的代码)。虽然它可能是单一脚本,但是正如后面的示例所示,最简单的用法是修改现有脚本环境来增加测试场景。

LinSched 的基本架构非常简单。我们首先来研究如何安装 LinSched,然后再讨论一些扩展的 API 以及如何在模拟中使用它们。

(以上简介选自:http://www.ibm.com/developerworks/cn/linux/l-linux-scheduler-simulator/


    
 
 

您可能感兴趣的文章:

  • Linux游戏模拟器 Xmame
  • 哪里可以下载linux模拟器
  • 关于linux和模拟器的问题
  • 怎么样在linux模拟器QEMU中以root的身份运行
  • JS编写的Linux模拟器 JSLinux
  • java/j2ee iis7站长之家
  • 求linux下的触摸屏模拟器
  • 请问操作系统中任务调度主要有哪些策略,LINUX用哪种啊??实时操作系统又有哪些任务调度哪些策略啊??
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • linux进程调度
  • Linux 内核调度器 BFS
  • 请教下linux达人 相关版本2.6的进程调度
  • Linux 调度器 SCHED_DEADLINE
  • linux cpu调度策略中的老化公式
  • 求Linux 2.6 进程调度分析报告一篇,比较急,有的话发送到我的邮箱crazyswan@163.com
  • 求:linux2.4进程调度内核原代码的完全注解!!!
  • linux下多线程开发遇到的调度问题!!!急~~~~~在线等!
  • 关于LINUX内核调度个人一些思索
  • linux 进程调度
  • 兄弟们,请帮帮忙吧,关于LINUX 的调度和时钟中断处理代码的分析!在线等待啊。。。:(
  • 求 x86 架构下 Linux 的进程调度的实现分析文档
  • 回声抵消算法在LINUX ARM上跑的调度问题求助
  • LINUX的任务调度
  • linux如何主动将线程放入到线程调度队列中重新排队?
  • 新手,请教一个linux线程调度问题
  • linux进程调度问题
  • linux下调用sleep或者usleep函数的CPU线程调度情况?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3