知乎是对NewULⅰfe怎样评论的?

分布式系统在互联网时代,尤其是大数据时代到来之后,成为了每个程序员的必备技能之一。分布式系统从上个世纪80年代就开始有了不少出色的研究和论文,我在这里只列举最近15年范围以内我觉得有重大影响意义的15篇论文(15 within 15)。

1. The Google File System: 这是分布式文件系统领域划时代意义的论文,文中的多副本机制、控制流与数据流隔离和追加写模式等概念几乎成为了分布式文件系统领域的标准,其影响之深远通过其5000+的引用就可见一斑了,Apache

Clusters:这篇也是Google的大作,通过Map和Reduce两个操作,大大简化了分布式计算的复杂度,使得任何需要的程序员都可以编写分布式计算程序,其中使用到的技术值得我们好好学习:简约而不简单!Hadoop也根据这篇论文做了一个开源的MapReduce;

Data:Google在NoSQL领域的分布式表格系统,LSM树的最好使用范例,广泛使用到了网页索引存储、YouTube数据管理等业务,Hadoop对应的开源系统叫HBase(我在前公司任职时也开发过一个相应的系统叫BladeCube,性能较HBase有数倍提升);

systems:Google的分布式锁服务,基于Paxos协议,这篇文章相比于前三篇可能知道的人就少了,但是其对应的开源系统zookeeper几乎是每个后端同学都接触过,其影响力其实不亚于前三篇;

Storage:facebook的在线图片存储系统,目前来看是对小文件存储的最好解决方案之一,facebook目前通过该系统存储了超过300PB的数据,一个师兄就在这个团队工作,听过很多有意思的事情(我在前公司的时候开发过一个类似的系统pallas,不仅支持副本,还支持Reed Solomon-LRC,性能也有较多优化);

azure的总体介绍文章,是一篇很好的描述云存储架构的论文,其中通过分层来同时保证可用性和一致性的思路在现实工作中也给了我很多启发;

Learning:CMU基于图计算的分布式机器学习框架,目前已经成立了专门的商业公司,在分布式机器学习上很有两把刷子,其单机版的GraphChi在百万维度的矩阵分解都只需要2~3分钟;

Spark,目前这两年最流行的内存计算模式,通过RDD和lineage大大简化了分布式计算框架,通常几行scala代码就可以搞定原来上千行MapReduce代码才能搞定的问题,大有取代MapReduce的趋势;

Server:百度少帅李沐大作,目前大规模分布式学习各家公司主要都是使用ps,ps具备良好的可扩展性,使得大数据时代的大规模分布式学习成为可能,包括Google的深度学习模型也是通过ps训练实现,是目前最流行的分布式学习框架,豆瓣的开源系统paracell也是ps的一个实现;

Datasets:Google的大规模(近)实时数据分析系统,号称可以在3秒相应1PB数据的分析请求,内部使用到了查询树来优化分析速度,其开源实现为Drill,在工业界对实时数据分析也是比价有影响力;

Database:这是第一个全球意义上的分布式数据库,Google的出品。其中介绍了很多一致性方面的设计考虑,简单起见,还采用了GPS和原子钟确保时间最大误差在20ns以内,保证了事务的时间序,同样在分布式系统方面具有很强的借鉴意义;

15. Storm @Twitter:这个系统不多说,开启了流式计算的新纪元,几乎是所有公司流式计算的首选,绝对值得关注;

最近一两年时间主要精力放到了机器学习上,分布式系统的研究不太多了,现阶段就列这15篇文章吧,覆盖了分布式系统的主要领域。如果想起来有遗漏再来补充。Good luck!

提到的两篇论文也挺不错的,一并补充在这里。

经过不懈地努力,公众号和知乎关注量终于破200!更一期软件安装,嘿嘿。

MATLAB 是矩阵实验室(Matrix Laboratory)的简称,是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据 分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink 两大部分。

有很多安装途径,在此就不一一赘述了。

yalmip真的是一个神器,作为一个工具箱,很好的节省了学习优化的时间成本,就不用去花费时间学习各种求解器语言。

(这里不得不吹一下yalmip的论坛,遥想当年学习SOCP的对偶编程时,在论坛得到了不少的帮助,而且原作者回复很快)

装完以后,一定要记得在MATLAB中设置路径!

gurobi是由美国Gurobi公司开发的新一代大规模数学规划优化器,在 Decision Tree for Optimization Software 网站举行的第三方优化器评估中,展示出更快的优化速度和精度,成为优化器领域的新翘楚。

用edu邮箱注册,可申请学术license,很方便。

win+r+cmd:输入申请的许可证,运行命令,申请成功。

在系统属性界面内选择高级,然后点击环境变量。

如何设置网上有很多教程,这里也不一一赘述。

最后介绍一个新的工具包,主要也是在安装的时候出现了一些问题,所以才会特别介绍一下。

这里要注意一下,代码会自动卸载电脑中已有的yalmip和MPT,然后重新安装需要的工具包

安装完成后,代码会将路径设置成功,无需手动添加。

我是先安装的gurobi后安装的MPT3,然后运行mpt_init一直报错,如图

苦苦修改数日,终于发现解决办法如下:

将冲突的linprog文件删除即可,问题解决!(困扰数日,可悲)

附上新结果,快乐一下:

我要回帖

更多关于 大家对知乎的评价 的文章

 

随机推荐