daos icon indicating copy to clipboard operation
daos copied to clipboard

DAOS-11146 object: cache dc_pool and dc_cont

Open wangshilong opened this issue 3 years ago • 1 comments

Whenever we want to access pool and container pointer in daos client stack, looking a per-proccess handle hash table by daos handle is required. Performance could not scale well for multiple threads because of pthread read lock scability.

To avoid above issue, It is possible to store container and pool pointers in dc_object directly, extra reference will be held for pool/cont if object is opened. during IO, accessing these pointers are safe, even pool/cont are closed, server will return errors.

One of side-effect is if object is not closed properly, dc_pool/dc_cont memory will be leaked.

Benchmarking showed fio 4k random write(32 threads) improved from 381k iops to 1500k iops on Rocky8.

Required-githooks: true

Signed-off-by: Wang Shilong [email protected]

wangshilong avatar Oct 13 '22 07:10 wangshilong

Bug-tracker data: Ticket title is 'Single DAOS client IOPS performance benchmarking' Status is 'In Review' Job should run at elevated priority (3) https://daosio.atlassian.net/browse/DAOS-11146

github-actions[bot] avatar Oct 13 '22 07:10 github-actions[bot]

Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-10558/6/display/redirect

daosbuild1 avatar Oct 25 '22 23:10 daosbuild1

Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10558/7/execution/node/302/log

daosbuild1 avatar Oct 26 '22 15:10 daosbuild1

Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10558/8/execution/node/1083/log

daosbuild1 avatar Oct 29 '22 05:10 daosbuild1