我正在开发一个分布式算法,为了提高效率,它依赖于磁盘的数量(每台机器一个)和有效的负载平衡策略。有了更多的磁盘,我们就能够减少I/O所花费的时间;使用高效的负载平衡策略,我们可以分发任务,而不需要太多的数据复制开销。
关于同一问题的文献研究很多,每一篇都进行了不同的实验来评价他们的建议。有些实验是针对所提出的策略进行的,而其他一些实验,如弱缩放(可伸缩性)和强缩放(加速比),则是所有工作的共同之处。
问题是,实验通常是在完全不同的基础设施(磁盘、处理器、#机器、网络)上执行的,根据评估的内容,它可能会引起错误/不公平的比较。例如,在10台具有Infiniband连接的机器上运行的应用程序中,我可能获得100%的加速,而如果我的连接是以太网,则可能得到相同的甚至更糟糕的结果。
那么,如何才能诚实地比较不同的实验来指出效率的提高呢?
发布于 2014-06-25 09:19:25
这是一个很好的问题,也是一个共同的情况。
在我看来,有三个不同的因素必须加以控制:
因此,在回答您的问题时,如果您想比较不同的实验,并说明您的分布式算法在多大程度上优于其他算法,那么您应该尽可能准确地复制进行实验的相同环境(数据和体系结构)。
如果这是不可能的,我的建议是您使用公共数据和云体系结构测试您的算法,以便在方便比较未来算法时成为参考。
发布于 2014-06-25 10:59:56
虽然说起来很容易,但最好将更改的环境作为变量来处理,根据这些变量描述/估计算法的性能。希望其他人也会这么做。感兴趣的,作为研究验证的实验--我们是不是做得太过火了?。
发布于 2014-07-18 04:50:58
下面的一般答案是我没有受过教育的猜测,所以就拿一粒盐来看吧。希望这是合理的。我认为描述或分析实验的最好方法(一般情况下是其他系统)是建立它们的统计(多元)模型并对它们进行评估。根据您的实验环境是用相同的模型表示还是用不同的模型表示,我看到了以下方法:
1)单一模型法。定义所有环境(因变量和自变量、数据类型、假设、约束)的实验统计模型。分析它(最有可能,使用回归分析)。比较不同变量的结果,这些变量决定(影响)不同的环境。
2)多模型方法。步骤与前面的案例相同,但是比较不同模型的结果,对应于不同的环境。
https://datascience.stackexchange.com/questions/376
复制相似问题