Recently, the research team led by Professor Zhen Xiao in the Department of Computer Science at Peking University have developed a high performance deterministic replay system for multi-core environments. This has attracted wide attention in the industry due to its potential impact.
Fig 1: Deterministic replay systems
Modern multi-processor architectures are inherently non-deterministic: they cannot be expected to reproduce the past execution flow exactly, even when supplied with the same inputs. The lack of reproducibility complicates software debugging, security analysis, and fault-tolerance. It also greatly restricts the execution efficiency of smart contracts in blockchain systems such as Ethereum.
The deterministic replay technology for single-core processors is mature with some commercial solutions available. In multiprocessor environments, however, memory accesses from multiple processors to a shared memory object may interleave in any arbitrary order, which becomes a significant source of non-determinism and poses a formidable challenge to deterministic replay. Existing research in this area typically requires extensive modification to the hardware architecture, e.g., by embedding special purpose hardware components into the processors and by redesigning the cache coherence protocol. This increases the complexity of the circuits significantly and makes them largely impractical in real systems.
Fig 2: Decentralized three-phase commit
For the first time, the research team led by Professor Zhen Xiao have developed a practical deterministic replay technology for multicore environments based on hardware-assisted virtualization. It records the execution of the processors as a series of chunks and employs a decentralized three-phase commit protocol to ensure their atomicity and serializability. Unlike prior approach, this method finds a novel use of the existing virtualization features readily available on commodity Intel CPUs and requires no modification to the hardware. Experiments demonstrate that it can improve the efficiency of multi-core deterministic replay by more than an order of magnitude, which makes the solution very practical for many applications. The source code of the system is freely available on GitHub.
Professor Zhen Xiao has worked on various areas of distributed systems for more than two decades and has published extensively in internationally renowned conferences and journals. Currently, he is developing efficient technology to enable fine-grained concurrent execution of smart contracts in blockchain systems. Existing technologies for smart contracts (such as those in Ethereum) only support single-threading due to the non-determinism in multi-core environments which makes it difficult to achieve consensus in the blockchain. The deterministic replay technology developed by Professor Xiao's team has the potential to greatly improve the state of the art and to become an indispensable core technology in blockchain 3.0.
For more information about Professor Zhen Xiao’s research, please refer to his homepage at http://zhenxiao.com/