1

hello,I have few question when I run EOSIO v2.0.6

  1. is handle http requests and package transactions, and execute transactions on the multiple threads?
  2. Is the transaction received from the broadcast processed by a single thread?
3
  • What does "package transaction" mean? Block production?
    – conr2d
    Commented Jul 1, 2020 at 7:57
  • Sealing transactions into a block? maybe
    – 姜海涛
    Commented Jul 1, 2020 at 8:37
  • Sealing transactions into a block
    – clearly
    Commented Jul 1, 2020 at 8:38

1 Answer 1

0

nodeos has a thread pool internally. Each job you mentioned is assigned to a different thread and can be executed in parallel, but it doesn't mean each job is done in multi-threaded. For example, if there are multiple incoming transactions pushed by http-rpc, nodeos tries executing them to validate based on current state by using multiple threads, but each transaction is executed by single thread. (there is no multi-threaded infra in webassembly runtime yet)

Transactions in a block should be executed sequentially and they aren't executed in parallel. However, there are some multi-threaded points like recovering keys from signatures or executing context free actions.

This is similar in other blockchain cases, so increasing the number of cores of host system doesn't usually have noticeable improvement in performance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.