Skip to content
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

Optimize MV Memory's concurrent hash map #116

Open
hai-rise opened this issue May 29, 2024 · 2 comments
Open

Optimize MV Memory's concurrent hash map #116

hai-rise opened this issue May 29, 2024 · 2 comments

Comments

@hai-rise
Copy link
Contributor

hai-rise commented May 29, 2024

  • Better structure than the current BTreeMap.
  • Fine-tune the number of shards.
  • Batch writes by shards instead of repeatedly locking and unlocking the same shard.
  • MV Memory has a u64 key that we can use directly for determining the shard.
  • Estimate more locations during preprocessing.
  • We want a lock-free API to construct estimated locations.
  • dashmap is not perfect, for instance: performance reduced in 6.x xacrimon/dashmap#306.
  • We may benefit from designing a specialized concurrent hash map for our use case.
  • We may benefit from designing a specialized memory allocator for MV Memory.
@hai-rise hai-rise added enhancement New feature or request V1 labels May 29, 2024
@hai-rise hai-rise added V2 and removed V1 labels Jul 1, 2024
@malik672
Copy link
Contributor

@hai-rise assign me

@hai-rise
Copy link
Contributor Author

@malik672 Thank you for your interest!
This is a pretty broad task. Perhaps we can break it down in Telegram DM (find me @hai_nq) before tackling it 🙏?

@hai-rise hai-rise changed the title Optimize concurrent data structures to maximize CPU cache and stack memory Optimize MV Memory's concurrent data structures Sep 4, 2024
@hai-rise hai-rise changed the title Optimize MV Memory's concurrent data structures Optimize MV Memory's concurrent hash map Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants