We explore the problem of efficiently implementing shared data structures in an asynchronous computing environment. We start with a traditional FIFO queue, showing that full replication is possible with a delay of only a single round-trip message between invocation and response of each operation. This is optimal, or near-optimal, runtime for the Dequeue operation. We then consider ways to circumvent this limitation on performance. Though we cannot improve the worst-case time per operation instance, we show that relaxation, weakening the ordering guarantees of the Queue data type, allows most Dequeue instances to return after only local computation, giving a low amortized cost per instance. This performance is tunable, giving a customizable tradeoff between the ordering of data and the speed of access
Baldwin et al. (Mon,) studied this question.