Parallel processing 估算OpenMP中的动态调度开销:每个指令的开销是否相同?

Parallel processing 估算OpenMP中的动态调度开销:每个指令的开销是否相同?,parallel-processing,openmp,scheduling,overhead,Parallel Processing,Openmp,Scheduling,Overhead,我想预测/估计OpenMP的调度开销。出于这个原因,我做了一些微基准测试来测量一些指令的调度时间 例如,我创建了一个包含8个块的For循环,动态调度是显而易见的(使用4个核) 用于(i=0;你从实验中收集了什么数据来研究这件事?对于我的钱,你可以做出任何你想做的假设,但是在这个领域中,数据胜过假设。每一次,每个计划的开销都不一样。如果你的数据是静态的,那么它比动态的更适合。你至少应该考虑存在。像EPCC One这样的g OpenMP微基准可以争论它们的效用,以及它们是否测量了正确的东西(屏障率是

我想预测/估计OpenMP的调度开销。出于这个原因,我做了一些微基准测试来测量一些指令的调度时间

例如,我创建了一个包含8个块的For循环,动态调度是显而易见的(使用4个核)


用于(i=0;你从实验中收集了什么数据来研究这件事?对于我的钱,你可以做出任何你想做的假设,但是在这个领域中,数据胜过假设。每一次,每个计划的开销都不一样。如果你的数据是静态的,那么它比动态的更适合。你至少应该考虑存在。像EPCC One这样的g OpenMP微基准可以争论它们的效用,以及它们是否测量了正确的东西(屏障率是无趣的,后进先出是有趣的),但调查存在的东西是一个明智的起点。
for(i=0; i<8; i++)
    {
      sleep(i*1)
    }