Quantification of Sequential Consistency in Actor-like Systems: An Exploratory Study

Yuheng Long, Mehdi Bagherzadeh, Eric C. Lin, Ganesha Upadhyaya, Hridesh Rajan · 2014

Actor models offer a flexible and scalable concurrent programming model. Sequential consistency is the most intuitive consistency model when understanding concurrent programs and the one most programmers likely assume. Increasing use of actors, e.g. in Er-lang, ActorFoundry, Scala Actors and Akka, and their semantic differences makes it important to understand the relation between the semantics of an actor model and the sequential consistency of programs written in it. This work quantifies and studies this re-lation regarding three criteria of (1) message synchronization, (2) message delivery and processing and (3) sharing semantics among actors. Our study on a large set of actor benchmarks, about 130,000 lines of code in various concurrent programming patterns, suggests that: semantic variations of actor models could cause sequential inconsistencies to vary significantly; and one criterion may affect specific actor programs more than the others; e.g. synchronous messaging for criterion (1) is more important to sequential consis-tency of Loop Parallelism actor programs whereas in-order delivery and processing for criterion (2) is more important to Pipeline pro-grams. Observations of this study may be useful in directing the focus on specific criteria when testing or verifying actor programs or selection of an actor model when programming. 1.

Read the paper · More papers on PaperTik