Exploring the role of sequential computation in distributed systems: motivating a programming paradigm shift
Name
Exploring the role.pdf
Size
436.55 KB
Format
Adobe PDF
Checksum (MD5)
e6a1aa1218012efc8c37d40ced3d4ee5
Author(s) •
Kuraj, Ivan
Jackson, Daniel
Date Issued
November 2016
Journal
Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software - Onward! 2016
Publisher
Association for Computing Machinery
Citation
Kuraj, Ivan, and Daniel Jackson. "Exploring the Role of Sequential Computation in Distributed Systems: Motivating a Programming Paradigm Shift." Onward! 2016 Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, 2-4 November, 2016, Amsterdam, Netherlands, ACM Press, 2016, pp. 145–64.
Version
Author's final manuscript
Abstract
Despite many advances in programming models and frameworks, writing distributed applications remains hard. Even when the underlying logic is inherently sequential and simple, addressing distributed aspects results in complex cross-cutting code that undermines such simplicity.
This paper analyzes different programming models to motivate a new paradigm that leverages the sequential computation model, while gaining the expressiveness for distribution. The paper argues for an adoption of the paradigm shift by exhibiting a programming model that allows easier reasoning about the conceptual aspects of distributed systems' behavior. The newly proposed programming model provides a clean separation of concerns and retains the simplicity of sequential computation, using it as a basis onto which distributed aspects are added without corrupting the essential sequential structure, while offloading much of the complexity of implementing distributed concerns to the compiler. We demonstrate the feasibility of this model on a case study, identifying key improvements over existing approaches.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2986012.2986015