linux调度器中上下文切换的基准测试

linux调度器中上下文切换的基准测试,linux,benchmarking,scheduler,context-switch,Linux,Benchmarking,Scheduler,Context Switch,我的任务是用C语言为linux调度器设计一个基准,更准确地说是“确定底层架构如何处理上下文切换,而不看实现的细节。” 根据我在linux杂志上找到的一篇文章,我设计了一个基准测试,用于测量生成进程(fork/exec)和创建线程(fork)所需的时间 现在我想用sched_指令测试切换进程和线程所需的时间。我想创建多个线程/进程,让它们都调用sched_yield。调用sched_yield的第一个线程/进程将测量时间并将其除以进程数(我假设所有其他进程在第一个进程恢复执行之前调用sched_y

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

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

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

  • 这个基准有意义吗
  • 用不同的线程数研究每个上下文切换的时间有意义吗,还是理论上是恒定的
  • 有没有更好的方法来设计基准

    • 这里是一个很好的起点: