您的位置:首页 > 运维架构 > 网站架构

读《百度基础架构技术发展之路》有感

2017-08-17 13:53 597 查看
这篇文章主要介绍SDF的研发过程,包含问题的提出,解决方式,以及部署在实际系统过程中遇到的问题。SDF的论文发表在ASPLOS
2014会议上。首先问题来自于实际工业环境:随着数据中心将成为承载互联网用户存储和计算的主要战场,怎样设计和改进体系结构以满足大规模系统对性能。成本,功耗以及可扩展性的要求成为新的挑战。能够看到的是百度的ARM云server方案攻克了存储的成本和功耗问题,而SDF架构则幅度提升了性能的问题(当然也会减少成本和功耗)。

SDF的提出是为了应对固态盘的诸多缺陷:当中包含带宽利用率低,空间利用率低以及性能的不可预測性。

硬件上的问题须要通过软件来屏蔽以向上层提供性能良好。执行稳定的服务接口。SDF的几个features是:

软件管理数据布局(layout),用算法实现更高程度的并行。
扁平文件系统和I/O stack,分别解决可扩展性和延迟性问题。

考虑SSD在存储时的硬件特征,读写块设置尽量对硬件友好。
类似于hadoop的副本机制。消除了数据存储时的校验操作。

让人感到吃惊的是百度内部的开发速度之快,之前听赖春波前辈介绍百度ARM云存储server的总体设计和开发过程,就对百度内部雷厉风行,风驰电掣的开发效率印象深刻。

相同这篇文章也能间接的让人感受到这样的气场。比方一个入职两年的硬件project师和实习生在半年内完毕了1万行的verilog代码+3000行的C语言代码;一个project师用半年的时间将包括100多万行代码的基础库和存储系统代码从x86-64架构移植到ARM-32位架构上的移植并完毕測试;高效率的系统原型到上线过程:从20台到100台再到500台再到1000台的迅速扩展。相信他们一定是有很充足的工作热情才干完毕这样在工作量和工作难度都很有挑战的任务。

这也让我怀念起在三年前做本科毕业设计时,和张胤同学一起用verilog编写了1万3千多行实现了一个六级流水、支持函数跳转、支持中断操作、支持分支预測的全功能MIPS处理器,用C#编写了1万多行的汇编器。自己定义了一套编程语言规范和汇编指令,然后在此基础上又编写了3000多行的汇编代码(包含贪吃蛇游戏弹球游戏等等)玩遍了开发箱上的全部外设(键盘,彩色触屏,LED点阵等等)。

驱动这些外设的驱动程序也是用verilog编写的。

那段时光真的很充实。至少如今看来能够在做过的最让自己感动和自豪的事情中排名第二了。

读博士之后,发现自己越来越懒散了,之前的那种冲劲慢慢的消退,这太可怕了!还有两年就要毕业了,在这两年里一定要抓紧时间,学习一切让自己兴奋的知识,让自己high起来充实起来。哎,说道工作激情和效率就扯远了,接着说百度的基础技术的指导原则---全栈式自主研发。详细这样做的原因,文中给出了这么几点:

业务发展速度快。基础架构要支撑新的业务,只依赖于开源社区是达不到的。

只在开源方案上修修补补,丧失自主研发大系统的能力
全栈式自底而上的研发做到软件和硬件的协同设计,从而达到系统的最优.

技术方面,百度确实是一个令人钦佩的企业,只是感觉其搜索的准确性上还有非常大的缺点,并且准确率似乎在下滑。不知道是不是由于融入了“深度学习”之类的新兴技术。比方我要搜索《百度基础架构技术发展之路》这篇文章的pdf版,在百度搜索框中输入“百度基础架构技术发展之路 pdf”。依据首页呈现的内容来看,结果并非非常让人期待。该文章pdf的链接位于:http://www.ccf.org.cn/resources/1190201776262/2014/07/14/7.pdf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