浅谈高端CPU Cache Page-Coloring(4)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享

CPU Cache的Page Coloring相对而言算OS和【或】系统方面比较高深一点的话题。涉及的技术其实不多,但涉及的概念比较广和杂乱。

为什么我竭尽全力的试图用大白话来把这个专题谈清楚呢?

市场原因如下:

1. 我个人Believe,基于x86或者高端NPU,具备大cache的通信设备会对中低端市场造成倾销似的冲击。 Software Based系统会从接入一直顶到Edge。
2. 我国大量企业缺乏FPGA和ASIC的能力。利用通用CPU,迅速的切入市场,同时可以利用Linux丰富的3rd party的应用。可以迅速的占领市场份额。
3. 对Software Based系统,能把系统做好做精,cache的把握是very important, if not most important.

技术原因如下:
1. 在OS和体系结构的各种经典书籍中,基本上对Cache Page Coloring涉及不多。或者没有提及。同学们在这方面的知识结构需要略微弥补。
2. 对Page Coloring的理解,类似与造大飞机一样:造大飞机重要;但更重要的是,可以拉通一系列产业。通过Page Coloring,可以使得同学们弥补和温习OS和体系结构的许多概念和知识,从而使得大家能够成长。
3. 我自己在看了许多文献之后,有时也是很迷糊。也单独请教过Xiaodong Zhang。感觉Page Coloring的文献都写的比较学术化,处于风花雪月的小圈子里。而且感觉在学校里的教授和博士生,基本上缺乏实战经验,写的东西有点虚。但随着高端CPU的不断应用,工程技术人员,特别是,公司里的系统骨干人员,有必要了解和even掌握。

从这节开始,我会试图对page coloring开始做定性和定量的分析(Qualitative and Quantitative Analysis of Cache Page Coloring)。

要掌握Page Coloring,首先大家要从概念补起。

下面是我个人阅读和参阅的一些OS和体系结构的书籍:
×Unix Systems for Modern Architectures -Curt Schimmel
×Unix Internals -Uresh Vahalia
×Computer Architecture-A Quantitative Approach -Hennessy & Patterson
×The Art of Multiprocessor Programming -Maurice Herlihy et. al.,
×The Design and Impl of the FreeBSD OS -Marshall Kirk et. al.,
×Computer Systems-A Programmer’s Perspective – Randal Bryant et. al.,
×Understanding the Linux Kernel – Daniel Bovet, et. al.,

上述书籍基本上涵盖了OS和体系结构的概念,知识和相关技能。但基本上对大Cache的Page Coloring是篇幅很少, if not ZERO。

这里面的原因有三:

1. Page Coloring只能在大Cache的情况下才能出现,例如L2,L3 Cache。对L1 Cache基本上没有任何意义。
2. Page Coloring是一个OS与体系结构相碰撞时,而产生的问题。是一个介于工程和学术之间的问题。
3. 作者要么来自OS方面,要么是来自体系结构方面。很难有时间和精力在这个交叉的专题方面专门讨论。

为什么Page Coloring容易迷糊人?

结果如下:基本上所有的教科书没有introduce一个重要的概念给学生。从而使得,学生的知识结构出现了一个hole。而这个hole一旦在开始的阶段没有被introduce,后来看Page Coloring的文章,就总是迷糊。

这个被教科书忽略或者miss掉的概念就是:Cache Bin。

Cache Bin是一个逻辑概念。不是CPU Cache机制里的任何实现;也不是OS内部数据结构里的任何Struct_。

Cache Bin是一个当OS或者以后要谈的应用程序利用大Cache的时候,做映射时,产生的一个Cache SET的集合。

每一个Cache Bin其实就是一个所谓的颜色(Color)。

下面我们试图对Cache Bin做一些略微学术化的定义。

Cache Bin: 在基于SET/Way的高端CPU中,给定(Given)一块连续的OS或者应用程序分配的物理内存,会按照一定的映射算法,落在(Fall Into)一块连续的Cache SET中。这个连续的Cache SET 集合,我们称之为:Cache Bin。

用类BNF范式,我们可以这样来定义:

[Cache Bin]::={Cache SET}^M(对于给定大小的物理Page,例如4K,其Cache Bin所Cover的Cache SET的M是固定的,例如,上节所case study的128个SET)

[Cache SET]::={Cache Way}^N (N means N-Way Cache)

在OS和CPU Cache之间引入一个Cache Bin的概念之后,对OS和CPU Cache的整体关系图,就与经典的OS和体系结构有了一点区别。这个区别是一个逻辑上的理解的区别,而非任何物理的实现:

上述体系结构图基本上是把握高端CPU Page Coloring的总图。从物理内存上面,就是OS的Memory Management的Allocator或者应用程序,例如,通信系统的Data Path的内存管理了。然后通过一个个的mapping,最后落得某一个包厢(Set)的长凳子(Way)上。

这样OS与CPU之间的语义就存在了一定程度的Aware了。

下图所示为在上几节中,given 一个2M的4Way SET-Assoc L2 Cache,4K的物理Page的case study中,Cache Bin的分布情况illustration:

(7个打分, 平均:5.00 / 5)

中国之希望在于少年–从宋辽研发年龄调查谈起

近日,《弯曲评论》做了一起宋辽国的研发年龄调查。得到了同学们的广泛支持。非常谢谢。下面是统计数据的图表。

从统计数据可以发现,大宋研发主要落在25-30的年轻人的肩膀上。大辽的研发主力其实基本上是在35-45之间。 30-35都算年轻的,估计也就刚做过1,2个大项目。【当然,这主要还是在通信,系统,芯片领域。互联网方面估计辽国也比较年轻】

一线战壕里,大宋研发与大辽研发的年龄diff基本上是10岁。

一代人的区别。

换言之,当大辽的研发在第一个工作,开始coding的时候,大宋的研发在学平面几何,或者立体几何,和著名的剩余价值理论。。。。。。估计有的人还在整两个小狗AB两地跑,什么时候碰头等题目。。。。。。

