前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Automatic Management of Data and Computation in Datacenters

Automatic Management of Data and Computation in Datacenters

作者头像
大数据和云计算技术
发布2018-03-08 11:19:41
8140
发布2018-03-08 11:19:41
举报

最近在研究数据中心的数据管理和性能优化,看了一篇2010的论文Nectar:Automatic Management of Data and Computation in Datacenters,还是有一定的启发的,简要介绍给大家,详细的建议大家download论文下来看下。

Nectar核心思路有两个:

1、大部分数据计算存储之后是无效的,根据论文中研究统计结果,有50%的文件在过去的250天之内完全未必访问过,所以这50%的存储是完全被浪费掉了,因此只计算和存储真正有用的数据就可以降低50%的存储使用。

2、数据计算的中间过程是可以被重用的。通过重用子计算,来降低数据中心的负荷。

Nectar怎么来做到上面两点呢?

核心方法: 实现数据和计算的统一自动化管理。实现计算和数据可交换,主要在于2点:

1、将计算的结果存放在Cache中统一管理,等到下次相似的计算进行的时候,首先从datecenter wide caching service中去查找是否已经完全或者部分执行过,如果有的话,就会避免相同数据的重复计算。

2、将废弃不用或者经常不使用的数据从数据中心的存储空间自动回收(使用了标准的mark-and-sweep Garbage Collector),并保留生成该数据的计算来取代该数据,但是当该数据需要的时候,就要重新提交该计算。

上面说的对计算和数据的管理,整个过程对用户是完全透明的。做到以上两点,核心在缓存策略,重算算法。看下封面的Nectar的架构:

1、用户提交程序的时候,程序会被rewriter,分解成子计算,然后到cache server中看是否被命中,命中的不需要重新计算,从而节省计算时间。

2、每次计算的中间过程,同样会被cache到cache server中。

3、Cache server并不保存数据,所有数据保存在Distribute FS上。Cache server上只是保存一个到Distributed FS映射。

当能这个系统也不是万能的,当前Nectar为了做到program rewriter,要求所有的程序只能是LINQ,另外,数据重算的策略对时效性要求高的是否适合也值得讨论。总的来说,系统的思路还是值的借鉴和学习的,推荐大家去down一下原生的论文看看。

2014年我给自己定了一个目标,看50篇英文论文,目前完成5篇了,这个算是启发比较大的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据和云计算技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档