Abstract:Common design of synchronization mechanisms limits the scalability of multithreaded applications on multi-core platforms,especially reader-writer locks.Recent researches on reader-writer locks mainly focus on how to move the lock acquisition overhead from read side to write side to achieve better performance in read-mostly scenarios.However,writers′ execution blocks any other thread from entering critical sections,which may cause performance degradation if the overhead is too high.To solve this problem,we propose a novel readerwriter lock called dynamic reader-writer lock (dynamicRWLock).DynamicRWLock increases the concurrency of read lock acquisitions when contention is high,and reduces the overhead of write lock acquisitions when contention is low.The evaluation results demonstrate that dynamicRWLock achieves better performance both in a micro-benchmark and in an in-memory database benchmark.