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

Contention and scalability #15

Closed
chenhao-ye opened this issue Oct 19, 2021 · 0 comments
Closed

Contention and scalability #15

chenhao-ye opened this issue Oct 19, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@chenhao-ye
Copy link
Collaborator

For now, there are some unknown scalability bottlenecks:

  1. When trying to commit to the global timeline log, multiple processes might result in contention of the log tail.
  2. In a strict mode when every process might apply the newest log entries detected in every read operation: once a process publishes its transaction by committing it to the global timeline log, other processes would see it and try to read this log and apply it. This would cause a huge amount of traffic to read the cacheline that holding the log entries.

1 is yet an open question. One possible solution is to introduce partial ordering, but might be too complicated and out of the scope.
2 is possible to alleviate: once a process commits its log entries to the global timeline, it prefers to use another cacheline to write its next log entries. This will leave the previous cacheline holding the log entries untouched and shared-read by other processes.

@chenhao-ye chenhao-ye added the enhancement New feature or request label Oct 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants