practical aspects of state machine replication virtualization
TRANSCRIPT
06/07/2016 WCN 2016 1
Practical Aspects Of State Machine
Replication Virtualization
Ederson Torresini1
Eduardo Alchieri2
Luis Pacheco2
Marcos Caetano2
1Campus São José
Instituto Federal de Santa Catarina
2Departamento de Ciência da Computação
Universidade de Brasília
06/07/2016 WCN 2016 2
Outline
● Introduction
● Virtualization
● State Machine Replication
– BFT-SMaRt
● Experiments
● Conclusions and Future Work
06/07/2016 WCN 2016 3
● State Machine Replication (SMR) is a technique widely used toimplement dependable systems
● Virtualization also could be seem as a technique that helps thedevelopment of dependable systems
– Some works proposed the integration of protocols for SMR and virtualization (both, virtual machines or containers)
● Our goal: Use a SMR library to implement an application for assess its performance and resources consumption whendeployed in both, virtual machines and containers
Introduction
06/07/2016 WCN 2016 4
Virtualization
● Virtual Machines (KVM) vs. Containers (Docker)
06/07/2016 WCN 2016 5
State Machine Replication
● Approach that replicates the servers and coordinates the
interactions among clients and servers
– Same state evolution
● Provide replica determinism:
– All replicas (1) starting with the same state and (2) executing
the same set of operations in the same order, (3) reach the
same final state
06/07/2016 WCN 2016 6
State Machine Replication
op1
op2
Atomic multicast
op1, op2
op1,op2
op1, op2
op1, op2
ClientsServers
06/07/2016 WCN 2016 7
BFT-SMaRt
● Java library used to implement replicated applications (SMR)
06/07/2016 WCN 2016 8
Experiments
● We used one server and deployed a set of containers or virtual machines
– Virtual Machines: KVM
– Containers: Docker
● BFT-SMaRt was configured with 3 servers (f=1)
– 10 clients executed in a different machine
● Aplication: linked list
– Operations: ADD, REMOVE, GET and CONTAINS
– Initialized with 100k entries
– 25000 requests (25% for each type)
06/07/2016 WCN 2016 9
Experiments: Latency
06/07/2016 WCN 2016 10
Experiments: Throughput
06/07/2016 WCN 2016 11
Experiments: CPU
06/07/2016 WCN 2016 12
Experiments: Memory
06/07/2016 WCN 2016 13
Experiments: Network
06/07/2016 WCN 2016 14
Conclusions and Future Work
● We analysed the performance and the resources consumption ofan application replicated using the SMR approach
– Containers vs. Virtual Machines
– We found that containers perform better than virtual machines and, at same time, require less resources
● Important for a cloud computing scenario, where you payfor what you use
● Future work
– Integrate the SMR approach in the Kubernetes, a manager ofcontainers
– Compare these scenarios with the use of physical machines
● BFT-SMaRt: http://bft-smart.github.io/library
06/07/2016 WCN 2016 15