Non-Blocking Concurrent Imperative Programming with Session Types
Saved in:
| Published in: | arXiv.org (Jan 18, 2017), p. n/a |
|---|---|
| Main Author: | |
| Other Authors: | , |
| Published: |
Cornell University Library, arXiv.org
|
| Subjects: | |
| Online Access: | Citation/Abstract Full text outside of ProQuest |
| Tags: |
No Tags, Be the first to tag this record!
|
| Abstract: | Concurrent C0 is an imperative programming language in the C family with session-typed message-passing concurrency. The previously proposed semantics implements asynchronous (non-blocking) output; we extend it here with non-blocking input. A key idea is to postpone message reception as much as possible by interpreting receive commands as a request for a message. We implemented our ideas as a translation from a blocking intermediate language to a non-blocking language. Finally, we evaluated our techniques with several benchmark programs and show the results obtained. While the abstract measure of span always decreases (or remains unchanged), only a few of the examples reap a practical benefit. |
|---|---|
| ISSN: | 2331-8422 |
| DOI: | 10.4204/EPTCS.238.7 |
| Source: | Engineering Database |