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

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:

(5个打分, 平均: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内核引擎的技术详细架构、关键算法等进行阐述,希望能够继续关注。

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