从获取的数据,能得到的Hypothesis:

1. 年轻就是希望:

25-30岁是最有创造力的年龄段。通常30之后,创造力和各种体力基本上就是衰减过程。。。要充分发挥这个年龄优势,打运动战,歼灭战。机动灵活是年轻人的优势。

2. 老人代表稳重
在通信,系统,芯片等领域,多吃10年面包,也是有一定价值的。35-45岁,在大宋,基本上是部长,副总,高级副总,老总。您们的前线部队其实是在与各位老总的高中,或者大学同学在一线竞争。竞争力的战略自己可以晚上想想。

建议: 大宋如何提高竞争力?

×提高30岁以前买房子的贷款门槛。大宋20几岁就买房子,是害我大宋之重要流毒。换言之,是丈母娘害了中国!年轻人一定要在毕业后10年去奋斗,而不是白天当房奴,晚上【省略3个字】。
×年轻有优势;但前提是必须接受了良好的教育,思维方式和在一个宽松自由的研发环境下。如果每天是农民工一样,再好的创造力,最后的结果也都是晚上睡眠前的一声长叹。

梁启超说的好: “故今日之责任,不在他人,而全在我少年。少年智则国智,少年富则国富;少年强则国强,少年独立则国独立;少年自由则国自由,少年进步则国进步;少年胜于欧洲则国胜于欧洲,少年雄于地球则国雄于地球。”

天佑中国!。。。。。。

(6个打分, 平均:4.33 / 5)

申银万国,期货,演义

新闻链接:http://finance.sina.com.cn/roll/20110429/12589773910.shtml
演义版本:http://www.taoguba.com.cn/Article/456793/1

申银万国自营部投资经理赵立臣的真实死因(金融版本) (2011-04-29 00:07:32)

2011年4月28日下午3点15分,内地股指期货交易结束之后,1978年出生的辽宁人,上海财经大学的硕士生,申银万国自营部的一名年仅33岁,从业才3年多的投资经理跳楼自杀了。他留下了一份遗书,就这么去了。其死因各方都在猜测,我相信遗书中并不会真正提到他为何自杀,因此写下此文,让所有看到的人引以为戒,警示后人!

这一切要从2011年4月8日这个周五说起,那天沪深300的期货5月主力合约向上突破,收在3366点,当日现货收在3353点。收盘之后,这位年轻的经理决定短期抵押自己贷款买来的房子,进行股指期货交易,并且选择建立多头头寸。

他是2007年底拿到从业证书,正式成为申银万国自营部一员的。2010年和相爱的女友结婚,并且首付80万,贷款120万,买了一套价值200万的房子。当时的均价为2万一平米。按照当时的公积金和商业银行的混合贷款,20年的还款期限,本金及利息要还240万,平均一年还12万,正好一个月1万,占用夫妻两人一半的收入。

今年一季度发完季度奖金之后,他的家庭存款达到了20万,就在此时,以银行,地产,石化和钢铁为主的权重蓝筹股,将指数带起来一波小的升势行情。眼看着准备金和利息的一次次上调与CPI的实际见顶(这从3月内地期货综合指数可判断出)。他认为政策将暂时进入观察期了。一次人生的赌博,在其脑海中逐步被计划着。

这个计划是这样的,将自己的房子抵押,通过关系以180万的价值换取货币。(通常情况下抵押不到那么多钱,但银行或其它贷款机构的业务员为了个人利益,可以做高房价,伪造相关手续,比如将200万的房子做成300万,按照6成的抵押,就能换来180万,当然业务员可以从中获得至少10万报酬,这是赵的融资成本之一)并且使用的是短期贷款模式,利率为8%,也就是一年期,利息15万。由此得出了他这次取得180万现金的融资成本为25万。

在4月8日过后的一周,沪深300指数在3350点上下震荡,并且突破了3月9日创下的3355点的高点。那么接下来从技术上很容易看出目标位置第一是3550点,第二位置是3700点。4月15日,也就是过了一周,贷款在多方努力下顺利的办好了,而就在这个周末,年内再次提高存款准备金率。一切看似多么的完美,“紧缩告一段落,大盘将向上正式突破”的预期在赵的脑海里几乎已经成为了现实。

在4月18日这个周一的早晨,他以3360点开仓买入了10张期货合约,用去180万的房屋贷款,自己存下的20万作为浮动保证金,以保证正常的60点范围内的下跌,可以承受的住。这时,他是有风险控制意识的,跌穿3300点,止损出局,最大亏损60点一张,合计18万,正好是他的存款。金融衍生品的交易经理,连这点都不会算,是不可能的。他其实明白,期货仓位是不能如此重的,但博取收益的思想已经占据了他的脑海,在他眼里,这就是一把定输赢的局,没有退路,只能向前!

他的交易策略正确与否先不讨论,我只说他当时的计划是如何的。那时候他想的是,期货涨到3550点平掉5张,涨到3700点再平5张。在过去的两周中,强势股,权重股的上涨,让他觉得指数再涨个10%,问题不大。因为权重股普遍离开压力位置还有10%的距离,市场的量能也将站上一个新的台阶。最重要的是那一周离开上海大盘周线压力线仅半步之遥,一旦突破就会产生短线的快速向上行情。怎么想,怎么算他都觉得自己的计划是完美的,自己的推论也是正确的,符合逻辑的。

算一下他脑子里想象的收益情况。5张单子,1张盈利6万,合计30万。另外5张单子,1张盈利10万,合计50万。总盈利80万,去除融资成本25万,还有55万。5月1日劳动节前可以完成。180万投入,55万收益。收益率达到30%,半个月,年化收益率吓死人!更重要的是他5月份可以将这55万加上自己手里存的20万中的15万,一起提前还贷。(每年都有固定的一个月是可以提出提前还贷的,他正好是5月,又是个要命的巧合)。表面上他还的是70万,但因为18年的利息不用还了,因此他等于减少了140万的债务。这么一来,这180万的投入,产生的效益就是140万,半个月啊!高回报蒙住了他的眼睛,脑子和所有还理智的器官!

