-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Noting that process scheduling in ckb-vm is deterministic #445
Noting that process scheduling in ckb-vm is deterministic #445
Conversation
I recommmend expanding this section a bit:
Simply put, the scheduler included in CKB will be deterministic with respect to a particular hardfork version, and will likely change its behavior in different hardfork versions. |
Provide detailed information about the deterministic scheduler, including:
|
I'm not entirely sure here: are those information suitable for RFC, or separate documentations? An analogy here, could be the details of the transaction pool, those are also highly tied to actual implementation, yet the RFCs does not fully describe those. FYI: I'm not against adding those information, they certainly help, but it is worth discussing where they should fit. |
I suggest putting the detailed working principle of the scheduler in a separate document. |
A second thought: I think it makes sense to document the deadlock conditions for each hardfork versions here; but other details fit better in a separate document on Nervos docs. |
There is already descriptions of when read/write/wait will cause deadlock https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0050-vm-syscalls-3/0050-vm-syscalls-3.md#write |
Yes but the words are quite vague:
I think it makes sense to specifically define when all process will be blocked, and what it means for operations to wait for each other. |
I added a separate section to describe deadlocks, please check @xxuejie @XuJiandong |
The developer may suspect that there will be randomness in the implementation of spawn, so this sentence is added intentionally.