The fault tolerance and the theoretically proven safety of state machine replication (SMR) makes it attractive for implementing a principled system for general programs, especially server programs that demand high availability. Unfortunately, existing SMR systems unrealistically assume deterministic code execution when most server programs are nondeterministic multithreaded programs. Moreover, existing SMR systems typically provide narrow state machine interfaces, and orchestrating a sever program into these interfaces can be strenuous and error-prone.
In this talk, I will present CRANE, an SMR system that transparently replicates general server programs for high availability. It interposes on the socket and the thread synchronization interfaces to keep replicas in sync for transparency, requiring no intrusive modifications to shoehorn a program into a narrow interface. To address nondeterminism, CRANE leverages deterministic mul-tithreading to keep replicas in sync. CRANE addresses a difficult network input timing problem via a new technique called time bubbling. Evaluation on three diverse types of four widely used server programs (e.g., Apache and ClamAV) show that CRANE is easy to use, has reasonable overhead, and is robust to machine failures.
Dr. Heming Cui is an assistant professor in Computer Science of the University of Hong Kong (www.cs.hku.hk/~heming). His research interests are in operating systems, programming languages, and distributed systems, with a particular focus on building software infrastructures and tools to improve reliability and security of real world applications. His recent research has led to several open source projects as well as publication in premier systems and PL conferences (e.g., SOSP, OSDI, PLDI, and ASPLOS). Before joining HKU, he obtained his master and bachelor degrees from Computer Science of Tsinghua University in Beijing, and PhD degree from Computer Science of Columbia University in New York. As a member in the HKU CS student admission committee, Dr. Heming Cui will briefly introduce the HKU CS summer research intern and graduate admission programs.