-
Notifications
You must be signed in to change notification settings - Fork 334
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
EIP-2537 Breakout Call #1176
Comments
AIUI there is question of how to price the MSM precompiles given the fact that the MSM computation assumes parallel computation via multiple cores. This raises the question of how to do proper benchmarking as we don't have a multicore machine model for EVM execution. After some discussion with Barnabus, Kev, and Ansgar, I would propose we assume a machine with 4 cores to use for MSM computation and use this to determine correct gas pricing. |
We (evmone/Silkworm) will not use multi-threaded execution, at least not initially. We don't want to ship a thread-pool with a precompile. We will benchmark what we have to see if this causes any serious issues so you can decide to do otherwise. However, geth has been rather against multi-threaded execution too (@jwasinger). |
I would like to propose that we consider reducing the price of the non-msm precompiles as well. I am using Geth's ecrecover precompile performance as a baseline here, to come up with a repricing that would be appropriate for us. Based on my benchmarks of all the precompiles in Geth/Gnark on presumed worst-case inputs, I have come up with the following precompile-to-ecrecover performance ratios on the machines that I ran benchmarks on:
Based on this, I would suggest reducing the precompiles by multiplying the current costs by the following factors:
This is just food for a thought, but if we are going to reprice MSM we should consider repricing all the precompiles that have static cost models as well. |
We are against basing the cost model off of multi-threaded execution, but Geth will use multiple threads when running these precompiles in production. |
My list of questions for the call.
|
Let's also discuss this spec flaw: https://ethereum-magicians.org/t/eip-2537-bls12-precompile-discussion-thread/4187/85. |
My gas repricing notes: https://ethereum-magicians.org/t/eip-2537-bls12-precompile-discussion-thread/4187/73?u=mratsim |
Recording: https://youtu.be/zUIogzxkTpc |
Meeting Info
Agenda
The text was updated successfully, but these errors were encountered: