2015-02-23 43 views
1

如果我们想在现代操作系统上测量运行时间,我们必然会从操作系统调度程序,IO,后台线程,缓存一致性协议等方面获得看似不确定的噪声。 。现在,如果我们假设所有这些噪声源都具有有限的均值和方差,那么我们可以声称,通过中心极限定理,运行时间的分布是高斯?我已经检查了答案:here(作者在那里询问关于测量应用程序部分的运行时间而不是整个应用程序的情况),并且我得到的答案最接近的是,根据维基百科的说法,伽马分布对于建模时间直到死亡。还有其他什么呢?运行时间测量的分布

回答

0

经过与同事的一番辩论之后,我们认为更好的观察运行时间的方法是假定它们是根据Cauchy分布分布的,它具有未定义(无限)均值和方差。因此,我们决定外部噪声的有限均值/方差的假设不够健全。这是因为操作系统上的进程可能出于各种各样的原因阻塞/死锁/活锁,尽管不太可能发生这种情况,尤其是在处理复杂的真实生产代码时(或者在某些第三方库中) ,我们不是在谈论玩具的例子。现在,许多独立的柯西分布的总和又是柯西分布,所以我们有一个很好的分布形式。虽然Cauchy没有明确的均值或方差,但确实有一个明确的中位数,所以应该测量中值。另外,柯西有一个类似“规模”参数的东西,其估计值可以替代标准偏差,并且有很多关于如何正确/有效地进行研究的研究论文。

cauchy on wikipedia

cauchy on wolfram mathworld