Skip to content
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.

feat(boot): Scale to Ethereum, add Benchmarks #81

Merged
merged 22 commits into from
Sep 22, 2022
Merged

Conversation

manishrjain
Copy link
Contributor

@manishrjain manishrjain commented Sep 21, 2022

Boot Loader:

  • Buffers in the boot loader now go to a separate directory from the map.
  • Better handling of UID allocation during boot loader. For unique objects, directly allocate a UID and avoid going through the XID -> UID mapping.
  • Keep the mapper buffers in memory. No need to write to disk.
  • Use zstd for compressing map files. This produces files roughly half the size compared to snappy. zstd is pretty fast too.
  • TODO is to switch to using DataDog/zstd entirely, as it consumes much less memory.
  • WIP: Attempt to skip keys with millions of instances, aka Jupiter Keys. These keys are causing the reducer to fail due to buffers exceeding 128 GiB in size.

Bench Tool:

  • Update the benchmark tool to include JSON-RPC endpoints and the new 0xfast stream service. Add logs for all these services.

Badger:

  • Set Badger block size to 32 KB

This change is Reviewable

@manishrjain manishrjain marked this pull request as ready for review September 22, 2022 05:20
@manishrjain manishrjain changed the title Mrjn/alchemy feat: Make Boot Loader scale to Ethereum Sep 22, 2022
@manishrjain manishrjain changed the title feat: Make Boot Loader scale to Ethereum feat(boot): Scale to Ethereum, add Benchmarks Sep 22, 2022
@manishrjain manishrjain merged commit 5cbac6c into main Sep 22, 2022
manishrjain added a commit that referenced this pull request Sep 22, 2022
Boot Loader:
- Buffers in the boot loader now go to a separate directory from the map.
- Better handling of UID allocation during boot loader. For unique objects, directly allocate a UID and avoid going through the XID -> UID mapping.
- Keep the mapper buffers in memory. No need to write to disk.
- Use zstd for compressing map files. This produces files roughly half the size compared to snappy. zstd is pretty fast too.
- TODO is to switch to using DataDog/zstd entirely, as it consumes much less memory.
- WIP: Attempt to skip keys with millions of instances, aka Jupiter Keys. These keys are causing the reducer to fail due to buffers exceeding 128 GiB in size.

Bench Tool:
- Update the benchmark tool to include JSON-RPC endpoints and the new 0xfast stream service. Add logs for all these services.

Badger:
- Set Badger block size to 32 KB
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant