João Vaz (2011)

MSc Student

in

MSc dissertation: Byzantine Fault Tolerance in RMI Servers (in Portuguese) 
Co-adviser: Prof. Nuno Preguiça
Period: October 2010 — December 2011
Grade: 18/20
Project: RepComp (funded by the National Science Foundation, PI: Prof. Nuno Preguiça)

The advances in computer hardware make it possible to improve performance and efficiency of general applications through parallel computing. Such powerful hard- ware allows enterprise systems to evolve and provide better guarantees to users, like reliability, availability and bizantine fault-tolerance.

A component that exhibitis byzantine behaviour, continues to produce incorrect values and responding to every request. This fact makes it harder for distributed sys- tems to endure byzantine failures, since they may remain undetected for a long period. In order to overcome such failures, byzantine fault tolerant systems rely on replication with strong agreement protocols, which harm performance and throughput. In order to avoid this, we may use two techniques: introduction of concurrent execution in the servers and speculative execution.

Java’s remote method invocation (RMI) allows seamless remote method invocation on objects in different virtual machines. This mechanism is suported by a client/server architecture which, even though it presents good performance, does not help distributed applications to be reliable and fault-tolerant. Hence, our goal is to create byzantine fault-tolerant applications, through an implicit replication mechanism.

In order to test our work, we performed some tests using JNFS, a distributed file system implemented over RMI. The results allow us to conclude that the use of specu- lative execution minimizes the overhead generetad by bizantine fault-tolerant systems.