随后是一个星期的下跌,沪深300的主力合约跌到了3307点。他浮亏了15万。这又是一个周五,4月22日。准备金正式上缴是4月21日。他坚信,这是对3300点的回踩,向上发力将正式开始,当日指数贴在20日线,一切还是那么可控。由于保证金还够,期货公司并没有要求追加保证金。

时间一晃来到了这周,周一大盘低开杀跌,直接破了他的止损位置,就在他看到自己手机上,期货公司发来的要求追加保证金的短消息后,指数探底回升了。他吓出一身汗,安慰自己,这是空头陷阱,坚持,信念!在下午1点30分再次杀下去后,期货公司打来了电话,要求他加保证金了,无奈之下,他收盘前平掉了一张单子,这样就多出来18万的资金,可以作为保证金。当日收盘,他的浮动亏损达到了30万,一下子的过度亏损,让这个智商挺高,情商偏低的金融交易新手,完全处在了感性的控制中,这时候,止损已经被搏到底所代替了。他的一只脚也就站在了常熟路171号申银万国大厦的窗台之上了!

难熬的日子又过去两天,就在昨天收盘前,他不得已又平了一张多单来作为保证金,并且由于亏损过40万了,心里压力之大,使这个年纪不小,经验很少的新人有点不知所措了。60日线的支撑,不仅是指数多头的支撑底限,也是他的心里底限了。更要命的是,还有两天4月就结束了,它的借款要到期了,这180万怎么还呢?当日晚上,他看到博客中有人喊,今日一定能涨40点以上,他居然相信了,喝了点酒,做起了由亏转盈的美梦!

一眨眼,4月28日下午2点半了,上海指数跌破2900点,40点的上涨没等来,等来的是40点的下跌。60日线破了,2900点破了。还钱的时候也到了。他的手机此时也不停的在他口袋里振动着,不用说他都知道,期货公司催命来了。2点55分,他借故上了个厕所,接了对方的电话,对方问是否强平,他精神已经有点恍惚的说了一句,平吧,全平了吧。。3点15分,多头合约全部卖出。账面上曾经的200万,剩下了150万。别以为期货那么容易爆仓,真正的爆仓,严格意义上叫穿仓,只会出现在连续跌停的极端情况下,只有这样才可能本金亏的所剩无几。并且现在交易所为了控制风险,2个板后,就会多头,空头协议平仓的。因此要亏到本金没有,是很难,很难的。但即使亏了50万,也是这位新人所不能承受的。

他当初拿到手180万,但真正还的时候,需要还205万。现在不仅自己存的20万没了,并且150万还了还要欠下55万的债务,每个月房子还要还1万。怎么向妻子交代,怎么去承担,去解决这笔短期巨债,都是他要想的。下午3点30分他在安福路上来回走,来回走。最后决定,以死抵债!(他以为死了就一了百了了,其实房子还得没收,诶)

回到办公室,匆匆的写下了几句交代的话,打了个电话问了一声他妻子的好,下午4点某几分,他的两只脚,全部站在了窗台上,期货,一边是天堂,一边是地狱。这话一点没错。他在空中承重的飘落,目的地不是宙斯的身边,而是哈迪斯的脚跟!

备注:此文虽是猜测,虚构的赵的死因过程。但以我心理学,金融学的能力去推断,应该这就是最接近真相的本质了!如有雷同,自觉非常不幸。

整篇的文章大意是,交易止损如同挽救生命,如果看官珍惜生命,则请自觉遵守止损策略!千万别信,价值投资可以不止损,雷曼就是前车之鉴。内地银行股的资产质量绝对比惠誉说的还要差,它们的报表就和统计局的数据是一样的,你相信你身边的鸡蛋从3.8元一斤变成4.8元一斤,是涨幅5%吗?统计的数据要符合常识,贴近现实。否则要统计干嘛。同样,贷款收缩那么严重,银行一季度业绩还增长30%,这不是拿卫生巾当尿片用嘛,谁信啊!!!!!

作为处于同一岗位的从业人员,为他默哀半秒钟!

———–

于我等P民心有戚戚焉

(4个打分, 平均:4.00 / 5)

华为在欧洲起诉中兴

【原文可参阅:新浪科技:华为在欧洲起诉中兴通讯侵犯专利及商标权
通信企业在知识产权方面的纠纷再度发生。继爱立信对中兴通讯提起侵权诉讼之后,华为也加入起诉阵营。

点击图片看原样大小图片

4月28日,华为在德国、法国和匈牙利对中兴通讯提起法律诉讼,指控其侵犯了华为的专利权和商标权。

据悉,华为起诉的内容包括“中兴侵犯了华为有关数据卡和LTE技术的一系列专利,并且未经华为许可,在数据卡产品上非法使用了华为的注册商标”。

而在此前不久,爱立信在英国、意大利和德国对中兴通讯提起侵权诉讼,指控中兴通讯侵犯了爱立信涉及GSM及WCDMA的一部分专利。几天后,中兴通讯反诉爱立信,使双方的专利之战升级。

华为的加入,让中兴通讯再次陷入被动局面。

华为首席法务官宋柳平称,华为起诉中兴通讯的目标是“终止中兴通讯对华为知识产权的非法使用,并通过协商解决纠纷,使华为的技术能够以合法的方式得到使用”。宋柳平表示,“为了保护创新成果以及在欧洲合法注册的知识产权,华为不得不采取此次法律行动”。

据华为方面称,华为曾多次邀请中兴通讯进行“专利交叉许可”谈判,但未获得成功。一方面,华为没有得到中兴通讯实质性的回应或停止侵权的承诺。另一方面,华为在发现中兴通讯数据卡产品非法使用华为注册商标后已发送了停止侵权承诺函,但中兴通讯并未终止侵权行为。

目前,华为已在前述三个国家对中兴通讯提起诉讼,要求法院“禁止中兴通讯继续侵犯华为的专利权及商标权”。

