Try   HackMD

Monitoring Lighthouse Backfill Processing CPU Usage

Issue: https://github.com/sigp/lighthouse/issues/3212
Pull Request: https://github.com/sigp/lighthouse/pull/3936

Rate-limiting on backfill sync processing has been introduced to solve the CPU consumption issue on lower spec machines. To figure out a good default rate for processing, it is helpful to understand:

  • the processing time for each backfill batch, so we don't schedule the processing on critical time window and impact validator performance, e.g. slot start
  • the cpu usage improvement when rate-limit is applied to backfill processing
  • the impact to overall time to complete backfill sync

Things to consider include:

  • whether have a fixed default rate (e.g. 3 batches per slot) or a rate based on the number of work threads / CPU cores avaialble.
  • the timing on when to schedule processing

Batch processing times

Mainnet

Setup: Docker, CPU limit = 2

Summary:

  • The batch processing time generally fluctuates between 180ms - 250ms
  • When NOT rate limited, the BeaconProcessor can process approx. up to 8 batches per slot

Rate limit disabled

Rate limit enabled (6,7,9 secs after slot start)