MCPrioQ: A lock-free algorithm for online sparse markov-chains

04/28/2023
by   Jesper Derehag, et al.
0

In high performance systems it is sometimes hard to build very large graphs that are efficient both with respect to memory and compute. This paper proposes a data structure called Markov-chain-priority-queue (MCPrioQ), which is a lock-free sparse markov-chain that enables online and continuous learning with time-complexity of O(1) for updates and O(CDF^-1(t)) inference. MCPrioQ is especially suitable for recommender-systems for lookups of n-items in descending probability order. The concurrent updates are achieved using hash-tables and atomic instructions and the lookups are achieved through a novel priority-queue which allows for approximately correct results even during concurrent updates. The approximatly correct and lock-free property is maintained by a read-copy-update scheme, but where the semantics have been slightly updated to allow for swap of elements rather than the traditional pop-insert scheme.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset