-
Notifications
You must be signed in to change notification settings - Fork 520
Foresight based buffer implementation (with UMM integration) - not a feasible design #2341
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
* add getNextAccessTime() for O(1) evict queries * add getBlocksInWindow() for prefetch lookup * cleanup() for memomry management with sliding window * ArrayList to LinkedList for O(1) removal * clear() method
* in the accesses list, remove the older access from currenttime
|
Thanks @j143 for getting started on the OOC eviction logic. As a first step, I would recommend to implement a basic eviction mechanism for cached OOC streams (see resettable queue). We anyway need this baseline to compare the performance of any compiler-assisted optimization ("foresight-based") eviction and prefetching. Furthermore, you could use primitives from the LazyWriteBuffer but implement your own OOCEvictionManager (singleton) that all in-flight OOC streams can interact with. The UnifiedMemoryManager had a different purpose (reservations before running operations) such that I would not integrate the OOC logic there. |
|
Hi @mboehm7 - thanks for the design comments. that simplifies my design. let me create a design separately for OOC. |
It is fully work in progress implementation. Hoping to get it in a good shape in a couple of days.
look at review comment : #2341 (comment)