zoukankan      html  css  js  c++  java
  • 文件拷贝

    有两周没有看过论文了,五一假期抽空看了Berkeley的PH.D Ganesh的最新发表在Eurosys11上的牛文---Scarlett:coping with Skewed Content Popularity in MapReduce Clusters
    收获良多,这里和大家分享一下。
    背景:经过对于Bing上执行Hadoop和Dryad的集群的日志分析,框架为了提高作业的执行效率,使得尽可能地将计算迁移到数据所在位置,这里位置可以是数据块所在的节点或者所在rack。一般认为,Rack之间的数据传输是应该尽量避免的。但是,Hadoop和Dryad分别都是如何做的呢?
    Eurosys2011---Scarlett:coping <wbr>with <wbr>Skewed <wbr>Content <wbr>Popularity <wbr>in <wbr>MapReduce <wbr>Clusters
    1) Scarlett通过增加热点数据的拷贝,使得数据更容易实现Data Locality.
    2)Hadoop的调度在优先使用Data Locality所在节点的同时,同时也容忍sub-optimial的情况,在一个rack上找到数据所在节点,如果这些都不行,就只能通过Read remote from another rack.
    3)Dryad会杀死优先级不高的task,以释放slot,满足task的Data Locality特性。

    Scarlett是如何做到这一点的呢?
    1)对于Bing下生产环境和试验环境的Hadoop、Dryad集群进行分析,分析出当前作业存取文件的特点有:
        1. The number of concurrent accesses is a sufficient metric to capture popularity of files.
        2. Large files contribute to most accesses in the cluster, so reducing contention for such files improves overall performance.
        3. Recent logs are a good indicator of future access patterns.
        4. Hotspots in the cluster can be smoothened via appropriate placement of files.

    2)Scarlett设置一个监控的滑动窗口,设置窗口的长度为12小时,在该段时间内推测出在接下来的12个小时内可能会引起数据竞争的文件,然后按照文件的大小进行排序,按照可以使用Budget的存储,来增加文件的备份的个数。在增加文件的备份的过程中,有两种策略:
    假设当前可以使用的存储为B,L为需要增加备份的文件列表,按照文件大小DESC降序排列,
    Eurosys2011---Scarlett:coping <wbr>with <wbr>Skewed <wbr>Content <wbr>Popularity <wbr>in <wbr>MapReduce <wbr>Clusters
    左图为一次性满足文件的全部拷贝,按照文件的优先级来进行,这里是按照文件的大小由大到小的顺序进行。这样在B确定的情况下,优先级较小的文件可能得不到拷贝。
    右图采用的Round-Robin,每次为L队列上的文件增加一个拷贝,循环式地增加文件的拷贝。

    选择了合适的文件,然后按照上述的方式进行拷贝,但是又出现一个问题是,如何平滑地分配这些block,让Data Locality的性能更好。所以Data Locality不仅要选择拷贝哪些文件,拷贝多少,还要考虑如何分配这些block到合适的节点,以进一步平缓负载。

    3)在尽可能多的rack上来分散数据的拷贝,尽量避免在不同rack之间的数据的传输;将节点负载因素作为选择数据拷贝节点的一个因素。通过数据压缩和扩散式的拷贝,进一步提高生产备份的效率。

    Ganesha在MapReduce领域还做了一个很不错的工作,就是发表在OSDI10上的Reining in the Outliers in Map-Reduce Clusters using Mantri.

  • 相关阅读:
    正则表达式-入门初探
    pytorch 对变长序列的处理
    数位DP小结
    impala 使用记录
    2017微软第二场笔试题解
    一次分清:jvm内存结构|jmm|java对象模型
    JMM-java内存模型
    java基础总结
    有关秒杀的一点思考
    Elasticsearch 启动报了TypeError: can’t dup Fixnum 错
  • 原文地址:https://www.cnblogs.com/mfryf/p/2871091.html
Copyright © 2011-2022 走看看