文件拷贝

简介:
有两周没有看过论文了,五一假期抽空看了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之间的数据的传输;将节点负载因素作为选择数据拷贝节点的一个因素。通过数据压缩和扩散式的拷贝,进一步提高生产备份的效率。

本文转自博客园知识天地的博客,原文链接:文件拷贝,如需转载请自行联系原博主。

相关文章
|
5月前
cp 复制文件或目录
cp 复制文件或目录。
43 5
|
5月前
|
Linux 编译器
目录文件篇
目录文件篇
|
10月前
|
存储 监控 安全
11.1 文件拷贝移动与删除
在编程中,针对磁盘与目录的操作也是非常重要的,本章将重点介绍如何实现针对文件目录与磁盘的操作方法,其中包括了删除文件,文件拷贝,文件读写,目录遍历输出,遍历磁盘容量信息,磁盘格式化,输出分区表数据,监控目录变化等。
38 0
|
12月前
45 # 实现文件拷贝功能
45 # 实现文件拷贝功能
44 0
|
12月前
文件复制操作
文件复制操作
47 0
|
Java Shell Linux
从jar包内复制文件到系统目录内
从jar包内复制文件到系统目录内
206 0
从jar包内复制文件到系统目录内
C#编程-27:复制文件和目录
C#编程-27:复制文件和目录
C#编程-116:获取指定目录下的所有文件及文件夹
C#编程-116:获取指定目录下的所有文件及文件夹
578 0
|
Java 开发者
文件拷贝 |学习笔记
快速学习 文件拷贝
101 0