linux - linux 调度程序中上下文切换的基准

标签 linux benchmarking scheduler context-switch

我有一项任务是用 C 语言为 linux 调度程序设计一个基准测试,更准确地说是“确定底层架构如何处理上下文切换,而无需查看实现的细节。”

根据我在 linux 期刊上找到的一篇文章,我设计了一个基准测试来测量生成进程 (fork/exec) 和创建线程 (fork) 所需的时间。

现在我想用sched_yield指令测试切换进程和线程所花费的时间。我想创建多个线程/进程并让它们都调用 sched_yield。调用 sched_yield 的第一个线程/进程将测量时间并将其除以进程数(我假设所有其他进程在第一个进程恢复执行之前调用 sched_yield)以获得每次上下文切换时间的近似值。

  • 这个基准有意义吗?
  • 研究不同线程数下每次上下文切换的时间是否有意义,或者它在理论上是恒定的吗?
  • 是否有更好的方法来设计基准?

最佳答案

这是一个很好的起点:https://github.com/tsuna/contextswitch

关于linux - linux 调度程序中上下文切换的基准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20891671/

相关文章:

linux - 并行任务在 VM Workstation 中的 Ubuntu 12.04 上不起作用

linux - 递归查找目录并在 Shell 脚本中重命名

php - 如何使用 Laravel Scheduler 命令将输出重定向到 STDOUT?

process - 进程调度上下文中调度程序和调度程序有什么区别

linux - 计算常量时出现范围检查错误

linux - 中断上下文中的页面错误

memcached - 软件缓存基准

go - 访问基准测试结果

javascript - 基准 Javascript : onclick in tag vs click in js

scala - 如何使用 scala 在 Spark 中使用数据集?