6 research outputs found

    Algorithms for games

    No full text

    SnapQueue: lock-free queue with constant time snapshots

    No full text
    We introduce SnapQueues- concurrent, lock-free queues with a linearizable, lock-free global-state transition oper-ation. This transition operation can atomically switch be-tween arbitrary SnapQueue states, and is used by enqueue, dequeue, snapshot and concatenation operations. We show that implementing these operations efficiently depends on the persistent data structure at the core of the SnapQueue. This immutable support data structure is an interchange-able kernel of the SnapQueue, and drives its performance characteristics. The design allows reasoning about concur-rent operation running time in a functional way, absent from concurrency considerations. We present a support data struc-ture that enables O(1) queue operations, O(1) snapshot and O(log n) atomic concurrent concatenation. We show that the SnapQueue enqueue operation achieves up to 25 % higher performance, while the dequeue operation has performance identical to standard lock-free concurrent queues
    corecore