diff --git a/3.x/zh_CN/docs/design/parallel/pipeline.md b/3.x/zh_CN/docs/design/parallel/pipeline.md index d4f76e1e1..5b69c617b 100644 --- a/3.x/zh_CN/docs/design/parallel/pipeline.md +++ b/3.x/zh_CN/docs/design/parallel/pipeline.md @@ -1,8 +1,8 @@ -# 读写集并行(实验功能) +# 流水线并行(实验功能) ## 介绍 -FISCO BCOS的最新并行架构为流水线执行架构,该功能为实验功能,后续版本可能有不向前兼容的修改,建议用于测试和体验,不建议在生产环境下使用。 +FISCO BCOS的最新并行架构为流水线并行架构,该功能为实验功能,后续版本可能有不向前兼容的修改,建议用于测试和体验,不建议在生产环境下使用。 流水线架构的优势: - 流水线架构的执行结果与串行执行结果一致,便于发现问题。 @@ -16,18 +16,18 @@ FISCO BCOS支持两种流水线执行架构:标量流水线和超标量流水 ## 使用条件 流水线执行器需要手工打开,加入流水线架构后,目前有5种执行模式: -1. 普通串行(config.genesis,is_serial=true):默认模式。 -1. DAG并行(config.ini,enable_dag=true):交易执行结果与普通串行一致,需要提前静态分析智能合约,适合合约逻辑简单的场景。 +1. 普通串行(config.genesis,is_serial_execute=true):默认模式。 1. 标量流水线(config.ini,baseline_scheduler=true):交易执行结果与普通串行一致,性能比普通串行高20%,适合所有场景。 1. 超标量流水线(config.ini,baseline_scheduler_parallel=true):交易执行结果与普通串行一致,性能提升幅度视交易读写数据的冲突量而定,冲突量少时能提升300%以上的性能,冲突量多时性能较低,适合交易读写数据冲突量少的场景。 1. sharding模式(启用feature_sharding):需要用户手工将交易分配到不同的分区,多个分区的交易可并行执行,但发生跨分区调用时交易执行结果会与普通串行不一致,适合可以手工分配交易分区的场景。 +1. DAG并行(config.ini,enable_dag=true,且启用feature_sharding):需要提前静态分析智能合约,适合合约逻辑简单的场景。 -模式1、2、3、4互相兼容,可以混跑,5与其它模式均不兼容。 +模式1、2、3互相兼容,可以混跑,4、5与其它模式均不兼容。 流水线执行器的启用条件 - 启用所有bugfix - 节点架构为air -- 使用串行(config.genesis,is_serial=true)模式,不打开feature_sharding +- 使用串行(config.genesis,is_serial_execute=true)模式,不打开feature_sharding - 使用evm虚拟机,非wasm 满足这些条件,可启用流水线执行器,且可以与普通串行混合运行,如果不满足条件,节点将无法启动,并在stdout输出错误原因。 diff --git a/3.x/zh_CN/docs/introduction/change_log/3_8_0.md b/3.x/zh_CN/docs/introduction/change_log/3_8_0.md index 89f1615ed..95c57234d 100644 --- a/3.x/zh_CN/docs/introduction/change_log/3_8_0.md +++ b/3.x/zh_CN/docs/introduction/change_log/3_8_0.md @@ -2,11 +2,14 @@ #### 新增 -* 新增流水线执行模式 +* 新增流水线执行(实验功能),详见[文档](https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/design/parallel/pipeline.html) #### 修改 -* 增加4个bugfix,详见feature list +* 解决对EOA账户getCode的返回值问题:bugfix_eoa_as_contract +* 解决DMC模式下部署合约时gas消耗与串行模式不同的问题:bugfix_dmc_deploy_gas_used +* 解决EVM执行status_code非0和revert时未扣除gas的问题:bugfix_evm_exception_gas_used +* 解决StateStorage和KeyPageStorage的setRow接口写入未修改Entry时不计算DBHash的问题:bugfix_set_row_with_dirty_flag * 历史版本升级 @@ -75,7 +78,7 @@ 设置数据兼容版本号,如当前版本为3.7.0。 ``` -[group0]: /apps> setSystemConfigByKey compatibility_version 3.7.0 +[group0]: /apps> setSystemConfigByKey compatibility_version 3.8.0 { "code":0, "msg":"success" @@ -84,11 +87,11 @@ 注:若开启权限治理功能,需要使用 setSysConfigProposal 命令 ``` -设置成功,再次查询,得到当前版本已升级为3.7.0 +设置成功,再次查询,得到当前版本已升级为3.8.0 ``` [group0]: /apps> getSystemConfigByKey compatibility_version -3.7.0 +3.8.0 ``` 当前链已经完成升级,至此,**链开始以新的逻辑继续运行**,并支持了新的特性。