Abstract

Blockchain technology has recently gained a great attention from industry as well as academia because of its potential as transaction transparency. However, one of its pitfalls is the transaction throughput - the current transaction throughput available in contemporary Blockchain systems is criticized to be quite lower than that required in many real world applications. Many Blockchain systems are known to employ RocksDB as its storage engine for scale-out architecture and cost effectiveness, but use the RocksDB in its default configuration. While many tuning knobs are available in RocksDB, it is unfortunate that Blockchain systems cannot leverage them, thus resulting in low transaction throughput. In this vein, it is of great importance to develop a set of practical tuning techniques of RocksDB for higher transaction throughput in Blockchain systems. In this paper, we present an experience on tuning RocksDB read operations for Blockchain workloads. First, we make an observation about the characteristics of Blockchain workload and review RocksDB architecture. Then, based on the observation, we suggest two tuning techniques of parallel reads and read avoidance. In particular, the first tuning technique is very effective on the flash storage because it can exploit the abundant parallelism in the device. Our experimental results show that these tuning techniques, when used in combination, can increase the read throughput of a Blockchain benchmark, compared to the default setting of RocksDB, by more than 30 folds.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call