绩效评估期间的异常值

Posted

技术标签:

【中文标题】绩效评估期间的异常值【英文标题】:Outliers during Performance Evaluation 【发布时间】:2010-01-24 11:52:11 【问题描述】:

我正在尝试使用 Intel 的 RDTSC 进行一些性能测量,结果相当 奇怪的是我在不同的测试运行中得到的变化。在大多数情况下,我的 C 基准测试 需要 3000000 个 Mio 周期,但是,在某些情况下,完全相同的执行可能需要 500万,几乎翻了一番。我试图让没有密集的工作负载并行运行 以便我获得良好的性能估计。任何人都知道这个巨大的时机 变异可以从何而来?我知道可能会发生中断和事情,但我没想到 时间变化如此之大!

PS.:我在奔腾处理器上运行它,上面运行着 Linux。

感谢您的反馈, 约翰

【问题讨论】:

【参考方案1】:

我认为答案在:

试过没有紧张的工作量 并行运行

在现代操作系统中,您对此没有足够的控制权。

【讨论】:

【参考方案2】:

根据this Wikipedia article,RDTSC(时间戳计数器)不能可靠地用于多核系统的基准测试。无法保证所有内核在时间戳寄存器中具有相同的值。

在 Linux 上,最好使用 POSIX clock_gettime 函数。

【讨论】:

【参考方案3】:

您必须考虑大多数现代处理器的缓存。在您测量长时间运行时间的情况下,也许另一个进程会驱逐您程序的缓存内容。 正如 Henk 指出的那样,现代操作系统中发生了很多你无法控制的事情。

【讨论】:

以上是关于绩效评估期间的异常值的主要内容,如果未能解决你的问题,请参考以下文章

MAD+异常检测

如何评估无监督异常检测

UEBA的用户上网异常行为分析方案总结

机器学习——一类分类/新奇检测/异常评估?

R语言manova函数多元方差分析(MANOVA)单因素多元方差分析的两个假设是多元正态性和方差-协方差矩阵的齐性QQ图评估多元正态性mvoutlier包中的aq.plot函数检验多变量异常值

第一阶段团队绩效评估