Skip to main content

Cloud Computing - Distributed Computing Products


Assignment 

Describe the consensus/consistency algorithms (along with safety and liveness properties) used in the following cloud services/products ?


Cassandra 2.0 : Paxos

http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0


ZooKeeper : Variant of Multi-paxos

https://zookeeper.apache.org/doc/r3.1.2/zookeeperInternals.html
https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab1.0
https://distributedalgorithm.wordpress.com/2015/06/20/architecture-of-zab-zookeeper-atomic-broadcast-protocol/
https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos


Google Spanner : Paxos
http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
http://research.google.com/archive/spanner.html

Google Chubby : Paxos
http://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf

Facebook HydraBase : RAFT

https://raft.github.io/
https://raft.github.io/raft.pdf
https://github.com/tlaplus/DrTLAPlus/blob/master/Raft/Raft.pdf


DynamoDB
https://www.quora.com/Why-use-Vector-Clocks-in-a-distributed-database
http://the-paper-trail.org/blog/consistency-and-availability-in-amazons-dynamo/
http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

Amazon S3
http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel

Quora
https://www.quora.com/How-does-two-phase-commit-recover-from-a-participants-failure
https://www.quora.com/Why-use-Vector-Clocks-in-a-distributed-database

CAP Theorem
http://dbmsmusings.blogspot.in/2010/04/problems-with-cap-and-yahoos-little.html

NPTEL lecture on 2PC and 3PC, Leader Election Algorithms
https://www.youtube.com/watch?v=Qab0d7rwWhI

Paxos Literature
https://understandingpaxos.wordpress.com/about-the-author/

Source Code
http://mpitutorial.com/tutorials/
https://github.com/cocagne/python-composable-paxos
https://github.com/baversjo/two-phase-commit
https://github.com/giorgiosironi/erlang-2pc

MSR
https://github.com/tlaplus/DrTLAPlus

Troubleshooting
http://stackoverflow.com/questions/35704637/mpirun-not-enough-slots-available

Comments

Popular posts from this blog

Attendance Management System - An IOT approach

In the course of Software for Embedded Systems, we chose to implement Attendance Management System using embedded devices like RFID Reader, GSM Module and Raspberry Pi as our development board. Even before entering into BITS Pilani, I had wished to work with Raspberry Pi. It always intrigued me on how to work with these embedded devices. Didn't get enough encouragement while in the job to carry out experiments of my own. Coming back to the project, the components used for developing the systems are as follows : Hardware Raspberry Pi GSM Module RFID Reader LED Screen Software Django Web Framework MySQL Database (in production) SQLite Database (in development) Bootstrap 3 Frontend Framework The happy path of the system was as below : Each student is given a RFID card Student exists in our software along with the mapping of RFID card number with the student ID Student taps the card in each class to mark his presence in the class System reads the unique nu...