对于华为的起诉,中兴通讯在回应声明中称“将运用法律手段维护自身利益”。中兴通讯称,该公司“一向尊重知识产权,包括自己的知识产权和他人的知识产权”。

按 照起诉及被诉双方提供的数据,华为2010年对于研发的投入为165.56亿元人民币(合25亿美金)。同时,华为与电信领域主要厂商和知识产权持有人签 署了一系列“交叉许可协议”,在2010年支付的专利许可费达到2.21亿美元。而中兴通讯称,该公司一直将收入的10%投入研发,截至2010 年底的专利总量已达到3.3万件。

(1个打分, 平均:3.00 / 5)

腾讯 。加薪

(1个打分, 平均:4.00 / 5)

与大宋存储首席科学家冬瓜头谈心

亲爱的冬瓜头,

您好,

愚兄从江湖上听说你最近在《弯曲评论》 被修理了修理。这是好事。

能被修理说明大家是认真的。

文人最怕的就是文章发表了之后,静悄悄。

你说你希望同学们来打假。

没人上你的当。否则,是在帮你出名:-)

同学们的不少意见其实也是有一定道理的。只不过我不方便直接说。

年纪大了,特别喜欢到处交朋友,而非敌人。

写文章和写书,要的流传下去,而非挣钱。

写书很难挣钱。

要通过写书,去挣别的钱。

这才是奥秘:-)

科学技术,要的踏踏实实。如同化学做实验一样,要bottom up。不要top down。

你司比较喜欢玩胶片。希望你不要受污染。

要抗争。

云计算和存储基本上是紧耦合的东东。

你要多观察云计算。

有空的时候,读读经典文献。

不要读中文的。读一些经典的英文文章。

例如,

MapReduce: Simplifed Data Processing on Large Clusters

The Google File System

Bigtable: A Distributed Storage System for Structured Data

The Hadoop Distributed File System

做学问,要的是兴趣和耐心。

例如,写完文章之后,自己preview一下,这就是耐心。

耐心其实就是功夫。

赛赛,

陈怀临

(4个打分, 平均:4.00 / 5)

邓锋 。3000万 。清华

清华新闻网4月18日电 (通讯员 唐中)在清华大学即将迎来百年华诞之际,清华1981级无线电工程系校友、北极光风险投资公司创始人、董事总经理邓锋增资登峰基金3000万元,用于支持清华大学精英人才培养项目。4月13日上午,在工字厅东厅举行的捐赠仪式上,清华大学校党委书记胡和平向邓锋颁发了捐赠证书,邓锋与清华大学副秘书长、教育基金会副理事长兼秘书长宋军共同签署了捐赠仪式。清华大学党委常务副书记、教育基金会副理事长陈旭主持了仪式,教育基金会理事长贺美英出席仪式并致辞。

图为邓锋校友(前排右一)与校副秘书长、教育基金会副理事长兼秘书长宋军签署捐赠仪式。校党委书记胡和平(后排左四)、校党委常务副书记陈旭(后排左三)、教育基金会理事长(后排右三)等出席仪式(通讯员 井建军 摄)

胡和平在致辞中高度赞扬了邓锋对母校的情感,对母校人才培养工作的关注、深刻理解,以及对校友捐赠的示范作用。他说,邓锋校友对学校的深刻认识、对人才培养关键点的深刻把握,与捐款的行为本身一样,对于清华的发展都极有意义。

邓锋在仪式上表示,他很感谢母校领导和相关部门给他如此多的信任和支持,并以前瞻的视野、团队合作精神和超强的执行力,使得这种捐赠合作收到了很到的效果,他本人在这个过程中也深受教益。他在清华读过7年 的书,又当过学生辅导员,并有在中国和美国学习和创业的经历,这些经历使得他对当前未来的优秀人才必须具备哪些综合素质有相当的了解,所以他特别愿意为母 校的人才培养做些力所能及的贡献,并随即与母校商讨发起并资助了这些人才培养举措。他表示会继续支持由学校主导、他参与设计的更多更新的人才培养项目中 来。

贺美英在致辞中介绍,邓锋校友是清华改革开放后培养的学生中对母校进行大额捐赠的首批践行者。早在2004年,他在美国创办的公司上市、事业取得成功之后,他就回到中国,主动找到学校负责人,商讨如何捐资支持学校人才培养事宜。2004年11月和2007年10月,他分别捐赠1000万元共计2000万元,连续7年支持信息学院学生出国参加学术会议及人才引进基金、思源学生骨干培养项目和“北极光”杯首届清华大学社会公益创业实践赛, 提供各种机会让清华优秀学子了解中国国情,开拓国际视野,并在学术研究、组织决策力、社会责任和公益实践等领域得到充分锻炼。2010年邓锋校友设立的基金正式更名为“登峰”基金。此次邓锋校友为登峰基金增资3000万元,除了用于继续支持和扩展原有项目外,还将支持公共管理学院与哈佛大学肯尼迪政府学院的合作项目。至此,邓锋校友累计已向学校捐资5000万元。

学生部相关负责人也参加了仪式。(供稿:教育基金会 编辑:露 英 襄 桦)

背景链接:

邓锋,北极光风险投资公司创始人、董事总经理,清华北美基金会董事,著名天使投资人。1986年毕业于清华大学电子工程系,后获得南加州大学计算机工程专业工学硕士学位、沃顿商学院EMBA学位。1997年创建NetScreen技术公司,该公司于2001年底成功在纳斯达克上市。邓锋因其杰出的商业成就,获得美国“2002年度企业家”和“2003年度创新人”等荣誉,被誉为硅谷最成功的5位华人企业家之一,曾缔造40亿美元的并购神话。

(没有打分)

浅谈爱数的存储引擎 OFS(一)

