Skip to content

Commit 8ef799e

Browse files
committed
feat(report): add abstract
1 parent 5e025ce commit 8ef799e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

report/auxiliaries/abstract.typ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
#set text(size: 13pt)
55

6-
6+
A large class of distributed applications (e.g. the irregular applications) requires the use of distributed data structures. A subset of these applications (e.g. the distributed actor model, the fan-out/fan-in pattern) specifically requires distributed multi-producer single-consumer (MPSC) queues. For a distributed MPSC queue to be useful, it must provide high performance and fault tolerance (the notion of fault tolerance is closely linked to the notion of non-blocking). To date, there has been little effort into designing a performant and fault tolerant MPSC queue. In this thesis, we address this question, aiming to provide the programmers with a general-purpose, highly performant and fault tolerant MPSC queue. The key observation that guides us is that there are a lot non-blocking shared-memory MPSC queues in the literature. Therefore, our methodology is to use a bridging model, i.e. BCL CoreX, to adapt these into the distributed domain. We additionally make some optimizations to the resulting queues that take into account the constraint of distributed environments. As a result, we have obtained two fault tolerant (wait-free) MPSC queues that have good theoretical performance characteristics: dLTQueueV2 and Slotqueue. Based on our empirical evaluation against another blocking distributed MPSC queue (AMQueue), our queues perform better in terms of enqueue throughput and a little worse in terms of dequeue throughput. We believe that Slotqueue and dLTQueueV2 offer the right balance of fault tolerance and performance and can aid the programmer in implementing certain programming patterns.

0 commit comments

Comments
 (0)