Content area

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.

Details

1009240
Title
Non-Blocking Concurrent Imperative Programming with Session Types
Publication title
arXiv.org; Ithaca
Publication year
2017
Publication date
Jan 18, 2017
Section
Computer Science
Publisher
Cornell University Library, arXiv.org
Source
arXiv.org
Place of publication
Ithaca
Country of publication
United States
University/institution
Cornell University Library arXiv.org
e-ISSN
2331-8422
Source type
Working Paper
Language of publication
English
Document type
Working Paper
Publication history
 
 
Online publication date
2017-01-19
Milestone dates
2017-01-18 (Submission v1)
Publication history
 
 
   First posting date
19 Jan 2017
ProQuest document ID
2074749436
Document URL
https://www.proquest.com/working-papers/non-blocking-concurrent-imperative-programming/docview/2074749436/se-2?accountid=208611
Full text outside of ProQuest
Copyright
© 2017. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2020-07-20
Database
ProQuest One Academic