爱数的备份引擎历经了Turtle引擎、Hercules引擎,现已经发展到第三代引擎—FAST引擎,如引擎名字一样,我们在着手架构和实现此引擎时,就希望能够在性能上有所突破。但在现阶段无新的理论基础以及新算法的诞生,如果希望引擎能够在备份恢复性能上取得新的突破,只能寄希望于引擎架构上的突破,这也是FAST引擎最鲜明的技术特点,在此文章中,将把FAST引擎的关键组件之一:OFS存储引擎进行初步的介绍。

一、把握趋势的关键点

当Oracle的埃里森郑重的发誓,Exadata 将会是Oracle最成功的产品,业界还对此不置可否。在完成对Sun公司的收购后,短短一年时间,Oracle就取得了近80%的增长速度,而取得此佳绩最关键的产品线,正是Exadata2,这款集成Oracle数据库、Sun服务器和存储的OLTP专用服务器,帮助用户在更低总体投资成本下获得了不凡的性能。

Exadata的成功,不仅仅体现了Oracle并购上的整合能力,更重要反应中大型系统通过集成技术架构获得更好投资回报率的技术趋势。通过集成技术架构,不仅仅可以保证系统的每一个组件(硬件模块和软件模块)的运行效率得到充分发挥,而且针对特定应用,进行系统的专用优化,从而取得了显著的性能突破。

二、OFS 是集成技术架构的产物

Object File System(简称OFS) 作为FAST引擎的存储系统,它是一个运行在用户态的文件系统,以对象为存储粒度,以 GNS(Global Namespace) 为命名路径,采用树状结构索引,可支持全局范围内对象按类别和时间点进行存储,并且内置重复数据删除、集群式、分布式存储、数据生命周期管理等一系列现代文件系统所具有的技术特点。

之所以说OFS是集成技术架构的产物,在开始设计第三代备份恢复引擎FAST之前,不仅仅集成技术架构已经成为业内普遍采用的架构,而且根据爱数的业务战略规划,也需要满足如下两个关键需求:

性能目标:伴随着用户数据量的快速膨胀,FAST引擎作为数据调度的关键组件,要能够满足PB级的数据传输和存储性能目标,而FAST引擎的性能关键部件正是后端的存储系统。

应用环境:第三代引擎FAST不仅仅要满足爱数在备份容灾业务领域的技术需求,还需要满足归档、非结构化文档存储的业务技术需求,即FAST引擎本身是一个集成应用的引擎,将用于备份容灾、数据归档、非结构化文档存储等。

正因为如上的一些背景,整个OFS是作为一个专用的存储引擎与FAST集成,通过集成技术架构实现备份容灾、数据归档、非结构化文档存储等应用领域的存储需求,并且通过与FAST集成,在Cache、Scale-out横向扩展等性能优化上将进行应用整合,从而通过更小的付出获得更优的性能目标。

三、OFS的主要特点和设计目标

1)用户态文件系统

有别于传统文件系统,OFS是驻足在已有文件系统之上的 用户态文件系统 ,并且采用专用API访问,不支持POSIX或Windows FS等标准访问接口。此技术方案可保证OFS具有更强移植性(操作系统无关)、简化开发和维护难度、便于跨网络和分布式扩展,以及基于双C技术(Cluster和Cache)来不断优化性能等。

2)全局对象存储

OFS适用于网络存储,它以GNS作为对象路径,可保存来自于全局网络环境的数据集中存储,例如备份、归档、共享等数据集中存储应用,并且以对象作为存储粒度,可支持文件、邮件、数据库、表、设备等各类结构化和非结构化的数据对象的存储。

GNS是全局名字空间 (Global Namespace),它用于在全局范围标识一个对象的名称,这个名称可以在全局范围内唯一代表此对象。传统的命名规则,通常是单系统(一台计算机或服务器)范围的,这种情况下实现集中备份、归档、文档管理等,将面临着名称冲突,不同平台、不同协议命名规则的差异,对于一些非文件数据对象,又面临着没有可参考的命名规则,正因为诸多缺点,在整个引擎的设计中,引进GNS,如下图所示,通过GNS,可以将不同平台、不同协议、不同类型的数据对象命名统一,并且保证在全局范围内可唯一标识。

3)永远一致的文件系统

OFS采用全Journal 算法,任何时刻文件系统均处于一致性的状态,即使遇到非正常断电或不正常关机后,也不需执行硬盘检查,即可在复电后2分钟内迅速提供服务。

OFS支持自修复机制,即使OFS所存储的数据遭受到意外的破坏,也能保证数据损失降到最低。

4)无容量限制的文件系统

OFS可支持单存储介质池中介质动态增长、跨存储的多介质池扩展等,支持ZB级的数据量存储,可轻松方便地完成在线扩容和动态部署。

备注:1ZB=1024EB=1048576PB= 1073741824TB

5)高性能的文件系统

OFS针对读写操作大于合成操作、数据分类及时间点、时间线等应用特征,采用局部原理进行性能优化,在归档、备份、共享等应用中具有更好性能,并且结合集群技术,可显著提升IO整体性能。

OFS支持各种的缓冲优化机制,包括读、写缓冲,时间线预镜像(Timeline Pre-Image),提升整体访问性能。

OFS针对数据访问操作(读写、删除、合成等)的不同重要程度,将其划分为不同的执行优先级,在不同优先级操作并发访问的情形下,保证关键操作的执行性能不受影响。

6)嵌入重复数据删除

OFS内置重复数据删除,可将集中存储的重复数据进行压缩,进一步提高逻辑存储容量,并且能够与文件系统访问、集群技术等结合,且支持全局范围(全网络环境)、指定类别范围(一个或多个CID)进行重复数据删除,可保证存储系统内的整体最佳的重复数据删除性能。

7)超强快照能力的文件系统

OFS采用时间点节点内置的设计,可在瞬间创建一个快照,并且整体文件系统无快照版本限制。

8)更细粒度的配额管理

OFS可支持介质池、介质、对象的空间配额管理,包括空间配额、容量查询、容量预先防范、数据智能分布、自动精简配置(Thin Provisioning)等。

