Skip to content

Commit

Permalink
Words fix2 (#1798)
Browse files Browse the repository at this point in the history
* Add pipeline desc

* Add more desc for pipeline

* Update version desc

* Add experimental desc

* Fix some words

* Fix title
morebtcg authored May 15, 2024
1 parent 664eb62 commit d0409a2
Showing 2 changed files with 14 additions and 11 deletions.
12 changes: 6 additions & 6 deletions 3.x/zh_CN/docs/design/parallel/pipeline.md
Original file line number Diff line number Diff line change
@@ -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输出错误原因。
13 changes: 8 additions & 5 deletions 3.x/zh_CN/docs/introduction/change_log/3_8_0.md
Original file line number Diff line number Diff line change
@@ -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
```

当前链已经完成升级,至此,**链开始以新的逻辑继续运行**,并支持了新的特性。

0 comments on commit d0409a2

Please sign in to comment.