diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..fec9b83f12aa9f1bfc23de5abeec40c2c6ea9f15 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,88 @@ +# 木兰宽松许可证, 第2版 + +2020年1月 http://license.coscl.org.cn/MulanPSL2 + +您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + +0. 定义 + +“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + +“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + +“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + +“法人实体” 是指提交贡献的机构及其“关联实体”。 + +“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + +1. 授予版权许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 + +2. 授予专利许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 + +3. 无商标许可 + +“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 + +4. 分发限制 + +您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + +5. 免责声明与责任限制 + +“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 + +6. 语言 + +“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 + +条款结束 + + +# Mulan Permissive Software License,Version 2 (Mulan PSL v2) + +January 2020 http://license.coscl.org.cn/MulanPSL2 + +Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: + +0. Definition + +Software means the program and related documents which are licensed under this License and comprise all Contribution(s). + +Contribution means the copyrightable work licensed by a particular Contributor under this License. + +Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. + +Legal Entity means the entity making a Contribution and all its Affiliates. + +Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. + +1. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. + +2. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. + +3. No Trademark License + +No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in section 4. + +4. Distribution Restriction + +You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. + +5. Disclaimer of Warranty and Limitation of Liability + +THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +6. Language + +THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. + +END OF THE TERMS AND CONDITIONS \ No newline at end of file diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cfed8c52427f58a1460aefb17c29888e73e0f096 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,114 @@ +# Anolis Features + +这个仓库包含了龙蜥社区Anolis的技术特性。用于向社区用户展示龙蜥社区的最新技术成果。 + +龙蜥社区主页:https://openanolis.cn/ + +## Contributing + +龙蜥社区是一个开放包容的社区,非常欢迎志同道合之士与我们一起共建该文档库。 + +对于文档中您觉得任何疑惑之处,都可以新开issue,我们将积极回应。 + +对于文档中的不足,也欢迎您新建PR来更新。 + +### issue规范 + +为了方便我们及时响应您的请求,issue标题需要给出必要的信息。例如我对龙蜥社区Anolis Kernel代码感兴趣,但是overview里没有给出具体的代码库链接,那么可以提这样的issue: + +> overview: there is no link of anolis kernel code repo. +> +> 希望overview中添加anolis内核仓库代码链接 + +如果您对某个方向下的一个section有疑惑,例如mutli_arch下有intel_spr_support.md文件介绍了anolis对spr平台的支持,但是您希望了解更多关于SPR SIOV的资料,那么您可以提以下issue: + +> multi_arch/intel_spr_support: hope to add more materials of SPR SIOV + +### PR提交规范 + +作为一个社区文档,我们认为必要的提交规范有助于社区健康发展。为此,您在提交commit时,务必在标题开头添加您更新部分的关键字,然后是冒号和简短描述。例如我在overview添加了文档的描述信息,就可以这样: + +> overview: add description for this document + +对于如何指定PR的reviewer,请参看**文档库相关owner**这一节。 + +### 文档规范 + +- 在八大技术领域的某一目录下放置你的文档.md + - 以intel_spr_support.md为例,在multi_arch目录下新建intel_spr_support.md文档 + - 文章可以加tag,具体操作请参看**tags**一节 + +- 在materials下放置你的素材 + - 如图片就在imgs下的八大技术领域目录下新建一个自己内容的文档 + - 以intel_spr_support为例,在materials/img/multi_arch下新建intel_spr_support目录,将所有图片放在这个目录下 + - 图片命名请突出图片所表达的信息,单词之间以下划线分隔 + - 图片请以jpg或png格式提交 + +- 更新SUMMARY.md,新建一个标题项,并链接到自己的文档 + +### 如何测试 + +在您提交文档库更新时,请务必确保已在本地进行过构建测试。 + +测试方法: + +1. 安装nvm https://github.com/nvm-sh/nvm/blob/master/README.md + +2. 安装node.js + - 执行 nvm -i 10 + - 执行 nvm use 10 + - 安装gitbook-cli,执行 npm install gitbook-cli -g + +> 重要‼️ 这里有需要修改一下gibook的配置 +> vim ~/.gitbook/versions/3.2.3/lib/output/website/copyPluginAssets.js +> 修改112行的 confirm:true为false + +3. 构建gitbook + - 安装插件 gitbook install + - 构建 gitbook build + - 本地启动一个server:gitbook serve + +## Tags + +本文档库目前支持对文章加tags,方便管理和阅读一个系列的文档。 + +具体的操作方式:在文档一级标题下,放置tags。以multi_arch下intel_spr_support.md为例,我想给改文章加一个tag“一云多芯硬件生态”。那么只需按照如下方式: + +> Intel SPR平台支持 +> +> tags: 一云多芯硬件生态 + +### 目前支持 tags 类型 + +为了方便管理,我们定义了两种类型的 tags,文档必须使用这里预定义的 tags。具体定义分别是: + +1. 技术方向 tags + +- CentOS 迁移 +- 云原生场景 +- 一云多芯硬件生态 +- 运维与性能 +- 软硬件协同 +- 安全可信 +- 编程语言 +- 社区基础设施 + +2. 版本 tags + +- Anolis23 +- Anolis8 + +## 文档库相关owner + +目前文档库owner的划分是按照OpenAnolis SIG组来划分的。所以在您提交PR之后,可以按照内容所属的SIG组指定owner来review。 + +| 龙蜥社区导师(Gitee账号) | 负责的SIG | +| --- | --- | +| fengfuqiu | 系统运维SIG,eBPF技术探索SIG | +| casparant | Anolis迁移SIG,LoongArch SIG,产品发布小队 | +| gerryliu | 容器优化OS SIG,云原生SIG | +| sanhong-li | Java语言与虚拟化SIG,Node.js SIG | +| crazyss | KeenTune,硬件兼容性SIG,T-one测试平台,QA SIG | +| baolin.wang | ARM架构SIG,RISC-V Arch SIG | +| qinloong | 商密软件栈SIG,云原生机密计算,Hygon Arch SIG | +| yang_oliver_admin | Cloud Kernel,高性能存储技术SIG,高性能网络技术SIG,Intel Arch SIG | diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 0000000000000000000000000000000000000000..46f8fe15fd0585c76f31159462f3458d1dcf7479 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,13 @@ +# Summary + +* [Overview](./overview.md) +* [CentOS迁移](./centos_migration/README.md) +* [云原生场景](./cloud_native/README.md) +* [一云多芯硬件生态](./multi_arch/README.md) + * [Intel SPR平台支持](./multi_arch/intel_spr_support.md) +* [运维与性能](./devops_perf/README.md) +* [软硬件协同](./sw_hw_codesign/README.md) +* [安全可信](./security_trust/README.md) +* [编程语言](./lang_runtime/README.md) +* [社区基础设施](./dev_infra/README.md) +* [Tags](./tags.md) \ No newline at end of file diff --git a/book.json b/book.json new file mode 100644 index 0000000000000000000000000000000000000000..739ac7972892ef4590f860153ac9f3b317dc8a12 --- /dev/null +++ b/book.json @@ -0,0 +1,68 @@ +{ + "title": "OpenAnolis", + "description": "Anolis features", + "author": "openanolis.cn", + "gitbook": ">= 3.2.2", + "language": "zh-hans", + "plugins": [ + "alerts", + "tbfed-pagefooter", + "sectionx", + "expandable-chapters", + "chapter-fold", + "emphasize", + "chapter-fold", + "hide-element", + "tags", + "text-highlight", + "hints", + "copyright", + "-sharing", + "sharing-plus" + ], + "pluginsConfig": { + "tbfed-pagefooter": { + "copyright":"Copyright © openanolis.cn 2022", + "modify_label": "该文件修订时间:", + "modify_format": "YYYY-MM-DD HH:mm:ss" + }, + "sectionx": { + "tag": "b" + }, + "hide-element": { + "elements": [".gitbook-link"] + }, + "copyright": { + "site": "https://gitee.com/xuchun-shang/anolis_features/", + "author": "OpenAnolis", + "website": "OpenAnolis", + "copyProtect": true + }, + "sharing": { + "douban": true, + "facebook": false, + "google": false, + "hatenaBookmark": false, + "instapaper": false, + "line": false, + "linkedin": false, + "messenger": false, + "pocket": false, + "qq": false, + "qzone": true, + "stumbleupon": false, + "twitter": false, + "viber": false, + "vk": false, + "weibo": true, + "whatsapp": false, + "all": [ + "weibo" + ] + } + }, + "structure": { + "readme": "overview.md" + }, + "generator": "site" +} \ No newline at end of file diff --git a/cd.json b/cd.json new file mode 100644 index 0000000000000000000000000000000000000000..dbe1d6c16322aa12bfb0c2d0c2159210ad218473 --- /dev/null +++ b/cd.json @@ -0,0 +1,8 @@ +{ + "branch": "master", + "public": "./", + "commands": [ + "nvm i 10 && nvm use 10 && npm install gitbook-cli -g && gitbook install ./ && gitbook build", + "mv _book/* $BUILD_DEST" + ] +} \ No newline at end of file diff --git a/centos_migration/README.md b/centos_migration/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cloud_native/README.md b/cloud_native/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/dev_infra/README.md b/dev_infra/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/devops_perf/README.md b/devops_perf/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/lang_runtime/README.md b/lang_runtime/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/materials/imgs/multi_arch/intel_spr_support/deep_learning.jpg b/materials/imgs/multi_arch/intel_spr_support/deep_learning.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d640bdaccd179fa845f26a80f2059fbb8b1f39ae Binary files /dev/null and b/materials/imgs/multi_arch/intel_spr_support/deep_learning.jpg differ diff --git a/materials/imgs/multi_arch/intel_spr_support/spr_support.jpg b/materials/imgs/multi_arch/intel_spr_support/spr_support.jpg new file mode 100644 index 0000000000000000000000000000000000000000..814d4f4369d734c6c0c84926aa74b173714710a1 Binary files /dev/null and b/materials/imgs/multi_arch/intel_spr_support/spr_support.jpg differ diff --git a/materials/imgs/overview/anolis_eight_direction.jpg b/materials/imgs/overview/anolis_eight_direction.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec185260708955d3ae7ad3ddc2bd7bf1c7fd1026 Binary files /dev/null and b/materials/imgs/overview/anolis_eight_direction.jpg differ diff --git a/materials/imgs/overview/anolis_logo.png b/materials/imgs/overview/anolis_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..06ecb6a623cbf1851794a5bd1fda1e1d39ff5a4b Binary files /dev/null and b/materials/imgs/overview/anolis_logo.png differ diff --git a/multi_arch/README.md b/multi_arch/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/multi_arch/intel_spr_support.md b/multi_arch/intel_spr_support.md new file mode 100644 index 0000000000000000000000000000000000000000..150a34d2b7b9ad80f84cb527e98ba2e32f51f2cd --- /dev/null +++ b/multi_arch/intel_spr_support.md @@ -0,0 +1,20 @@ +# Intel SPR平台支持 +tags: 一云多芯硬件生态 + +Intel Sapphire Rapids(简称SPR)即第四代至强可扩展处理器,是Intel承上启下的一代产品。新引入增强指令、硬件加速器、 AMX矩阵计算、SGX机密计算、Scalable IOV、PCIe 5.0、CXL1.1协议,涵盖了计算、安全、I/O及虚拟化方面的众多技术升级 和增强。 + +龙蜥社区对Intel平台的支持一直领先于业界,紧随Intel研发节奏,基于[Intel Arch SIG](https://openanolis.cn/sig/Intel-Kernel)第一时间完成对SPR产品全面的支持,助力龙 蜥客户以开箱即用的方式,享用新技术特性,整体支持情况如下图: + + + +{% hint style='tip' %} +以上特性均在龙蜥社区得到全面支持:如加速器层面,Anolis 5.10内核已经支持 ==DSA== ,==IAA==,配合龙蜥社区提供的accel-config用户 态工具,用户可以对这两个加速器进行快速配置并使能。对于 ==QAT== 和 ==DLB== ,其驱动已经以OOT的形式发布于龙蜥社区,用户只需下载 安装对应的rpm包即可享用新硬件加速带来的性能提升。安全层面,龙蜥社区已经集成SGX的 ==SDK/PSW/DCAP== 软件栈,并以rpm包形 式发布,用户可以通过Anolis系统便捷部署自己的机密计算方案。虚拟化层面,Anolis内核率先支持SIOV特性,用户不论是使用SPR 平台自带的硬件加速器,还是支持SIOV的第三方硬件,抑或是DWQ/SWQ的部署形式,都可以无感使用,真正做到了 ==One for All== 。 +{% endhint %} + +以下以对AMX指令的支持为例,介绍一下基于Anolis内核构建业务方案所带来的巨大性能提升: + + + + Anolis通过支持AMX指令并对其进行深层次的优化,搭建如图所示基于Anolis内核的深度学习方案,实测表明: +- 相较于AVX512 INT8,==Anolis-AMX-INT8带来8倍== 整型性能提升。 +- 相较于AVX512 BF16,==Anolis-AMX-BF16可以带来16倍== 浮点性能提升。 \ No newline at end of file diff --git a/overview.md b/overview.md new file mode 100644 index 0000000000000000000000000000000000000000..43f544785577fb2293626cd6bb30be08dcf5e2e5 --- /dev/null +++ b/overview.md @@ -0,0 +1,78 @@ +> **[success] This document is [MulanPSL v2](./LICENSE.md) licensed.** + +