@inproceedings{86ee9aa9c1e64ac7bc80968841477a4d,
title = "Synchronous Message-Passing with Priority",
abstract = "In this paper we introduce a tiered-priority mechanism for a synchronous message-passing language with support for selective communication and first-class communication protocols. Crucially our mechanism allows higher priority threads to communicate with lower priority threads, providing the ability to express programs that would be rejected by classic priority mechanisms that disallow any (potentially) blocking interactions between threads of differing priorities. We provide a prototype implementation of our tiered-priority mechanism capable of expressing Concurrent ML and built in the MLton SML compiler and runtime. We evaluate the viability of our implementation by implementing a safe and predictable shutdown mechanisms in the Swerve webserver and eXene windowing toolkit. Our experiments show that priority can be easily added to existing CML programs without degrading performance. Our system exhibits negligible overheads on more modest workloads.",
keywords = "Concurrent ML, Priority, Synchronous message passing",
author = "Chuang, \{Cheng En\} and Grant Iraci and Lukasz Ziarek",
note = "Publisher Copyright: {\textcopyright} 2021, Springer Nature Switzerland AG.; 23rd International Symposium on Practical Aspects of Declarative Languages, PADL 2021 ; Conference date: 18-01-2021 Through 19-01-2021",
year = "2021",
doi = "10.1007/978-3-030-67438-0\_3",
language = "English",
isbn = "9783030674373",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Science and Business Media Deutschland GmbH",
pages = "37--53",
editor = "Morales, \{Jos{\'e} F.\} and Dominic Orchard",
booktitle = "Practical Aspects of Declarative Languages - 23rd International Symposium, PADL 2021, Proceedings",
address = "Germany",
}