A Blast From the PAST!

Those who cannot remember the past are condemned to repeat it.

Santayana, The Life of Reason, 1905 

Text

Yvonne Coady 

from the "other" rock!

Distributed systems... 

 

 

"A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable."

 

 

Leslie Lamport 

ACM Turing Award 2013

Paxos (submitted in 1990, published in 1998)

Paxos

 

  • consistency, especially when things are flaking out?  
    • trying to make it fun 
    • Paxos, set in an ancient parliament on a Greek island!
    • a few lectures and Indian-Jones style...
    • were people getting it?
      • "Can you implement a distributed database that can tolerate the failure of any number of its processes (possibly all of them) without losing consistency, and that will resume normal behaviour when more than half the processes are again working properly?"

         

      • No one caught the connection!

HOPE!

  • The 80s were fun but ancient...
    • Paxos
    • Systems programming in C

 

  • NOW!
    • Raft!
    • Systems programming in RUST!

A long long time ago...

Programming languages for Distributed Computing Systems 

 [Bal, Steiner, and Tanenbaum. 1989]

"Researchers all over the world began designing new programming languages specifically for implementing distributed applications."

  • parallelism
  • communication
  • partial failures

nearly 100 distributed languages overviewed!

 

... but where are they NOW?

 

 

the 80s were bombdigity!

communication: messages! (1)

communication: messages! (2)

communication: messages! (3)

communication: messages! (4)

communication: messages! (*)

but wait there's more!

and speaking of failures...

barriers to adoption?

  • timing?  ivory tower?  (lack of) mechanical sympathy?
  • runtime overheads
    • abstractions are "in the way"
  • learning curves don't pay off
    • lack of standard libraries, package repositories
    • a subset of problems addressed, but not others
      • concurrency, communication and failures still error prone
  • no killer apps?
  • no real community
    • when a tree falls in the forest...

take on challenge problems!

a strong community will make a difference!

Made with Slides.com