内容简介:【MDCC 2016】Erlang之父Joe Armstrong:如何设计高可靠的分布式并行系统
【CSDN现场报道】2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 —— “2016中国软件开发者大会”(Software Developer Conference China 2016,简称SDCC 2016)在北京京都信苑饭店隆重举行。本届大会云集了100多位国内外顶尖专家和技术大牛,共设新趋势和新实践2大主题会场,14场主题分论坛。面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,助力企业的技术升级和改造、全面提升技术人员的综合实力。
以下为演讲实录:
大家好,非常感谢今天有机会能和大家交流,这是我第一次来中国。今天我来谈谈一种编程方法,在过去的30年中,我一直在使用这种方法编程。以下是我今天演讲的主要内容:
Erlang的核心是基于开发软件的容错之上,pure message passing(纯消息传输)是一个进程模型,今天我想要分享的是以下几方面:
- 纯消息传输模型的优势
- 如何利用纯消息模型部署系统
- 具体的实现方式
- 关于学习并行编程的一些建议
你可以把计算机系统理解成一个黑瞎子,我们不知道这个黑匣子里面到底发生过什么、不知道编程语言、不知道运作机制。我们只知道我向里面传递一些消息,系统会给我特定的反馈。我们希望达到的理想状况是,这个黑匣子里面的每一个模块能够独立的工作,任何一个模块的崩溃都不会影响到整个系统的运作。现在我们采取这样的一个逻辑,要建立大的东西,首先我们做很多小的东西,将小的东西组合在一起来组成更大的东西,同时这些小单元的性质不应该改变,这就是所谓的并行计算。
为什么要写并行程序?因为我们的世界就是并行的,现在我们所处的这个会议室里,有一千多个人,我们这里有一千个大脑都是并行的;走到大街上,你会发现有成千上万个并行程序同时发生。如果用串行算法来模拟这些场景的话,将会是非常困难的。
但是实际上,写并行程序也不简单,因此这也不是一个好的策略。我最喜欢用的策略是,写concurrent programs(同时发生的程序)。
下面我们来举个例子说明一下,如何编写同时发生的程序。例如,我们现在编写一个电梯控制系统,假设酒店一共有十层,配有三个电梯,那么我们将每一层楼、每一个电梯都用一个程序来模拟。对于每一个电梯而言,它只知道自己的运行状况,对其他电梯的运行状况一概不知。这时候如果你想要去8层,你只需要向这三个电梯询问它们到达8层所需的时间,并且从三个电梯的反馈中找出时间最少的一个就好了,就是这么简单。并行计算的优势在于,你“几乎不需要动脑筋”,你只需要模拟现实世界就好了。针对电梯和楼层的这些程序分布在不同的核当中,这些核应该足够快。通过手动模拟来观察不同的核分布对于程序运行效率的影响,在一个核和10个核的电脑上运行,速度肯定是不同的,如果这个电脑上有100个核,那么不用对程序进行任何的改进,效率就可以提升75%。
这里就体现了并行计算的简易性,下面我要强调的是,并行计算能够解决高耦合的问题。当你发出一条信息,这条信息在不同的核之间处理、传递,假设这些核分布在不同的计算机啊,这些计算机部署在不同的国家,有可能有的在地球上、有的在火星。这些计算机本身的编程方式是不同的,但是以相同的传输协议进行信息的传送,那么在这种情况下我们更需要一种统一的编程模式来对这些计算机进行统一。
而且还有一个问题,这些电脑如果有一个发生故障怎么办?对于发生故障的概率,我做了如下的计算:
最后,我希望能够帮助大家学习Erlang语言,因此我有一些非常好的读本想要推荐给开发者
非常开心能够和大家进行今天的分享,具体ppt可以参见下载链接。
更多精彩内容,请关注图文直播专题: SDCC 2016中国软件开发者大会 ,微博:@CSDN,订阅CSDN官方微信公众号(ID:CSDNnews),即时获取大会动态。
以上所述就是小编给大家介绍的《【MDCC 2016】Erlang之父Joe Armstrong:如何设计高可靠的分布式并行系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- TensorFlow分布式计算机制解读:以数据并行为重
- PyTorch如何加速数据并行训练?分布式秘籍大揭秘
- 【MDCC 2016】Erlang之父Joe Armstrong:如何设计高可靠的分布式并行系统
- PyTorch 1.4最新版放出:支持Python2的最后一版,支持分布式模型并行、Java程序、移动端等多项新功能
- sqltoy-orm-4.17.6 发版,支持 Greenplum、并行查询可设置并行数量
- PostgreSQL并行查询介绍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高等应用数学问题的MATLAB求解
薛定宇、陈阳泉 / 清华大学出版社 / 2008-10 / 49.00元
薛定宇和陈阳泉编著的《高等应用数学问题的MATLAB求解》首先介绍了MATLAB语言程序设计的基本内容,在此基础上系统介绍了各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题的计算机求解、积分变换和复变函数问题、非线性方程与最优化问题、常微分方程与偏微分方程问题、数据插值与函数逼近问题、概率论与数理统计问题的解析解和数值解法等,还介绍了较新的非传统方法,如模糊逻辑与模糊推理、......一起来看看 《高等应用数学问题的MATLAB求解》 这本书的介绍吧!