首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较在不同基础设施上运行的实验

如何比较在不同基础设施上运行的实验
EN

Data Science用户
提问于 2014-06-15 00:00:51
回答 3查看 177关注 0票数 8

我正在开发一个分布式算法,为了提高效率,它依赖于磁盘的数量(每台机器一个)和有效的负载平衡策略。有了更多的磁盘,我们就能够减少I/O所花费的时间;使用高效的负载平衡策略,我们可以分发任务,而不需要太多的数据复制开销。

关于同一问题的文献研究很多,每一篇都进行了不同的实验来评价他们的建议。有些实验是针对所提出的策略进行的,而其他一些实验,如弱缩放(可伸缩性)和强缩放(加速比),则是所有工作的共同之处。

问题是,实验通常是在完全不同的基础设施(磁盘、处理器、#机器、网络)上执行的,根据评估的内容,它可能会引起错误/不公平的比较。例如,在10台具有Infiniband连接的机器上运行的应用程序中,我可能获得100%的加速,而如果我的连接是以太网,则可能得到相同的甚至更糟糕的结果。

那么,如何才能诚实地比较不同的实验来指出效率的提高呢?

EN

回答 3

Data Science用户

发布于 2014-06-25 09:19:25

这是一个很好的问题,也是一个共同的情况。

在我看来,有三个不同的因素必须加以控制:

  • 数据:为了评估算法和体系结构,已经存在不同的基准。这些数据必须是公开的,这样每个人都可以对比他们的方法。
  • 架构:我的建议是测试云上的所有东西,这样每个人都可以对比它们的结果,而且毫无疑问,使用的机器和软件是相同的。
  • 算法:如果您已经开发了一种分布式算法,那么最好将您的算法与特定数据进行比较。在这种情况下,算法不能公开。

因此,在回答您的问题时,如果您想比较不同的实验,并说明您的分布式算法在多大程度上优于其他算法,那么您应该尽可能准确地复制进行实验的相同环境(数据和体系结构)。

如果这是不可能的,我的建议是您使用公共数据和云体系结构测试您的算法,以便在方便比较未来算法时成为参考。

票数 3
EN

Data Science用户

发布于 2014-06-25 10:59:56

虽然说起来很容易,但最好将更改的环境作为变量来处理,根据这些变量描述/估计算法的性能。希望其他人也会这么做。感兴趣的,作为研究验证的实验--我们是不是做得太过火了?

票数 2
EN

Data Science用户

发布于 2014-07-18 04:50:58

下面的一般答案是我没有受过教育的猜测,所以就拿一粒盐来看吧。希望这是合理的。我认为描述或分析实验的最好方法(一般情况下是其他系统)是建立它们的统计(多元)模型并对它们进行评估。根据您的实验环境是用相同的模型表示还是用不同的模型表示,我看到了以下方法:

1)单一模型法。定义所有环境(因变量和自变量、数据类型、假设、约束)的实验统计模型。分析它(最有可能,使用回归分析)。比较不同变量的结果,这些变量决定(影响)不同的环境。

2)多模型方法。步骤与前面的案例相同,但是比较不同模型的结果,对应于不同的环境。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档