Project

General

Profile

Tasks #51409

Updated by Mark Kogan over 2 years ago

This tracker issue is a TODO list for the remaining tasks for the D3N DataCache following the initial commit. 

 # debug `s3_tests` failures when `--rgw_compression=zlib` 
 # debug s3_tests failures when `rgw_max_chunk_size != rgw_obj_stripe_size` 
 # check if `-o rgw_enable_ops_log=true` is still necesary for D3N operation 
 # does `D3nL1CacheRequest` need to be allocated on the heap? (https://github.com/ceph/ceph/pull/36266/#discussion_r655622746) 
 # does the `aiocb` ilabaio callback structure needs to allocated on the heap? (https://github.com/ceph/ceph/pull/36266/#discussion_r655617364) 
 # check if changing the `d3n_cache_map` from std::unordered_map to `boost::intrusive::list` improves eviction performance (https://github.com/ceph/ceph/pull/36266/#discussion_r494300389) 
 # add perf counters and radosgw-admin & rest facilities to check the amount of d3n cache data stored and object/byte hit ratios 

 additional items from github comment: https://github.com/ceph/ceph/pull/36266/#pullrequestreview-697467454 
 *     support non-yielding version of rgw::d3n_cache_op() 
 *     optimize random eviction 
 *     user docs (high-level feature description, setup instructions, config options) 

 additional todo items: 
 *     add cache-in algorithm selection, ex:  
         option to populate cache on PUT 
         option to populate cache only after certain number of gets during specified time time window 
 *     Predictive Cache Analisis - While the Cache disabled, analyza the load and captures Cache statistics to observes what the Cache hit ratios might be with the Cache enabled (Credit Or) 
 *     Upstreaming of the L2 PR 
 *     Cleanup refactor to minimize the number is #incude's related to D3N code to minimum and move as much as possible of the D3N code from .h files to .cpp files to reduce compile time 


 



Back