分布式领域图灵奖牛人Barbara Liskov
维基介绍,英文原文链接https://en.wikipedia.org/wiki/Barbara_Liskov
Barbara Liskov教授,就职于MIT,是美国杰出的计算机科学家,是美国第一位获得计算机科学Ph.D.的女性。1939年出生于加州洛杉矶,1961年在Berkeley获得数学学士学位,1968年在Standford获得计算机博士学位,师从著名的人工智能领域大师John McCathy。
19世纪70年代期间,她发明和研究CLU编程语言,它是一种基于对象(Object-based)的能力,提供抽象数据类型(Abstract data type)、共享式调用(Call by Sharing)、迭代器(Iterators)、多返回值(Multiple return value)、类型安全参数(Type safe parameters )、类型安全变量(Type safevariant)、支持类的构造器和方法,但不支持继承。
19世纪80年代期间,发明和研究Argus编程语言,它是CLU编程语言的扩展,可以更好的支持分布式程序,提供封装和原子操作;1987年,在一个重要会议的Keynote中,提出了著名的里氏替换原则(Liskov substitutionprinciple),其核心思路是“Inheritance should ensure that anyproperty proved about supertype objects also holds for subtype objects.”,也就是说“继承必须确保超类所拥有的性质在子类中仍然成立”,更通俗的描述就是“老鼠的儿子会打洞”。
1988年,发表了分布式领域关键里程碑的论文Viewstamped Replication(简称VR): A General Primary Copy,该论文给出了分布式系统复制的理论和工程实现的详细分析和设计,足以支撑产品级实现。该论文基于Fail-Stop故障模式(故障之后停止工作),实现2F+1的容错能力(2F+1个副本,可以容忍F个副本故障);相比较于PAXOS论文,它更加的简单直接、容易理解,但是和PAXOS相比VR并没提供完备的选主(Leader Select)功能,它被后续的复制协议广泛参考引用,比如RAFT。
19世纪90年代,Liskov教授进一步深入研究分布式系统,1999年发表了Practical Byzantine Fault Tolerance(简称BFT),它基于Byzatine-Fail故障模式(故障之后不是停止工作,而会以捣乱的方式继续运行,可能发送正确或错误的消息,极大地影响系统的正确运行),实现3F+1的容错能力(3F+1个副本,可以容忍F个副本故障);它是VR的改进版本,也是很多工程实现的参考。
20世纪以后,Liskov教授继续在分布式网络里面研究,比如P2P网络、DHT等技术,2008年因为在编程语言、分布式领域的卓越共享,Barbara Liskov教授获得了Turing奖。
Barbara Liskov教授研究成果(http://dblp.uni-trier.de/pers/hd/l/Liskov:Barbara.html):
2016
[Name]Type-awaretransactions for faster concurrent code. EuroSys 2016: 31:1-31:16
[Name]Accepting blamefor safe tunneled exceptions. PLDI 2016: 281-295
2015
[Name]Lightweight,flexible object-oriented generics. PLDI 2015: 436-445
[Name]Perspectives onsystem languages and abstraction. SOSP History Day 2015: 5:1-5:25
2014
[Name]Fast Databaseswith Fast Durability and Recovery Through Multicore Parallelism. OSDI 2014:465-477
[Name]A Modular andEfficient Past StateSystem for BerkeleyDB. USENIX Annual Technical Conference 2014: 157-168
2013
[Name]IFDB:decentralized information flow control for databases. EuroSys 2013: 43-56
[Name]Speedytransactions in multicore in-memory databases. SOSP 2013: 18-32
2012
[Name]AutomaticReconfiguration for Large-Scale Reliable Storage Systems. IEEE Trans.Dependable Sec. Comput. 9(2): 145-158 (2012)
[Name]ProgrammingLanguages - Past Achievements and Future Challenges. ACM-TURING 2012: 12:1
[Name]Keynotepresentation: Programming the turing machine. HILT 2012: 23-24
[Name]Abstractions forUsable Information Flow Control in Aeolus. USENIX Annual Technical Conference2012: 139-151
[Name]Granola:Low-Overhead Distributed Transaction Coordination. USENIX Annual TechnicalConference 2012: 223-235
2010
[Name]MPSS: Mobile Proactive SecretSharing. ACM Trans. Inf. Syst. Secur. 13(4): 34:1-34:32 (2010)
[Name]TransactionalConsistency and Automatic Management in an Application Data Cache. OSDI 2010:279-292
[Name]From ViewstampedReplication to Byzantine Fault Tolerance. Replication 2010: 121-149
[Name]The Power ofAbstraction - (Invited Lecture Abstract). DISC 2010: 3
2009
[Name]Full-InformationLookups for Peer-to-Peer Overlays. IEEE Trans. Parallel Distrib. Syst. 20(9):1339-1351 (2009)
[Name]ToleratingLatency in Replicated State Machines Through Client Speculation. NSDI 2009:245-260
[Name]Census:Location-Aware Membership Management for Large-Scale Distributed Systems.USENIX Annual Technical Conference 2009
2008
[Name]Mobile proactivesecret sharing. PODC 2008: 458
2007
[Name]Greedy VirtualCoordinates for Geographic Routing. ICNP 2007: 71-80
[Name]Toleratingbyzantine faults in transaction processing systems using commit barrierscheduling. SOSP 2007: 59-72
[Name]MapJAX: DataStructure Abstractions for Asynchronous Web Applications. USENIX AnnualTechnical Conference 2007: 101-114
2006
[Name]EpiChord:Parallelizing the Chord lookup algorithm with reactive routing statemanagement. Computer Communications 29(9): 1243-1259 (2006)
[Name]Modular SoftwareUpgrades for Distributed Systems. ECOOP 2006: 452-476
[Name]Tolerating Byzantine Faulty Clients in aQuorum System. ICDCS 2006: 34
[Name]GeographicRouting Without Planarization. NSDI 2006
[Name]HQ Replication:A Hybrid Quorum Protocol for Byzantine Fault Tolerance. OSDI 2006: 177-190
2005
[Name]Path Vector FaceRouting: Geographic Routing with Local Face Information. ICNP 2005: 147-158
[Name]HighAvailability in DHTs: Erasure Coding vs. Replication. IPTPS 2005: 226-239
[Name]ByzantineClients Rendered Harmless. DISC 2005: 487-489
2004
[Name]EpiChord:parallelizing the chord lookup algorithm with reactive routing statemanagement. ICON 2004: 270-276
[Name]EfficientRouting for Peer-to-Peer Overlays. NSDI 2004: 113-126
[Name]TimeLine: A HighPerformance Archive for a Distributed Object Store. NSDI 2004: 351-364
[Name]Briefannouncement: reconfigurable byzantine-fault-tolerant atomic memory. PODC 2004:386
[Name]Transactionalfile systems can be fast. ACM SIGOPS European Workshop 2004: 5
2003
[Name]BASE: Usingabstraction to improve fault tolerance. ACM Trans. Comput. Syst. 21(3): 236-269(2003)
[Name]One Hop Lookupsfor Peer-to-Peer Overlays. HotOS 2003: 7-12
[Name]Scheduling andSimulation: How to Upgrade Distributed Systems. HotOS 2003: 43-48
[Name]Lazy modularupgrades in persistent object stores. OOPSLA 2003: 403-417
[Name]Ownership typesfor object encapsulation. POPL 2003: 213-223
2002
[Name]Practicalbyzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst.20(4): 398-461 (2002)
[Name]The design of arobust peer-to-peer system. ACM SIGOPS European Workshop 2002: 117-124
2001
#
[Name]ProgramDevelopment in Java - Abstraction, Specification, and Object-Oriented Design.Addison-Wesley 2001, ISBN 978-0-201-65768-5, pp. I-XIX, 1-443
[Name]Byzantine FaultTolerance Can Be Fast. DSN 2001: 513-518
[Name]UsingAbstraction To Improve Fault Tolerance. HotOS 2001: 27-32
[Name]BASE: UsingAbstraction to Improve Fault Tolerance. SOSP 2001: 15-28
2000
[Name]Protectingprivacy using the decentralized label model. ACM Trans. Softw.Eng.Methodol.9(4): 410-442 (2000)
[Name]GeneralizedIsolation Level Definitions. ICDE 2000: 67-78
[Name]ProactiveRecovery in a Byzantine-Fault-Tolerant System. OSDI 2000: 273-288
1999
[Name]ProvidingPersistent Objects in Distributed Systems. ECOOP 1999: 230-257
[Name]PracticalByzantine Fault Tolerance. OSDI 1999: 173-186
1998
[Name]Complete, SafeInformation Flow with Decentralized Labels. IEEE Symposium on Security andPrivacy 1998: 186-197
1997
[Name]CollectingCyclic Distributed Garbage by Controlled Migration. Distributed Computing10(2): 79-86 (1997)
[Name]FragmentReconstruction: Providing Global Cache Coherence in a Transactional StorageSystem. ICDCS 1997: 2-11
[Name]Lazy ConsistencyUsing Loosely Synchronized Clocks. PODC 1997: 73-82
[Name]CollectingDistributed Garbage Cycles by Back Tracing. PODC 1997: 239-248
[Name]ParameterizedTypes for Java. POPL 1997: 132-145
[Name]PartitionedGarbage Collection of Large Object Store. SIGMOD Conference 1997: 313-323
[Name]HAC: HybridAdaptive Caching for Distributed Storage Systems. SOSP 1997: 102-115
[Name]A DecentralizedModel for Information Flow Control. SOSP 1997: 129-142
1996
[Name]Type-SafeHeterogeneous Sharing can be Fast. POS 1996: 1-10
[Name]FragmentReconstruction: A New Cache Coherence Scheme for Split Caching Storage Systems. POS 1996:128-139
[Name]Safe andEfficient Sharing of Persistent Objects in Thor. SIGMOD Conference 1996:318-329
[Name]How to scaletransactional storage systems. ACM SIGOPS European Workshop 1996: 121-127
1995
[Name]Subtypes vs.Where Clauses: Constraining Parametric Polymorphism. OOPSLA 1995: 156-168
[Name]CollectingCyclic Distributed Garbage Using Heuristics to Control Migration. PODC 1995:57-63
[Name]EfficientOptimistic Concurrency Control Using Loosely Synchronized Clocks. SIGMODConference 1995: 23-34
[Name]Using a ModifiedObject Buffer to Improve the Write Performance of an Object-Oriented Database.SOSP 1995: 235
[Name]Specificationsand Their Use in Defining Subtypes. ZUM 1995: 245-263
1994
[Name]A BehavioralNotion of Subtyping. ACM Trans. Program. Lang. Syst. 16(6): 1811-1841 (1994)
[Name]Reducing CrossDomain Call Overhead using Batched Futures. OOPSLA 1994: 341-354
[Name]Fault-TolerantDistributed Garbage Collection in a Client-Server Object-Oriented Database.PDIS 1994: 239-248
[Name]DisconnectedOperation in the Thor Object-Oriented Database System. WMCSA 1994: 51-56
1993
[Name]Practical Usesof Synchronized Clocks in Distributed Systems. Distributed Computing 6(4):211-219 (1993)
[Name]References toRemote Mobile Objects in Thor. LOPLAS 2(1-4):115-126 (1993)
[Name]A New Definitionof the Subtype Relation. ECOOP 1993: 118-141
[Name]A History ofCLU. HOPL Preprints 1993: 133-147
[Name]Specificationsand Their Use in Defining Subtypes. OOPSLA 1993: 16-28
[Name]Proceedings ofthe Fourteenth ACM Symposium on Operating System Principles, SOSP 1993, TheGrove Park Inn and Country Club, Asheville, North Carolina, USA, December 5-8,1993. ACM 1993, ISBN 0-89791-632-8 [contents]
1992
[Name]Providing HighAvailability Using Lazy Replication. ACM Trans. Comput. Syst. 10(4): 360-391(1992)
[Name]GarbageCollection of a Distributed Heap. ICDCS 1992: 708-715
[Name]DistributedObject Management in Thor. IWDOM 1992: 79-91
[Name]EfficientRecovery in Harp. Workshop on the Management of Replicated Data 1992: 104-106
1991
[Name]LazyReplication: Exploiting the Semantics of Distributed Services (ExtendedAbstract). Operating Systems Review 25(1): 49-55 (1991)
[Name]A ReplicatedUnic File System. Operating Systems Review 25(1): 60-64 (1991)
[Name]EfficientAt-Most-Once Messages Based on Synchronized Clocks. ACM Trans. Comput. Syst.9(2): 125-142 (1991)
[Name]Practical Usesof Synchronized Clocks in Distributed Systems. PODC 1991: 1-9
[Name]Replication inthe Harp File System. SOSP 1991: 226-238
1990
[Name]LazyReplication: Exploiting the Semantics of Distributed Services. PODC 1990: 43-57
[Name]SystemImplementation I - Introduction. POS 1990: 87-88
[Name]A HighlyAvailable Object Repository for Use in a Heterogeneous Distributed System. POS1990: 255-266
[Name]EfficientAt-Most-Once Messages Based on Synchronized Clocks. SIGCOMM 1990: 41-49
[Name]Lazyreplication: exploiting the semantics of distributed services. ACM SIGOPSEuropean Workshop 1990
[Name]A replicatedUnix file system. ACM SIGOPS European Workshop 1990
[Name]A ReplicatedUnix File System. Workshop on the Management of Replicated Data 1990: 11-14
[Name]LazyReplication: Exploiting the Semantics of Distributed Services. Workshop on theManagement of Replicated Data 1990: 31-34
1989
[Name]A design for afault-tolerant, distributed implementation of Linda. FTCS 1989: 199-206
[Name]Atomic GarbageCollection: Managing a Stable Heap. SIGMOD Conference 1989: 15-25
1988
[Name]A Technique forConstructing Highly Available Services. Algorithmica 3: 393-420 (1988)
[Name]DistributedProgramming in Argus. Commun. ACM 31(3): 300-312 (1988)
[Name]Promises:Linguistic Support for Efficient Asynchronous Procedure Calls in DistributedSystems. PLDI 1988: 260-267
[Name]ViewstampedReplication: A General Primary Copy. PODC 1988: 8-17
1987
[Name]Implementationof Argus. SOSP 1987: 111-122
1986
[Name]Specificationsof Distributed Programs. Distributed Computing 1(2): 102-118 (1986)
[Name]Argus.Fault-Tolerant Distributed Computing 1986: 108-114
[Name]Highly-AvailableDistributed Service and Fault-Tolerant Distributed Garbage Collection. PODC1986: 29-39
[Name]Limitations ofSynchronous Communication with Static Process Structure in Languages forDistributed Computing. POPL 1986: 150-159
1985
[Name]Implementationof Resilient, Atomic Data Types. ACM Trans. Program. Lang. Syst. 7(2): 244-269(1985)
[Name]Reliable ObjectStorage to Support Atomic Actions. SOSP 1985: 147-159
[Name]DistributedSystems: Methods and Tools for Specification, An Advanced Course, April 3-12,1984 and April 16-25, 1985 Munich.Lecture Notes in Computer Science 190, Springer 1985, ISBN 3-540-15216-4[contents]
1984
[Name]Programminglanguage issues for the 1980's: SIGPLAN '83: symposium on programming languagesissues in software systems. SIGPLAN Notices 19(8): 51-61 (1984)
[Name]The ArgusLanguage and System. Advanced Course: Distributed Systems 1984: 343-430
1983
[Name]Specificationand implementation of resilient, atomic data types. SIGPLAN Notices 18(6):53-64 (1983)
[Name]Guardians andActions: Linguistic Support for Robust, Distributed Programs. ACM Trans.Program. Lang. Syst. 5(3): 381-404 (1983)
[Name]Issues Processand Communication Structure for Distributed Programs. Symposium on Reliabilityin Distributed Software and Database Systems 1983: 123-132
1982
[Name]A ValueTransmission Method for Abstract Data Types. ACM Trans. Program. Lang. Syst.4(4): 527-551 (1982)
[Name]On LinguisticSupport for Distributed Programs. IEEE Trans. SoftwareEng.8(3): 203-210(1982)
[Name]Guardians andActions: Linguistic Support for Robust, Distributed Programs. POPL 1982: 7-19
1981
[Name]CLU ReferenceManual. Lecture Notes in Computer Science 114, Springer 1981, ISBN3-540-10836-X
[Name]Report on theWorkshop on Fundamental Issues in Distributed Computing, Fallbrook, California,December 1980. Operating Systems Review 15(3): 9-38 (1981)
1979
[Name]ExceptionHandling in CLU. IEEE Trans. SoftwareEng.5(6): 546-558 (1979)
[Name]Modular ProgramConstruction Using Abstractions. Abstract Software Specifications 1979: 354-389
[Name]Primitives forDistributed Computing. SOSP 1979: 33-42
1978
[Name]A LanguageExtension for Expressing Constraints on Data Access. Commun. ACM 21(5): 358-367(1978)
[Name]Aspects OfImplementing CLU. ACM Annual Conference (1) 1978: 123-129
[Name]Crossfertilization Of DBMS Research With Other Disciplines OfComputer Science (Panel Discussion). ACM Annual Conference (1) 1978: 325
1977
[Name]AbstractionMechanisms in CLU. Commun. ACM 20(8): 564-576 (1977)
1976
[Name]A LanguageExtension for Controlling Access to Shared Data. IEEE Trans. SoftwareEng.2(4): 277-285(1976)
[Name]A LanguageExtension for Controlling Access to Shared Data (Abstract). ICSE 1976: 235
1975
[Name]SpecificationTechniques for Data Abstractions. IEEE Trans. SoftwareEng.1(1): 7-19(1975)
[Name]Data types andprogram correctness. AFIPS National Computer Conference 1975: 285-286
1974
[Name]Programming withAbstract Data Types. SIGPLAN Notices 9(4): 50-59 (1974)
1972
[Name]The Design ofthe Venus Operating System. Commun. ACM 15(3): 144-149 (1972)
[Name]A designmethodology for reliable software systems. AFIPS Fall Joint ComputingConference (1) 1972: 191-199
1971
[Name]The Design ofthe Venus Operating System. SOSP 1971: 11-16