Page 1
. . . . . .
MotivationImplementation
EvaluationConclusions
.
.
. ..
.
.
Lock Service with Paxos
Presenter: Emmanouil DimogerontakisTeammate: Muhammet OrazovSupervisor: Johan Montelius
CC© BY:© C©
EMDC KTH
December 5, 2012
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 1/19
Page 2
. . . . . .
MotivationImplementation
EvaluationConclusions
.. .1 Motivation
.. .2 Implementation
ArchitectureFault Tolerance & Optimizations
.. .3 Evaluation
Central LockExperiments
.. .4 Conclusions
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 2/19
Page 3
. . . . . .
MotivationImplementation
EvaluationConclusions
.. Paxos
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 3/19
Page 4
. . . . . .
MotivationImplementation
EvaluationConclusions
.. Paxos
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 3/19
Page 5
. . . . . .
MotivationImplementation
EvaluationConclusions
.. From Paxos to a Lock Service
Not Trivial
Paxos Replicated State Machine
Slot queue → Sequence of lock holders
Paxos round number = Slot number
Paxos decides who gets each slot
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 4/19
Page 6
. . . . . .
MotivationImplementation
EvaluationConclusions
.. From Paxos to a Lock Service
Not Trivial
Paxos Replicated State Machine
Slot queue → Sequence of lock holders
Paxos round number = Slot number
Paxos decides who gets each slot
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 4/19
Page 7
. . . . . .
MotivationImplementation
EvaluationConclusions
.. From Paxos to a Lock Service
Not Trivial
Paxos Replicated State Machine
Slot queue → Sequence of lock holders
Paxos round number = Slot number
Paxos decides who gets each slot
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 4/19
Page 8
. . . . . .
MotivationImplementation
EvaluationConclusions
.. From Paxos to a Lock Service
Not Trivial
Paxos Replicated State Machine
Slot queue → Sequence of lock holders
Paxos round number = Slot number
Paxos decides who gets each slot
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 4/19
Page 9
. . . . . .
MotivationImplementation
EvaluationConclusions
.. From Paxos to a Lock Service
Not Trivial
Paxos Replicated State Machine
Slot queue → Sequence of lock holders
Paxos round number = Slot number
Paxos decides who gets each slot
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 4/19
Page 10
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. .1 Motivation
.. .2 Implementation
ArchitectureFault Tolerance & Optimizations
.. .3 Evaluation
Central LockExperiments
.. .4 Conclusions
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 5/19
Page 11
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Abstract View
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 6/19
Page 12
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Detailed View
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 7/19
Page 13
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 14
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 15
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 16
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 17
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 18
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 19
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 20
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 21
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 22
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Use Case
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 8/19
Page 23
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Process Fault Tolerance
Supervisor Tree
Process restarts aware that it has crashed
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 9/19
Page 24
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Paxos Fault Tolerance
Acceptor persists asynchronously its state
Learner persists asynchronously the slot queue
Assignor persists asynchronously its state
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 10/19
Page 25
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Paxos Fault Tolerance
Acceptor persists asynchronously its state
Learner persists asynchronously the slot queue
Assignor persists asynchronously its state
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 10/19
Page 26
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Paxos Fault Tolerance
Acceptor persists asynchronously its state
Learner persists asynchronously the slot queue
Assignor persists asynchronously its state
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 10/19
Page 27
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Optimizations
@COMPLETED:
3 Receiver handles the huge amount of requests
3 Shared Queue between Receiver and Proposer
3 Learner and Acceptor spawn separate writing process
@TODO:
7 Propose lock requests in batches
7 Leader
7 Garbage Collection
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 11/19
Page 28
. . . . . .
MotivationImplementation
EvaluationConclusions
ArchitectureFault Tolerance & Optimizations
.. Optimizations
@COMPLETED:
3 Receiver handles the huge amount of requests
3 Shared Queue between Receiver and Proposer
3 Learner and Acceptor spawn separate writing process
@TODO:
7 Propose lock requests in batches
7 Leader
7 Garbage Collection
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 11/19
Page 29
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. .1 Motivation
.. .2 Implementation
ArchitectureFault Tolerance & Optimizations
.. .3 Evaluation
Central LockExperiments
.. .4 Conclusions
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 12/19
Page 30
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Throughput
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 13/19
Page 31
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Latency
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 14/19
Page 32
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Cost of Availability
# of Paxos Nodes VS Latency and/or Throughput
Will look like:
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 15/19
Page 33
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Cost of Availability
# of Paxos Nodes VS Latency and/or ThroughputWill look like:
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 15/19
Page 34
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Cost of Fault Tolerance
Latency of Node Recovery VS Latency and/or Throughput
Will look like:
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 16/19
Page 35
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. Cost of Fault Tolerance
Latency of Node Recovery VS Latency and/or ThroughputWill look like:
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 16/19
Page 36
. . . . . .
MotivationImplementation
EvaluationConclusions
Central LockExperiments
.. More
Proposer Timeouts VS Latency and/or Throughput
Paxos +/-Persistence VS Latency and/or Throughput
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 17/19
Page 37
. . . . . .
MotivationImplementation
EvaluationConclusions
.. .1 Motivation
.. .2 Implementation
ArchitectureFault Tolerance & Optimizations
.. .3 Evaluation
Central LockExperiments
.. .4 Conclusions
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 18/19
Page 38
. . . . . .
MotivationImplementation
EvaluationConclusions
Find golden ratio: Performance vs Availability
Find golden ratio: Performance vs Fault Tolerance
Their combination?
Questions ?
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 19/19
Page 39
. . . . . .
MotivationImplementation
EvaluationConclusions
Find golden ratio: Performance vs Availability
Find golden ratio: Performance vs Fault Tolerance
Their combination?
Questions ?
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 19/19
Page 40
. . . . . .
Part I.
.
. ..
.
.
Appendix
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 20/19
Page 41
. . . . . .
.. Benchmarking Tool
Basho bench
Ability to write custom clients
Can simulate network dispatcher process
Presenter: Emmanouil Dimogerontakis Teammate: Muhammet Orazov Supervisor: Johan Montelius CC© BY:© C©Lock Service with Paxos 1/1