diff --git a/README.en.md b/README.en.md index 9bd75bfac0dae332d0933d217ca3f9e90375c0a1..3a6196c95174878b18d64fcc4d303c23a10b0920 100644 --- a/README.en.md +++ b/README.en.md @@ -4,33 +4,26 @@ Sysboost converts dynamic links into static links by combining executable files and dynamic library files. This reduces the overhead and delay of dynamic links and improves the execution efficiency of programs. #### Software Architecture -Software architecture description +![](doc/img/sysBoost-stack-en.png) +Microarchitecture-Aware -#### Installation - -1. xxxx -2. xxxx -3. xxxx +Dynamic library stitching +In the ld loading phase, code segments of scattered dynamic libraries are combined and aggregated, and huge page memory is used to improve the iTLB hit ratio. -#### Instructions +exec HugePages +The user-mode hugepages mechanism requires application configuration modification and recompilation. The exec native hugepage mechanism directly uses hugepage memory in the ELF file loading phase, which is transparent to apps. -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request +Eliminate PLT redirection +In the process of invoking dynamic library functions, the application code needs to jump to the PLT table and then to the real function. Eliminating the PLT jump can improve the IPC. +Online re-arrangement of hot sections +By default, code snippets are arranged based on the dynamic library granularity. Hot code can be rearranged based on the section granularity using the online rearrangement technology. +#### Installation +For details, see the sysBoost section in openEuler/docs. -#### Gitee Feature +#### Instructions +For details, see the sysBoost section in openEuler/docs. -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +#### Contribution +1. If bugs are found or new requirements are required, submit issue; https://gitee.com/openeuler/sysboost/issues. +2. Submit the patch for fixing bugs or new features through Pull Request. diff --git a/README.md b/README.md index 9bd75bfac0dae332d0933d217ca3f9e90375c0a1..eb63d5e6c2b9c5ad9b7a203a45eb7b195f59e54b 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,55 @@ -# sysboost +# native-turbo -#### Description -Sysboost converts dynamic links into static links by combining executable files and dynamic library files. This reduces the overhead and delay of dynamic links and improves the execution efficiency of programs. +#### 介绍 -#### Software Architecture -Software architecture description +Native-Turbo 是操作系统原生性能加速框架; 通过微架构优化和软硬件协同等技术, 提升大型应用性能; -#### Installation -1. xxxx -2. xxxx -3. xxxx -#### Instructions +#### 软件架构 -1. xxxx -2. xxxx -3. xxxx +![](doc/img/Native-Turbo-stack.svg) -#### Contribution +A-tune作为智能中心管理OS性能策略; +wisdom接收A-tune策略, 执行调度算法; +Native-Turbo提供操作系统各层级软件的性能优化机制, A-tune进行智能管理; -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request -#### Gitee Feature +Native-Turbo包含微架构优化技术, 基础库优化, 系统调用优化, 中断聚合, 软硬件协同等技术; + + + +微架构优化技术 + +动态库拼接 +通过ld加载阶段将分散的动态库的代码段数据段拼接聚合,然后使用大页内存提升iTLB命中率。 + +exec原生大页 +用户态大页机制需要应用修改配置和重编译,exec原生大页机制直接在内核加载ELF文件阶段使用大页内存,对APP透明。 + +消除PLT跳转 +应用代码调用动态库函数的流程,需要先跳转PLT表,然后跳转真实函数,消除PLT跳转能提升IPC。 + +热点Section在线重排 +默认情况下代码段是按动态库粒度排布的,通过在线重排技术可以实现热点代码按Section粒度重排。 + + + +#### 构建/安装教程 + +请参考doc目录下各特性说明文档; + + + +#### 使用说明 + +请参考doc目录下各特性说明文档; + + + +#### 参与贡献 + +1. 发现BUG或者有新需求请提issue; https://gitee.com/openeuler/native-turbo/issues +2. 修复BUG或者新特性的补丁请通过Pull Request提交; -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/doc/img/sysBoost-stack-en.png b/doc/img/sysBoost-stack-en.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef9c0081d66719517cf70969a5cc1de4fcd54d2 Binary files /dev/null and b/doc/img/sysBoost-stack-en.png differ diff --git a/doc/img/sysBoost-stack.png b/doc/img/sysBoost-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e3dac0ccd6e35fe62ecce6ce91ca28c6d2ec97 Binary files /dev/null and b/doc/img/sysBoost-stack.png differ