9)通用协议访问

OFS可通过与FAST内核引擎集成,将支持iSCSI、NFS、CIFS等通用数据访问协议来访问OFS所存储的对象数据,实现数据的直接读写,以满足瞬间恢复、归档在线访问等读写需求。

结束语

OFS是爱数的FAST内核引擎中所使用的核心组件,承载着爱数未来数年能够在存储备份行业脱颖而出的使命,而要实现所设定的技术目标,我想这也将会是国内存储技术的一次重要突破,在后续的时间里,我们将逐步就OFS存储引擎以及FAST内核引擎的技术详细架构、关键算法等进行阐述,希望能够继续关注。

(2个打分, 平均:3.00 / 5)

恒扬科技新产品发布会-5/11 . 北京

         伴随着网络应用与网络流量的不断增加,网络流量分析与网络增值业务分析成为运营商、大型企业及政府机构的首要任务,一方面要尽可能将有限的网络资源合理分配, 另一方面还要不断的优化网络业务,使其资源利用最大化。另外,屏蔽掉一些与业务无关的不良信息,也是网络流量分析与监控的重要任务。凭借多年在网络软硬件研发的丰富经验,恒扬科技推出了囊括网络ETAP、光中继OEO、分光器、网络汇聚分流器及高性能流量采集网卡等多种产品组合而成的网络流量监控解决方案,为广大流量管理、网络流量分析、上网行为分析管理、DPI 分析、网络增值业务分析及信令分析软件开发商提供了完美的硬件平台!

2011 年5 月11 日,我们将举办“网络流量监控”解决方案发布会。在此次会议上,您将可以了解到:

  • • 如何采用ALL-in-One 式网络流量监控硬件解决方案与您的网络监控软件完美结合
  • • 如何通过最低的成本,将拥有顶尖高手潜心研发的网络流量监控产品快速呈现给客户

如果您是流量管理厂商、上网行为管理厂商、UTM及防病毒网关厂商、DPI及负载均衡厂商、信令分析或其他相关厂商,我

们诚挚的邀请您与国内的众多厂家的技术专家一起,了解恒扬科技网络流量监控解决方案及产品的种种优势和具体技术应

用,分享恒扬科技最新的技术成果!

会议时间: 2011.5.11 下午1:30 入场

会议地点: 北京知春路丽亭华苑酒店三层鸿运厅

会议议程:

时间议题演讲人

13:30-14:00 签到

14:00-14:05 致欢迎词CEO 陈龙森

14:05-14:55 公司介绍及网络监控解决方案市场总监李浩

14:55-15:05 中间休息

15:05-15:35 FC 系列高性价比多业务分流器介绍及应用案例  研发总监陈鹏

15:35-16:05 40G POS 分流器介绍及应用案例                             技术经理李军

16:05-16:20 提问及自由讨论时间

我们为出席研讨会的各位嘉宾准备了精美礼品,敬请拨冗光临!如需垂询,请联络18601272269 或yanzhiwei@semptian.com

(1个打分, 平均:1.00 / 5)

从云1.0时代到云2.0时代

【陈怀临注:冬瓜头的书,我是打死也不会买,等他亲自上门送,而且要N本免费。。。。鉴定完毕。弯曲评论不代表其艺术观点。不同意其观点的,当作批判材料来研读。。。例如,如何避免理解云计算的错误case i。。。赛赛。】

【选自《大话存储2》一书第20章,转载请注明出处及作者(冬瓜头)】

20.8.4 云基础架构的艺术与哲学意境

另外,我发挥了一下想象力,将云想象成为一部精密机械,并画了一张图,如图20-40所示。希望通过这张图能够让大家更加深刻的认识云这个东西。这张图片其实是可以运动的,大家可以联系我以获得这张图片的动态版。这张图是对一片小云种子的一个总结。最中心的物质本源,也就是硬核心。在这层硬核心之外,包裹一层弹性存储层,包括可灵活扩展的集群SAN、集群NAS或者集群/分布式文件系统等,以及Thin、Dedup等增加数据弹性的技术,还有增加管理灵活性的虚拟化技术。之外再覆盖以弹性计算层,最后覆盖以资源管理层,最外面则是运营层,包括业务展现子层与运营管理子层。至此这片云就彻底运转起来了。

图20- 40 小云的5层结构

大家再仔细分析一下这张图,会发现其中包含有无穷奥妙。你先想象它是一台电动机,其中每个圈都可以旋转,谁来给它提供能量呢?当然,云数据中心必须有足够的电力,电动机要旋转,需要有电刷给其供电。大家可以看看业务展现层与运营管理层,这两个模块是不是很像两把电刷,将用户需求这种动力不断地提供给中心部件,从而让这台电动机持久地转动。如果没有了用户需求,或者你已经想不出足够新颖的业务展现方式,那么就算有电,这个数据中心也无法再运营下去了。

计算存储硬核层:处于这台精密机械的最核心层次的,就是硬核了,也是运转最快而且最硬最实的一个角色。在数据中心中表现为大量的 和存储设备,这个核心是云数据中心的物质本源,也是密度最高的实体。硬核相当于云中的种子。服务

存储弹性软化层:这一层紧密地包裹在物质实体之外,通过分布式、集群、虚拟化、Thin、Dedup、Snapshot、Clone等技术,将原本高密度的硬实体充分软化,为上面的层次提供一个弹性软化的基座。

计算弹性软化层:在弹性软化的存储基座之上,计算资源也通过各种主机虚拟化技术手段被充分地软化。

资源管理调度层:物质硬核+富有弹性的软化计算与存储资源层,共同构成了一个系统内的阴与阳相合的资源核心。资源管理与调度层起到一个适配内外层次的作用,外层阳气的生发需要底层物质源泉的积聚、分配和运化,如何将这个系统内的资源进行良好的调动与配合,便是这一层的任务。这一层中存在诸多角色,比如资源监控、资源分配与调度、并行计算分配与调度等。

