-
Notifications
You must be signed in to change notification settings - Fork 734
Shared Cache S3FIFO implementation #8692
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
Conversation
|
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
| static ui64 Get(TPage *x) { | ||
| return sizeof(TPage) + (x->State == PageStateLoaded ? x->Size : 0); | ||
| struct TKey { | ||
| TLogoBlobID LogoBlobID; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Очень большой ключ (32 байта!) который ещё хешируется и сравнивается на любом evict'е, лежит в хеш таблице и т.д. Не лучше ли тут сделать что-то интрузивное, когда TPage продолжает жить (без данных) в интрузивном списке, пока оно в ghost, и если sst не выгрузили целиком, то при повторном обращении мы грузим тот же TPage*, уже по флагам знаем что оно в ghost списке, и т.д.? Нужно будет только аккуратно коммуницировать с реализацией replacement policy, удаляя страницу из списков когда она прям совсем удаляется.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Наверно да, можно будет сделать так, просто размер TPage сейчас ещё больше (104 байта), и тогда хочется что-то интрузивное отдельное маленькое.
Вообще думаю нужно прямо в PageMap продолжать хранить ghost-страницы, а не в отдельном мапе тут, но большой рефакторинг будет потом, когда выберем лучшую стратегию, пока хочется оставить такой простой вариант без дополнительных коммуникаций с кешом.
|
⚪ ⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
Changelog entry
...
Changelog category
Additional information
...