| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Paxos 诞生的曲折历史 -> 正文阅读 |
|
[人工智能]Paxos 诞生的曲折历史 |
学习之余跟大家分享一些趣事,也是我刚刚吃到的瓜。因为我们有一门课叫分布式,老师布置了几个课题,让我们写相关的作业。然后恰好我就选择了Paxos算法。然后我发现他这段诞生历史实在是太有趣了,马上把它讲出来,跟大家分享一下。 Paxos理论一波三折的诞生过程,后来也成为了计算机科学领域被广泛流传的学术趣事。 在1990年,Lamport提出了一个理论上的一致性解决方案。因为之前“拜占廷将军问题”,使用生动的故事取得了良好的反响,因此这次Lamport 同样设想出了一个场景来描述这种一致性算法需要解决的问题: 在这个论文中,Lamport 压根没有说Paxos 小岛是虚构出来的,而是煞有介事的说是考古工作者发现了Paxos议会事务的手稿,从这些手稿猜测 Paxos 人开展议会的方法。因此,在这个论文中,Lamport 从问题的提出到算法的推演论证,通篇贯穿了对Paxos议会历史的描述。 Lamport在1990年写完论文The Part-Time Parliament,就直接将其投给了ACM Transactions on Computer Systems(TOCS)。 但是由于 Lamport使用的讲故事的方法描述其算法,导致当时委员会的工作人员并没看懂他要表述什么,那时的编辑Ken Birman建议 Lamport使用严谨的数学方式来描述该算法。 但是Lamport 作为一个很有个性的大佬,拒绝了这个提议。并且在后来的回忆录中Lamport还吐槽这群人没有幽默感。 不止是投稿,Lamport还将论文发给其业界大佬阅读,比如Nancy Lynch、Vassos Hadzilacos、Phil Bernstein等人。这些人声称已经读完论文。 但是大概两个月后,Lamport给他们发了封邮件,询问他们“能不能实现一个分布式数据库,可以在任意数目的进程出错的情况下仍旧能保持一致性,同时当半数以上进程恢复正常时该系统也能够恢复正常?” 不幸的是这些人都没意识到这个问题和之前Lamport发给他们的论文有什么关联。 直到1996年,另一位图灵奖获得者Butler Lampson看到了这篇论文,并在How to Build a Highly Availability System Using Consensus中对其进行描述。Butler Lampson在WDAG96上提出了重新审视这篇分布式论文的建议,在次年的WDAG97上,麻省理工学院的Nancy Lynch也公布了其根据Lamport的原文重新修改后的Revisiting the Paxos Algorithm,“帮助”Lamport用数学的形式化术语定义并证明了Paxos算法。 这个时候Lamport想是时候重新发表这篇论文了!但是他还是不想改,于是找了Keith Marzullo做注释,声称这是从某处翻出来的旧手稿。Ken Birman也同意了,于是Lamport这篇论文就成了Keith Marzullo做注的“手稿”。 Keith Marzullo的注释:
于是在1998年的ACMTOCS上,这篇延迟了9年的论文终于被接受了,也标志着Paxos算法正式被计算机科学接受并开始影响更多的工程师解决分布式一致性问题。 后来在2001年,Lamport本人也做出了让步,使用了通俗易懂的语言重新讲述了原文,并发表了Paxos Made Simple——当然,Lamport甚为固执地认为他自己的表述语言没有歧义,并且也足够让人明白Paxos算法,因此不需要数学来协助描述,于是整篇文章还是没有任何数学符号。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:36:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |