Resources for Distributed Computing
People
People working on the Theory of Distributed Computing
- Leslie Lamport
- Butler W. Lampson
- Barbara Liskov
- Hagit Attiya
- Nancy A. Lynch
- James Aspnes
- Maurice Herlihy
- Nir Shavit @MIT
- Sam Toueg @ DBLP
- JOSEPH Y. HALPERN
- Marcos K. Aguilera @ Microsoft Research
- Idit Keidar
- Gadi Taubenfeld @ DBLP
- Jennifer Lundelius Welch @ Texas A&M University
- Sergio Rajsbaum; Sergio Rajsbaum
- Michel Raynal; Michel Raynal @ DBLP *Carole Delporte-Gallet @ DBLP
- Wojciech M. Golab @ DBLP
People working on the Theory of Multiprocessor Programming
-
Victor Luchangco @ Oracle Labs
Victor Luchangco works in the Scalable Synchronization Group of Oracle Labs. His research focuses on developing algorithms and mechanisms to support concurrent programming on large-scale distributed systems.
-
Moir's main research interests concern practical and theoretical aspects of concurrent, distributed, and real-time systems, particularly hardware and software support for programming constructs that facilitate scalable synchronization in shared memory multiprocessors.
Sarita V. Adve lots on memory models
People working on the Theory of Distributed Systems
People working on Real Large-scale Distributed Systems
- Brian F. Cooper > I am a software engineer at Google. Before that, I was a principal research scientist at Yahoo! Research. Before that I was an assistant professor at Georgia Tech, and before that I was a PhD student at Stanford.
Groups
- Theory of Distributed Systems (TDS) Group (Nancy A. Lynch)
- Idit Keidar's Research Group
- Google Research Group
- Yahoo! Labs
SIG
Conferences (at DBLP)
General Theory of Computer Science
FCRC'15 Federated Computing Research Conference FCRC 2015 assembles a spectrum of affiliated research conferences and workshops into a week long coordinated meeting held at a common time in a common place.
;
FOCS;
STOC;
SODA;
MFCS Mathematical Foundations of Computer Science
;
Distributed Computing and Concurrency Theory
PODC;
DISC;
ICDCS;
OPODIS;
SRDS
ICDCN
Programming Languages
Systems
Keywords at DBLP
weighted automata; replicated transactional;
Geometric Automata;
probabilistic quorum;
geometry concurrency
Journals
- Journal of the ACM (JACM); JACM in DBLP
- Distributed Computing (DC); DC in DBLP
- ACM Transactions on Computer Systems (TOCS); TOCS in DBLP
- The VLDB Journal
- SIAM Journal on Computing (SICOMP); SICOMP in DBLP
Workshops
- Dagstuhl Seminar 13081 – Consistency in Distributed Systems
PaPoC 2015 - Workshop on Principles and Practice of Consistency for Distributed Data
-
Epidemic Algorithms and Processes: From Theory to Applications
January 20 – 25 , 2013, Dagstuhl Seminar 13042
-
Lower Bounds for Distributed Computing (09w5114)
This workshop will bring together experts in the field (and some exceptional graduate students and postdocs) to discuss fundamental distributed computing problems whose computational complexities have not been resolved and the limitations of current techniques for obtaining lower bounds for these problems.
FuDiCo: Future Directions in Distributed Computing 2004; FuDiCo @ DBLP'2003
Magazines
- Bulletin of EATCS (European Association for Theoretical Computer Science)
- Distributed Computing Column of Bulletin of EATCS
- Concurrency Column of Bulletin of EATCS
Prizes
- The Edsger W. Dijkstra Prize in Distributed Computing
- The Donald E. Knuth Prize for outstanding contributions to the foundations of computer science
-
The Godel Prize for outstanding papers in the area of theoretical computer science
-
2004 Godel Prize
The discovery of the topological nature of distributed computing provides a new perspective on the area and represents one of the most striking examples, possibly in all of applied mathematics, of the use of topological structures to quantify natural computational phenomena.
-
2000 Godel Prize: Moshe Vardi and Pierre Wolper
Reasoning about infinite computations: This paper is a reworking and extension of a conference contribution of FOCS'83, which has become a major reference in the automata-theoretic approach to temporal logic.
-
1997 Godel Prize: Joseph Halpern and Yoram Moses
The Halpern-Moses paper provided a new and effective way of reasoning about distributed systems, providing rigorous and powerful new techniques based on epistemic logic.
-
2004 Godel Prize
- Best Paper Award (by Jeff Huang)
Courses & Paper Reading Lists
- Distributed Algorithms (by Nancy A. Lynch)
- Synthesis Lectures on Distributed Computing Theory by Nancy A. Lynch
- Distributed Algorithms: New Topics and Techniques (by Nancy A Lynch, Keren Censor)
- CSCE 668: Distributed Algorithms and Systems @ Fall 2011 (By Welch)
- CSCE 668: Lecture notes (ppt)
-
ETH: Principles of Distributed Computing
This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing.
-
6.824: Distributed Systems @ MIT
It will present abstractions and implementation techniques for engineering distributed systems. Topics include multithreading, remote procedure call, client/server designs, peer-to-peer designs, consistency, fault tolerance, and security, as well as several case studies of distributed systems.
6.852/18.437 Fall 2009 Distributed Algorithms @ MIT by Nancy Ann Lynch
Distributed Algorithms for Mobile Wireless Ad Hoc Networks (by Fabian Daniel Kuhn, Nancy A Lynch)
- Distributed Algorithms B (by Hagit Attiya)
- ECE 526 Distributed Algorithms @ UIUC Spring 2013
- ECE 526 Lectures
- Seminar in Distributed Algorithms: Designing correct concurrent algorithms (by Hagit Attiya)
- Distributed Computing with Notes on Theory of Distributed Systems (by James Aspnes) 2011
- Topics in Reliable Distributed Computing (by Idit Keidar)
- Distributed Systems @ WISC
- Principles of Computer Systems @ MIT (by Butler Lampson)
-
CS 371D Distributed Computing @ UTEXAS (by Lorenzo Alvisi)
The Lecture Notes (ppt) is elegant.
Topics will include the majority (we are going to shoot for all and see what happens) of the following: Global states and event ordering; Logical clocks; Vector clocks; Consistent cuts and global property detection; Rollback-recovery and message-logging protocols; State machine approach; Agreement protocols; Failure detectors; Replication and consistency; Byzantine fault tolerance; Atomic Commit COMP 660L: Topics in Computer and Communication Networks: Cloud Computing
-
This course studies the organization of cloud computing systems and survey research problems in this area.
-
15-799 :: Advanced Topics in Database Systems Fall 2013
Big Ideas. Big Money. Big Data.
-
Paper reading list of Cornell Fact Sheet
The primary emphasis is on operating systems and distributed systems. A secondary emphasis is on protocol implementation and next-generation network protocols. The focus when covering these topics is the extent to which they impact end-system design and implementation.
- Randomized Algorithms 2013 (by James Aspnes)
- Algorithms (by James Aspnes)
- Algorithms Quals @ UIUC
- CS294-17: Reading the Classics @ MIT by Christos H. Papadimitriou
-
INF346: Foundations of Distributed Systems
Lecture notes: Robust Concurrent Computing
It also provides a list of papers to read. -
CPS 212: Distributed Information Systems@Duke University
CPS 212 is a graduate-level course dealing with techniques for storing and sharing information in computer networks, large and small. We will cover a range of core distributed systems topics, with an emphasis on the issues faced by networked utility services, scalable Internet services, and enterprise storage systems.
-
Distributed Storage Systems@Stanford CS240d
This class will examine file system implementation, low-level database storage techniques, and distributed programming. Lectures will cover basic file system structures, journaling and logging, I/O system performance, RAID, the RPC abstraction, and numerous systems illustrating these concepts.
-
CS 6464: Spring 2009 Advanced Distributed Storage Systems@Cornell University
This course broadly examines distributed storage systems in its many manifestations. It explores how to harness and maintain the collective storage capabilities in storage systems from global-scale enterprises and cloud computing to peer-to-peer, ad hoc, and home networks.
Video lecture of CSCI 1760 - FALL 2012: The Art of Multiprocessor Programming
Computer Science Ph.D. Thesis
Tools
Blogs
English
- SYSLOG: the Cambridge System Research Group???s blog
-
All Things Distributed
Werner Vogels' weblog on building scalable and robust distributed systems.
- Paper Trail: Wading through academic treacle
- Perspectives: James Hamilton's Blog
- CSE 708 Seminar on Distributed Systems and Distributed Computing
-
Umbrant by Andrew Wang
My name is Andrew Wang. I'm a software engineer at Cloudera on the HDFS team.
-
Metadata by Murat
I am a computer science and engineering professor at SUNY Buffalo. I work on distributed and networked systems and fault-tolerance.
- High Scalability: Building bigger, faster, more reliable websits
- Operational Dynamics on Storage
- Riak on Distributed Storage
- The Fallacies of Distributed Computing Reborn: The Cloud Era
Chinese
- Taobao blog
-
ImportNew
Info;Android;Architecture
- Classic Papers in Distributed Systems
- DataScientist: BigData, Database, Data Mining, Machine Learning, Data Science
Other Articles
Videos
- Fulbright Distinguished Chair Lecture: Prof. Maurice Herlihy
- Combinatorial Topology and Distributed Computing (01): Prof. Maurice Herlihy
From Leslie Lamport
- What is Computation: Dr. Leslie Lamport, Microsoft
-
Thinking Above the Code
Architects draw detailed blueprints before a brick is laid or a nail is hammered. Programmers and software engineers seldom do. A blueprint for software is called a specification. The need for extremely rigorous specifications before coding complex or critical systems should be obvious—especially for concurrent and distributed systems. This talk explains why some sort of specification should be written for any software.
Books
- Synthesis Lectures on Distributed Computing Theory > Synthesis Lectures on Distributed Computing Theory is edited by Jennifer Welch of Texas A&M University and Nancy Lynch of the Massachusetts Institute of Technology. The series publishes 50- to 150-page publications on topics pertaining to distributed computing theory. The scope largely follows the purview of premier information and computer science conferences, such as ACM PODC, DISC, SPAA, OPODIS, CONCUR, DialM-POMC, ICDCS, SODA, Sirocco, SSS, and related conferences. Potential topics include, but not are limited to: distributed algorithms and lower bounds, algorithm design methods, formal modeling and verification of distributed algorithms, and concurrent data structures.