Fair Join Pattern Matching for Actors
Join patterns provide a promising approach to the development of concurrent and distributed message-passing applications. Several variations and implementations have been presented in literature — but various aspects remain under-explored: in particular, how to specify a suitable notion of message matching, how to implement it correctly and efficiently, and how to systematically evaluate the implementation performance. In this work we focus on actor-based programming, and study the application of join patterns with conditional guards (i.e., the most expressive and challenging version of join patterns in literature). We formalise a novel specification of fair and deterministic join pattern matching, ensuring that older messages are always consumed if they can be matched. We present a stateful, tree-based join pattern matching algorithm and prove that it correctly implements our fair and deterministic matching specification. We present a novel Scala 3 actor library that implements our join pattern formalisation, leveraging macros to provide an intuitive API. Finally, we evaluate the performance of our implementation, by introducing a systematic benchmarking approach that takes into account the nuances of join pattern matching (in particular, its sensitivity to input traffic and complexity of patterns and guards).
Mon 16 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | |||
15:30 30mTalk | Modal Crash Types for Intermittent Computing PLAID Myra Dotzel Carnegie Mellon University, Farzaneh Derakhshan Illinois Institute of Technology, Milijana Surbatovich University of Maryland, Limin Jia Carnegie Mellon University | ||
16:00 30mTalk | Less is More Revisited: Global Specification and Local Verification Approaches PLAID Nobuko Yoshida University of Oxford, UK, Ping Hou University of Oxford, Iona Kuhn University of Oxford | ||
16:30 30mTalk | Fair Join Pattern Matching for Actors PLAID Philipp Haller KTH Royal Institute of Technology, Ayman Hussein Technical University of Denmark, Hernan Melgratti University of Buenos Aires, Argentina, Alceste Scalas Technical University of Denmark, Emilio Tuosto Gran Sasso Science Institute, L'Aquila, Italy DOI |