业务展现运营层:这一层则是阳气外发外散与运化升华的至极之层次,也是整个云数据中心的精神本源。中心的硬核为太阴,这一层则为太阳,为最终将辐射展现出去的一层,也是外界直接可见的一层。表里相合,一为实一为虚,一为阴一为阳,一为物质一为精神。

整个云数据中心便是一个阴阳表里虚实相合的一个有机体。这也正像一个星云,不断孕育出[微软用户1] 星体,对应着云基础架构之上不断孕育着各种应用业务服务。生物体、社会、企业、公司、宇宙,其实都是这样演化的,那么可以这么说,系统即云,云即系统,云是大统一的系统模型。

另外,大家可以继续领悟一下,这片小云种子,是否就是一台计算机呢?硬核心就相当于硬件,看得见摸得着,外层的弹性存储层,相当于计算机的存储系统,任何计算机启动时首先都要去从存储系统里读入代码执行;再外层就是操作系统内核层,基于存储层的支撑,内核得以启动;再往外就是操作系统管理界面层了,利用界面来管理和分配各种计算机资源,其中并行计算调度模块也相当于操作系统中的线程调度器等角色;最外面一层,也就相当于计算机的应用程序层了,各式各样的应用程序,对应着云中各式各样的业务展现。各种应用(业务展现)可以在一台计算机上(云中)迅速的安装卸载(部署)。那么,“云即计算机”,这句话,不记得之前哪位提到过,至此我也彻底理解了。云为何就是计算机?云由大量计算机组成,而其堆叠之后的样子和架构,仍然还是一台计算机。计算机各处总是体现着轮回的形态。为何呢?因为它骨子里就是由计算机组成的,它永远造不出异形,只会造出它自己,除非它有自己的强烈向往,希望自身向某个异形发展。这种行为,骨子里已经根植到了基因当中,这种上下联系看上去非常微妙。

对比一下:

1.计算机加电,硬件启动→云数据中心硬件核心层启动。

2.从磁盘读取代码以便启动OS→云中的数据承载层。各种分布式FS分布式DB,key-value DB等。

3. OS启动→云中的虚拟计算层,生成大量VM。

4.启动到用户界面→云中的管理层,比如微软System Center,Novell Cloud Manager,思科UCS的Unified Manager等。

5.内核的线程调度器→云中的并行计算调度层,比如Mapreduce以及其衍生物。

6. OS提供的开发API,VC,Java→云中的PaaS开发平台

7.各种运行在OS上的应用程序→SaaS展现层,各种云业务。

又比如各种分布式文件系统,其本质是什么呢?其实还是本地文件系统思想的外散。本地文件系统通过一个跟入口,然后一级指针、二级指针、三级指针,一直到最后一层0级块用来存放最终的文件数据。而分布式文件系统,大家思考一下,对称式分布式文件系统,其各级元数据其实也都是分部到所有节点当中的,比如一级指针用1个节点承担,二级指针用2个节点承担,3级指针用3个节点承担,这样可以将文件系统分布到非常大的范围。或者干脆把所有指针元数据放到一个节点中,那么这个节点也就是MDS,这样就属于非对称式集群文件系统了。但是不管怎么弄,其本质其实就是本地文件系统的思想。

至此,“轮回”的道理在计算机世界已经充分展现了出来。

20.8.5 纵观存储发展时代——云发展预测

如图20-41所示为存储系统的发展时代。这张图所要表达的两个最重要的地方,一个是所谓“小云时代”与“大云时代”,另一个则是“分”与“合”的轮回变化。

图20-41 存储系统架构变迁发展

早期的直连存储,每个计算节点都有各自的存储系统,计算节点之间的存储系统没有共享,属于分;今天的网络存储时代,所有计算节点可以共享访问同一个存储系统,属于合。当前,由于单台网络存储系统性能受限,集群存储系统的地位开始上升,利用大量分开的存储节点来获得更高的性能扩展性,以满足数据爆炸时代的需求,这又属于分;而在将来,将是一个业务爆炸的时代,各种各样的互联网服务层出不穷,如何快速满足业务部署需求?传统数据中心,部署一台新服务器和业务,需要至少一天的时间,比如上架、安装OS、安装支撑系统、安装应用系统、测试,而如果加上前期采购等流程,则需要更长时间。而云的出现,利用弹性核心,将底层大量分开的计算或者存储节点屏蔽,抽象为各种IT服务,使得部署一个新应用可能只需要几个小时的时间就可以了,云整合了所有IT资源,这又属于合。而在遥远的未来,随着技术革命的到来,计算与存储将会发生质的变化,单个节点的计算与存储能力发生革命,另外,互联网带宽的革命,也会促使大范围的网格节点互联,共同组成一个整体,而不是向某个固定的云中获得资源,这又属于分。

小云也就是不远的将来会大行其道的、由小规模的硬核作为种子所生成的云[微软用户2] 。而大云则是借助高速互联网而组成的大范围的网格型的硬核心,大家共同参与组成云。此时,任何节点可以申请加入这个云而成为云中的一粒种子,不断贡献着资源而同时也吸收着资源。其实P2P就相当于一个大网格云,只不过网格云时代P2P的不仅是电影,而是一切IT资源了,比如存储和计算。假如你有一个视频需要渲染,但是你的机器自身的显卡太差,那么你可以直接利用P2P渲染平台服务将你的任务提交,其后台就会将这个任务分解到所有拥有高渲染能力的节点中去并行计算,然后结果汇总到你这里,这个速度将会是相当快的。

