目录
目录README.md

CS2: Cache-Shared Client-Server Approach in DBT System

Introduction

This project is a research project that aims to improve the performance of the DBT system by using a cache-shared client-server approach. That is, DBT systems can share their translation cache with each other to reduce the number of translations that need to be performed. Moreover, the translation cache can be preloaded or prefetched to significantly reduce the number of icache-flushes for DBT systems’ self-modifying code or JIT code generation.

We focus on the following design principles:

  • Cache Sharing: The translation cache of each DBT system can be shared with other DBT systems.
  • Cache Preloading/Prefetching: The translation cache can be preloaded or prefetched, so that the DBT system can perform multiple cache loads/fetches at once.
  • Easy Integration: The CS2 can be easily integrated with existing DBT systems.

This repository contains the implementation of the core library and the server of the CS2. And the clients will be various DBT systems. Currently, we have integrated the CS2 with Box64 and more clients (e.g. QEMU) are planned to be integrated in the future.

Installation

[!NOTE] This project uses the Just command runner to simplify the development & installation process. Thus, you need to install the Just command runner on your system before proceeding.

To install the CS2 core library and server, you need to build the project from source using Rust toolchain:

  1. Clone this repository to your local machine.

  2. Build and install the artifacts by running the following command:

    $ just install

[!TIP]

You can specify the installation prefix by passing it as an argument to the install command:

$ just install /your/installation/prefix

The installation prefix is /usr/local by default. Note that if you don’t have the necessary permissions to write to the installation prefix, the just install command will use sudo to gain the necessary permissions.

Contributing

We would love to see contributions from the community. If you experience bugs, feel free to open an issue. For more information on how to contribute, please refer to the CONTRIBUTING.md file.

License

This project is licensed under the MIT License. See the LICENSE file for details.

关于

此仓库为 GitHub 仓库镜像,仅供大赛过程使用

501.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号