Increase i/o depth in stagedsync? #7068
ty-sentio-xyz
started this conversation in
Ideas
Replies: 1 comment
-
General solutions:
General limitations:
What we have now:
ErigonV3:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have seen the discussion here: #1516
So I do not intend to talk about block execution stage, but other stages.
Stages like HashState/IntermediateHashState/indexes heavily utilizes sequential reads, where one i/o request must be fulfilled before issuing another, making disk i/o latency the primary performance bottleneck, on heavy chains like bsc/polygon (as page cache will unlikely hit).
Modern cloud disks, even offering SSD-alike throughput, do not offer SSD-alike latency. However, cloud disks do come with certain advantages, such as the ease of migration/snapshotting/backup/resizing/etc., over local disks, making the life of running and managing a node much more easier.
By nature, stages other than block execution has the potential of being effectively parallized, as in certain cases we do not rely on the result of a previous i/o request to determine what to read next. So what if we could, to some extent, parallelize reads in these stages, increasing i/o depth, to compensate the high latency?
Wonder if there is anyone who is thinking about this, would like to discuss further.
Beta Was this translation helpful? Give feedback.
All reactions