Skip to content

MM2Q promotion iterators #1

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

Merged
merged 9 commits into from
Aug 9, 2022

Conversation

byrnedj
Copy link

@byrnedj byrnedj commented Aug 9, 2022

Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.

@igchor igchor changed the title 2q iter rebased on develop MM2Q promotion iterators Aug 9, 2022
@igchor igchor merged commit acdfa0b into intel:develop Aug 9, 2022
guptask pushed a commit that referenced this pull request Aug 10, 2022
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
vinser52 pushed a commit that referenced this pull request Sep 12, 2022
Summary:
AdRanker ASAN canary flagged a possible UBSan violation.

## Error
Failed Run: https://fburl.com/servicelab/apytosry
```
    #0 0x562e3adb59bc in facebook::cachelib::objcache2::ObjectCacheSizeController<facebook::cachelib::CacheAllocator<facebook::cachelib::LruCacheTrait> >::work() buck-out/v2/gen/fbcode/47d914adeee3d982/cachelib/experimental/objcache2/__object-cache__/headers/cachelib/experimental/objcache2/ObjectCacheSizeController-inl.h
    #1 0x562de7610f78 in facebook::cachelib::PeriodicWorker::loop() fbcode/cachelib/common/PeriodicWorker.cpp:55
    #2 0x7f7632c524e4 in execute_native_thread_routine /home/engshare/third-party2/libgcc/11.x/src/gcc-11.x/x86_64-facebook-linux/libstdc++-v3/src/c++11/../../../.././libstdc++-v3/src/c++11/thread.cc:82:18
    #3 0x7f7632f6ec0e in start_thread /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/nptl/pthread_create.c:434:8
    #4 0x7f76330011db in clone3 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

UndefinedBehaviorSanitizer: integer-divide-by-zero buck-out/v2/gen/fbcode/47d914adeee3d982/cachelib/experimental/objcache2/__object-cache__/headers/cachelib/experimental/objcache2/ObjectCacheSizeController-inl.h:33:40 in
```

Reviewed By: jiayuebao

Differential Revision: D39024188

fbshipit-source-id: 64ad644c360565e638fa3ca74616a315038382ab
vinser52 pushed a commit that referenced this pull request Sep 12, 2022
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
igchor pushed a commit that referenced this pull request Oct 4, 2022
Summary:
The current exception string for MapIndexMaxedOut is not very useful because ```oldHashTable.viewWriteHandle()->getKey()``` can have null terminators in it and cause the c_str() to be terminated incorrectly. Regardless, the actual write handle key is not very useful to us. Log the aid explicitly.

Example log:
```
Sep 14 07:12:57 tsp_lla/tao/prod-opt-follower/1879 dpdaemon[442]: E0914 07:12:57.836133  1922 Refill.cpp:215] Index has maxed out for key: #1<A4><D1 (https://github.com/facebook/CacheLib/commit/3ec18f5591f75fa5e247cadad19a86126075bdda)>0F<F6>\
```

Reviewed By: vrishal

Differential Revision: D39518530

fbshipit-source-id: 58b9f31f6c0d174d5ec0bc7705788408bc0d11f4
byrnedj added a commit that referenced this pull request Nov 16, 2022
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
byrnedj added a commit that referenced this pull request Mar 3, 2023
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
vinser52 pushed a commit that referenced this pull request Jul 17, 2023
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
byrnedj added a commit that referenced this pull request Jul 23, 2023
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
vinser52 pushed a commit that referenced this pull request Feb 29, 2024
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants