科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道对文件系统和存储基准测试九年研究的探讨

对文件系统和存储基准测试九年研究的探讨

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

人们普遍认为文件和存储系统领域很少进行基准测试,所有我们对最近几年公布的相关会议文件中的基准测试进行了广泛调查。

作者:存储时代/月之暗面(编译) 来源:Stor-age.com 2009年7月20日

关键字: 基准测试 文件系统

  • 评论
  • 分享微博
  • 分享邮件

人们普遍认为文件和存储系统领域很少进行基准测试,所以我们对最近几年公布的相关会议文件中的基准测试进行了广泛调查。我们决定对计算程序进行评估,如果你愿意的话。我们在2008年撰写的《对文件系统和存储基准测试的9年研究》文章总结了1999年到2007年四大知名度最高的会议(SOSP、OSDI、USENIX和FAST)的106份材料中415项文件系统和存储基准测试数据。

我们的猜测得到了证实。我们发现,大多数主流基准测试都是有漏洞的,很多研究报告都采用了低质量测试结果,无法明确显示系统的真实性能。我们从质和量两个方面对基准测试进行了评估:我们进行了一系列试验来证明一些被广泛采用的基准是如何隐藏和过于强调开销的。最后,我们将为用提供一系列能够进一步提高性能的指南。

基准测试通常被用来评估软件或者硬件的运行速度,其结果是评价一款产品好坏的重要标准之一。例如,潜在用户在做采购决定之前可以进行基准测试,或者科研人员可以用基准测试来评估一套系统的价值。

系统基准测试是一件很困难的事,本文提供的一些经验教训都是普遍存在的且适用于其他系统领域。然而,文件和存储系统有不同的性质。在I/O设备、缓存、内核后台程序和其他操作系统之间之间的复杂通信是很难进行分析的。而且,系统有不同的特性和优化,因此没有哪个基准测试是普遍适用的。最后,实际环境下系统中工作负载的多样化更增加了这种复杂性。

当进行系统评估的时候,结果对用户来说必须是明确而清晰的,必须包括在实际工作负载和最坏情况下行为的确切描述,并且详细解释所使用基准测试方法的理由。除此之外,基准测试结果应该能够被用户所接受,用一个系统的测试结果与另一个系统进行对比。为了实现这些目标,你必须谨慎选择合适的基准测试和配置,从而得出准确的结果。

作为研究的一部分,我们查看了以前的参考资料是如何完成在这些任务的。例如,为了确切描述基准测试行为,测试必须至少运行几分钟,运行多次来收集不同的数据点和收集一些数据差标准。在不少研究报告中,大约29%的基准测试至少运行1分钟,这通常对于在稳定状态下提供确切结果来说是不够的。而且,有将近半数的研究报告并没有指明他们运行基准测试的时间,有不少20%的基准测试运行超过5次。我们建议用户最少运行5次测试来得出准确结果。最后,只有大约45%的研究报告只在他们的性能分析中使用了一或两个基准测试结果,这是不够的。

我们的研究包括了对大多数研究报告中所使用的和我们认为值得拿来讨论的常用基准测试进行了描述和质量分析。我们还对两个最常用的基准测试进行了更详细的质量分析:一个编译基准测试和Postmark(在一种邮件服务器工作负载)。为了测试我们修改了Linux ext2文件系统以降低某些操作速度;我们将这称之为新的文件系统Slowfs。编译基准测试用来测量编译一款软件所需的时间。对于OpenSSH编译来说,我们会降低Slowfs的读取操作为原来的1/32,而且目前我们所知最大的已过时间仅为4.5%。对于Postmark测试来说,我们使用了三种不同的工作负载架构。我们得出连个结论,首先,Postmark的设置参数会导致结果出现巨大波动,即使在ext2上面也是一样:波动范围是从2秒到214秒,而在2秒设置中,根本就没有执行任何I/O操作。让这个问题更加严重的是,很少有论文显示所有的参数:在我们的调查中,30篇研究报告中只有5篇是这么做的。其次,在一些设置下,基准对Slowfs效果的显示要比其他系统多。

我们建议,在使用目前现有的基准测试情况下,一定要至少进行一次宏观基准测试并进行多次微观基准测试才能准确地描述文件或存储系统的性能。宏观基准测试能够在大体上测量出系统在一定工作负载下的表现。如果使用跟踪方法,那么就要特别注意这些数据是怎么得来、怎么重放以及是否能够反映实际环境中的工作负荷。此外,微观基准测试可以用来了解系统的性能,对多项操作进行测试来更好地掌握整体性能水平,或强调系统的某些特别功能(比如系统表现特别好或表现特别差的情况)。

在性能评估中作者应该改进他们描述的方式,以及他们这么做的理由,这两件事都是很重要的。在研究中,解释研究者行为背后的原因是一个非常重要的原则,但是文件系统和存储性能评估领域并没有很好地遵循这个原则。理想情况下,应该对系统预期行为进行某些分析,然后用基准测试来支持或推翻原来的假设。比起单纯的图表来说,这种研究方法对系统行为的分析更为深入。

我们认为当前的性能评估状况有很多改进空间。我们的研究结果有力地支持了这个论点。计算机科学仍然是一个相对年轻的领域,而实验评估还需要进一步向精密科学的方向迈进。解决方法的一部分就是尽快建立和完善标准。这需要对评估越来越重视的评论家以及实施实验的研究者来进行。解决方法的另一部分就是将这种讯更好地传播给所有人。我们希望这篇文章和我们正在进行中的工作能够帮助研究者和其他人理解目前在文件和存储系统基准测试领域中所存在的问题。解决方法的最后一部分就是在文件系统和存储研究者公开讨论的基础上建立标准化的基准或者基准套件。

我们这篇文章重点放在学术会议和杂志所公布的基准结果上。另一个方面就是标准化的行业基准。在这里,我们对基准的选择、运行以及结果的呈现并没有太大兴趣,因为这些都是标准化的。另一个有意思的问题就是这些基准的有效性,以及这些标准对如今市面上销售的产品的影响(正面的,或者负面的)。

这个项目的目的就是引起人们对文件和存储系统中基准实践问题的重视。我们希望人们对此能有更多的重视,相应的标准也能够建立起来,希望出现更多更严谨更科学的评估。自从这篇文章在2008年5月发表后,我们在UCSC(加州大学圣塔克鲁斯分校)成立了一个存储基准测试工作组,并且我们在2009年第七期USENIX文件与存储技术大会(FAST)上也同兴趣爱好者进行了讨论。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章