在网格云时代,此时整个系统又属于分了。在这个大云时代,互联网上的所有节点都会有高接入带宽,比如万兆以太网到户,再加上IPv6,使得每个人都变成了互联网运营商,那么之前被大集中到运营商以及各个数据中心中的资源,在这个时代将会重新流入到互联网所有节点中。之前被大集中在运营商数据中心的数据业务,此时会被大范围分散到互联网的各个节点中去,此时的形态又属于分了。如果说集群存储时代对应着数据爆炸,那么小云时代便对应了业务爆炸,数据与业务共同在几个点上爆炸之后,必将经过弥散的时代,这个时代也就是大网格云时代。在这个时代,整个互联网内的资源被虚拟地整合起来,人们可以利用P2P技术运行超大程序,渲染图片以及海量存储等其他各种服务。那时候的运营商,有一种很重要的角色,这个角色就相当于分布式文件系统中的MDS,它会给整个互联网提供一个用于P2P共享的分布式平台,保存所有互联网元数据。比如大分布式文件系统、大并行计算调度系统,都会有运营商来掌握和部署,将整个互联网范围内的资源整合了起来,数据和资源弥散在整个互联网范围。

另外,小云自身也相当于大云中的一粒种子,目前各地都在兴建小规模云数据中心,这些建好的数据中心,将来会成为种子,然后各自联合起来形成大范围云。我们姑且称小云时代为云1.0时代,或者也可以叫它种云时代。而大云时代为云2.0时代。云2.0时代的时候,之前云1.0时代的种子便完成了它的使命,成功地发芽开花并结果。

那么在大云时代之后,按照之前一路分分合合的变化规律,势必又会变为合的形态。这里先这样推测,然后再找论据,它凭什么要合呢?你说合它就合么?显然不是的。我们畅想一下,那时候计算与存储将会发生革命,比如从电路计算与电路存储,转为量子计算或者生物计算与分子存储。大家知道,生物细胞中的DNA可以存储大量的信息,可能一个细胞可以存储的数据堪比一块硬盘,那么一片树叶中将可以存储海量的数据。那么谁来读取其上的数据呢?当然是靠核糖体,核糖体就相当于磁盘中的磁头。细胞也可以用来计算,一个细胞中包含多种模块,每一个都被精确设计,来完成一系列的生化过程,这个过程如果可以被翻译为其他逻辑,那么就可以被用作高速计算。那个时候,将会出现利用革新技术生产的计算机,整个时代又会回到最原始的形态,也就是大量终端通过网络连接到中心计算机来获取资源。

纵观云发展史,我们再往高层思考。一开始,PC在LAN内访问服务器,这种状态可以映射到现在的Micro Cloud;后来,IT组织越来越大,数据中心出现,组织内的PC可以跨越多个LAN被路由到数据中心LAN内访问所有资源,此时可以映射为Mini或者Normal Cloud;后来Internet发展,使得多个Internet上的服务器可以相互通信相互要资源,PC可以连接到Internet访问其他LAN内的服务器,这种状态可以映射到大范围的Seed Cloud;那么再后来,Internet上的资源被一定程度地弥散,当然数据中心等云种子依然存在,只不过资源被极大地弥散到了所有节点之上,此时便映射到了Infinite Cloud,也就是大范围Gird了。

请看一下图20-42所示的IT系统基础架构一开始都是孤岛,烟囱。后来存储开始被集中起来。再后来,存储的上层,也就是计算层,也被集中整合起来。再后来,统一了开发平台,其上孕育出各种应用。这也是当前的新型IT基础架构的形态,也就是人们常说的“云”基础架构。存储从主机脱离出来成为SAN,那么整个IT系统基础架构的共享,就成为了Cloud。可以看到一层层的向上侵蚀,但是APP一层自身能被融合起来么?恐怕不能了,每个业务都要对应一个APP。那么这个系统正在干什么呢?它下一步将会是什么形态呢?

图20-42 IT基础架构演进示意图

IT系统最终是不是要长成这个样子(见图20-43)全部融合。一个操作系统实例可以管理所有服务器、存储、网络资源,也即所谓“数据中心操作系统”或者“分布式操作系统”。这个DOS(Datacenter/Distributed OS,不仅寒了一下,确实是个轮回,到了DOS时代了)可以有两种模式,就像分布式文件系统一样,一种模式是把多个文件系统实例用目录的方式虚拟,而另一种模式是直接在底层虚拟。

图20-43 分布式统一操作系统

那么DOS也可以有这两种类似的方式,要么就用一种简单松耦合的管理角色,比如微软的System Center、Novell的Cloud Manager等;要么,也就是要引出的另一种彻底底层融合方式,一个操作系统实例,高速网络的出现,将总线延伸到计算机外部(请翻回阅读本书第2章,外部网络就是计算机总线的延伸),将内存的RDMA,这些都变得可能,此时多个物理上分离的节点可以直接进行总线级的通信和内存直接寻址,那么一个分布式操作系统也就可以在此基础上诞生了。

这个操作系统将会把整个数据中心中的所有元素统一管理起来,包括底层的供电、消防、监控等,及上层的存储、计算、网络资源管理和调度,以及各模块间的消息转发中间件平台,乃至最上层的应用业务展现开发平台。所有这些元素将被一种像微软Windows操作系统一样的统一平台来操作与管理。这又是一个大轮回了。同时,存储早就准备好这一天的革命了,各种分布式虚拟化存储已经成熟。此时,整个系统确实从骨子里表现为一台大计算机了。这个DOS会将任务拆分为颗粒分配到底层所有计算节点中去,这也正如传统OS将每个线程分配到CPU的每个核心中去执行一样。

这种操作系统如果真的出现,其早期必然不能够满足高实时性计算的需求,只能作为一个庞然大物级别的系统来处理一些非高实时性但是却拥有极高的总吞吐量的系统,对于高实时性需求依然需要独立的系统。其实这种演进就相当于目前的传统操作系统与嵌入式高效实时的精简操作系统的区别了,谁也离不了谁,总要有一种通吃一切的庞大系统,比如Windows、Linux等,也必然要有一些尖兵操作系统比如VxWorks等。随着规模的庞大,整体颗粒度必然变大,微观运动必然相对变慢,但是总吞吐量数量级也必然升高,这就像一个细胞的运动与地球自转的比较一样。

那么,这个系统究竟是否会朝着这个方向演进呢?让我们拭目以待。

(8个打分, 平均:3.13 / 5)