Scalable Join-Pattern Matching for Observables:
Institution: | Delft University of Technology |
---|---|
Department: | |
Year: | 2015 |
Keywords: | Join-calculus; Reactive Extensions; Pattern-matching |
Record ID: | 1250409 |
Full text PDF: | http://resolver.tudelft.nl/uuid:baba191b-98e8-4918-a90d-79d1429848a3 |
As more and more of our systems become reactive, and have to scale to ever-growing demands, it becomes clear that the democratization of asynchronous programming is an important research subject. We present a novel programming construct that enables declarative and scalable coordination of asynchronous streams of events. Our model is integrated with Scala’s native pattern-matching. The coordination is driven by a novel non-blocking Join-calculus implementation with unique support for bounded buffers leveraging fine-grained concurrency. We use Scala’s experimental, static meta- programming facilities to make our implementation as flexible as a library, but stat- ically optimizing like a compiler. Our micro-benchmarks show an overall, average increase in throughput of 30% when compared to similar state-of-the-art coordination mechanisms.