Automatic Management of Data and Computation in Datacenters

最近在研究数据中心的数据管理和性能优化,看了一篇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篇了,这个算是启发比较大的。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2015-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

c#实现打印功能

2872
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5626
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3899
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4074
来自专栏魂祭心

原 canvas绘制clock

4204
来自专栏杨龙飞前端

scrollto 到指定位置

2544
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4055
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2222
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

674
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2606

扫码关注云+社区