Xiaojun Cai
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Xiaojun Cai has a total of 20 co-authors. Here are the top co-authors by number of shared publications:
- Zhaoyan Shen
Shandong University
4 shared publications - Zhiping Jia
Shandong University, Qingdao, China
4 shared publications - Bingzhe Li
Computer Science, The University of Texas at Dallas
2 shared publications - Mengying Zhao
Shandong University
2 shared publications - Zili Shao
The Chinese University of Hong Kong
2 shared publications - Chun Jason Xue
Mohamed bin Zayed University of Artificial Intelligence
1 shared publication
Latest Publications
- Open Access
- 5 July 2024
- Published by Association for Computing Machinery (ACM)
- p. 66-70
Course Reform Incorporating Ideological and Political Education in Computer Organization and Design
For a long time, computer science has been one of the most popular majors in higher education. To cultivate well-rounded students, ideological and political education is necessary to be incorporated into the process of course construction. In this paper, taking “Computer Organization and Design” as an example, we firstly construct a case library for ideological and political education. Secondly, to organically incorporate these ideological and political cases into the teaching process, we propose a BOPPPS-based teaching framework. Thirdly, we establish a multi-dimensional evaluation system that takes the achievement of ideological and political education into consideration. Practice has proved that the proposed teaching framework achieves a significant improvement in talents cultivation.
- 5 July 2024
- Published by Association for Computing Machinery (ACM)
- p. 66-70
Open AccessCourse Reform Incorporating Ideological and Political Education in Computer Organization and Design
For a long time, computer science has been one of the most popular majors in higher education. To cultivate well-rounded students, ideological and political education is necessary to be incorporated into the process of course construction. In this paper, taking “Computer Organization and Design” as an example, we firstly construct a case library for ideological and political education. Secondly, to organically incorporate these ideological and political cases into the teaching process, we propose a BOPPPS-based teaching framework. Thirdly, we establish a multi-dimensional evaluation system that takes the achievement of ideological and political education into consideration. Practice has proved that the proposed teaching framework achieves a significant improvement in talents cultivation.
- 29 December 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
- Vol. 43 (6) , 1794-1807
A Semantic-Integrated LSM-Tree-Based Key–Value Storage Engine for Blockchain Systems
Blockchain systems play an important role in distributed ledgers, database systems, etc. As more and more blocks are mined, the storage burden of blockchain system is significantly increased. The current blockchain system uniformly transforms all its data into key–value (KV) items and stores them to the underlying log-structure merged tree (LSM-tree) storage engine ignoring the software semantics. Consequently, it not only aggravates the write amplification effect of the storage engine but also increases the redundancy of data query steps, resulting in the performance bottleneck of blockchain system. In this article, we propose a semantic-integrated LSM-tree-based KV storage engine for blockchain systems, called Block-LSM, which significantly improves the data synchronization and data query efficiency of blockchain system. Specifically, we first design a shared prefix scheme to transform blockchain data into ordered KV pairs to alleviate the key range overlaps of different levels in the underlying LSM-tree-based storage engine. Moreover, we propose to maintain several semantic-orientated memory buffers to isolate different kinds of blockchain data and implement memory buffer space management strategy to further improve memory efficiency. To save space overhead, Block-LSM further aggregates multiple blocks into a group and assigns the same prefix to all KV items from the same block group. We also reduce step redundancy in transaction queries by modifying the body data storage format. Finally, we implement Block-LSM in a real blockchain environment and conduct a series of comparative experiments with the typical blockchain system Ethereum. The evaluation results show that Block-LSM significantly reduces up to$7.56\times $ storage write amplification and increases throughput by$8.64\times $ compared with the original Ethereum design. In terms of data lookups (i.e., transaction and account lookup), Block-LSM improves the throughput by 50% compared to the original Ethereum design.- 29 December 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
- Vol. 43 (6) , 1794-1807
A Semantic-Integrated LSM-Tree-Based Key–Value Storage Engine for Blockchain Systems
Blockchain systems play an important role in distributed ledgers, database systems, etc. As more and more blocks are mined, the storage burden of blockchain system is significantly increased. The current blockchain system uniformly transforms all its data into key–value (KV) items and stores them to the underlying log-structure merged tree (LSM-tree) storage engine ignoring the software semantics. Consequently, it not only aggravates the write amplification effect of the storage engine but also increases the redundancy of data query steps, resulting in the performance bottleneck of blockchain system. In this article, we propose a semantic-integrated LSM-tree-based KV storage engine for blockchain systems, called Block-LSM, which significantly improves the data synchronization and data query efficiency of blockchain system. Specifically, we first design a shared prefix scheme to transform blockchain data into ordered KV pairs to alleviate the key range overlaps of different levels in the underlying LSM-tree-based storage engine. Moreover, we propose to maintain several semantic-orientated memory buffers to isolate different kinds of blockchain data and implement memory buffer space management strategy to further improve memory efficiency. To save space overhead, Block-LSM further aggregates multiple blocks into a group and assigns the same prefix to all KV items from the same block group. We also reduce step redundancy in transaction queries by modifying the body data storage format. Finally, we implement Block-LSM in a real blockchain environment and conduct a series of comparative experiments with the typical blockchain system Ethereum. The evaluation results show that Block-LSM significantly reduces up to$7.56\times $ storage write amplification and increases throughput by$8.64\times $ compared with the original Ethereum design. In terms of data lookups (i.e., transaction and account lookup), Block-LSM improves the throughput by 50% compared to the original Ethereum design.- 13 December 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 73 (3) , 722-734
Branch Predictor Design for Energy Harvesting Powered Nonvolatile Processors
Non-volatile processors are proposed for ambient energy harvesting systems to enable accumulative computing across power failures. They employ nonvolatile memory for processor status backup before power outage and resume the system after power recovers. A straightforward backup policy is to back up all volatile data in processors, but it induces high backup cost. In this paper, we focus on branch predictor, an important component in processor, and propose efficient backup schemes to reduce backup cost while maintaining its prediction ability. We first analyze the modules in both traditional and artificial intelligence (AI) assisted designs of branch predictor, and accordingly propose three backup mechanisms pertaining to saturation-driven, locality-driven and maturity-driven backup. On the basis of these mechanisms, adaptive backup branch predictors are designed. Evaluation shows that, with traditional Tournament architecture, the proposed design achieves 15.9% and 54.1% energy reduction when compared with no-backup and all-backup strategy. For AI assisted branch predictor, the proposed design achieves 27.5% and 82.2% energy saving.
- 13 December 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 73 (3) , 722-734
Branch Predictor Design for Energy Harvesting Powered Nonvolatile Processors
Non-volatile processors are proposed for ambient energy harvesting systems to enable accumulative computing across power failures. They employ nonvolatile memory for processor status backup before power outage and resume the system after power recovers. A straightforward backup policy is to back up all volatile data in processors, but it induces high backup cost. In this paper, we focus on branch predictor, an important component in processor, and propose efficient backup schemes to reduce backup cost while maintaining its prediction ability. We first analyze the modules in both traditional and artificial intelligence (AI) assisted designs of branch predictor, and accordingly propose three backup mechanisms pertaining to saturation-driven, locality-driven and maturity-driven backup. On the basis of these mechanisms, adaptive backup branch predictors are designed. Evaluation shows that, with traditional Tournament architecture, the proposed design achieves 15.9% and 54.1% energy reduction when compared with no-backup and all-backup strategy. For AI assisted branch predictor, the proposed design achieves 27.5% and 82.2% energy saving.
- Open Access
- 8 December 2023
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Management of Data
- Vol. 1 (4) , 1-23
ChainKV: A Semantics-Aware Key-Value Store for Ethereum System
The Log-Structure Merged tree (LSM-tree) based key-value (KV) store has been widely adopted as the storage engine for blockchain systems, such as Ethereum, in which blockchain data are uniformly transformed into randomly distributed KV items for persistence. However, blockchain semantics are ignored during this process, making the blockchain storage suffer from heavy read/write amplification problems. Moreover, as the Ethereum network scales up, tremendous data further exacerbates its storage burden. Until now, most studies have focused on sharding, data archiving, decentralized distributed storage, etc., to mitigate the burden of the storage layer. However, the incompatibility between Ethereum semantics and the characteristics of the storage engine is ignored. In this paper, we present ChainKV, a new semantics-aware storage paradigm to improve the storage management performance for the Ethereum system. Firstly, based on Ethereum blockchain semantics, ChainKV separately stores different types of data in multiple storage zones in the KV store to mitigate the read/write amplification problem. Secondly, following the mechanism of the verification process in the authenticated data structure (ADS), a new ADS data transformer is proposed to exploit the data locality when persisting ADS. Moreover, a new space gaming caching policy is adopted to coordinate the cache space management for two independent storage zones. Finally, we propose an optional lightweight node crash recovery mechanism to eliminate functional redundancy between the Ethereum protocol and the storage engine. The experimental results indicate that ChainKV outperforms the prior Ethereum systems by up to 1.99× and 4.20× for synchronization and query operations, respectively
- 8 December 2023
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Management of Data
- Vol. 1 (4) , 1-23
Open AccessChainKV: A Semantics-Aware Key-Value Store for Ethereum System
The Log-Structure Merged tree (LSM-tree) based key-value (KV) store has been widely adopted as the storage engine for blockchain systems, such as Ethereum, in which blockchain data are uniformly transformed into randomly distributed KV items for persistence. However, blockchain semantics are ignored during this process, making the blockchain storage suffer from heavy read/write amplification problems. Moreover, as the Ethereum network scales up, tremendous data further exacerbates its storage burden. Until now, most studies have focused on sharding, data archiving, decentralized distributed storage, etc., to mitigate the burden of the storage layer. However, the incompatibility between Ethereum semantics and the characteristics of the storage engine is ignored. In this paper, we present ChainKV, a new semantics-aware storage paradigm to improve the storage management performance for the Ethereum system. Firstly, based on Ethereum blockchain semantics, ChainKV separately stores different types of data in multiple storage zones in the KV store to mitigate the read/write amplification problem. Secondly, following the mechanism of the verification process in the authenticated data structure (ADS), a new ADS data transformer is proposed to exploit the data locality when persisting ADS. Moreover, a new space gaming caching policy is adopted to coordinate the cache space management for two independent storage zones. Finally, we propose an optional lightweight node crash recovery mechanism to eliminate functional redundancy between the Ethereum protocol and the storage engine. The experimental results indicate that ChainKV outperforms the prior Ethereum systems by up to 1.99× and 4.20× for synchronization and query operations, respectively
- 14 January 2022
- Published by Elsevier in Microprocessors and Microsystems
- Vol. 89, 104450
DQN based page allocation for ReRAM main memory
- 14 January 2022
- Published by Elsevier in Microprocessors and Microsystems
- Vol. 89, 104450
DQN based page allocation for ReRAM main memory