Pure Concurrent Programming

Loading...
Thumbnail Image

Date

Authors

Wang, Benjamin
Zimmer, Uwe

Journal Title

Journal ISSN

Volume Title

Publisher

Institute of Electrical and Electronics Engineers (IEEE Inc)

Abstract

Arvo is a new programming language focuses on concurrency. Its primary goal is to provide the programmer with an simple and concise way to design concurrent systems without explicitly identifying and differentiating concurrent and sequential sections. It does this by preventing the programmer from being able to explicitly define an order between statements or expressions. Thus Arvo conceptually launches all function calls concurrently, while preserving existing data dependencies. Required synchronization is driven purely by those data dependencies and unnecessary locks are avoided. Given that Arvo potentially launches large numbers of threads it also needs a simple way to statically determine when threads end. This paper introduces core concepts of Arvo, which constitute the foundation of its concurrency model. We will also investigate how (or if) expressiveness is being affected by Arvo's design choices.

Description

Keywords

Citation

Source

Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017

Book Title

Entity type

Access Statement

License Rights

Restricted until

2099-12-31