My team's latest technical paper has been accepted for the ACM Symposium on Cloud Computing (SOCC 2011)
Orleans: Cloud Computing for Everyone
Cloud computing is a new computing paradigm, combining diverse client devices - PCs, smartphones, sensors, single-function, and embedded - with computation and data storage in the cloud. As with every advance in computing, programming is a fundamental challenge, as the cloud is a concurrent, distributed system running on unreliable hardware and networks.
Orleans is a software framework for building reliable, scalable, and elastic cloud applications. Its programming model encourages the use of simple concurrency patterns that are easy to understand and employ correctly. It is based on distributed actor-like components called grains, which are isolated units of state and computation that communicate through asynchronous messages. Within a grain, promises are the mechanism for managing both asynchronous messages and local task-based concurrency. Isolated state and a constrained execution model allow Orleans to persist, migrate, replicate, and reconcile grain state. In addition, Orleans provides lightweight transactions that support a consistent view of state and provide a foundation for automatic error handling and failure recovery.
We implemented several applications in Orleans, varying from a messaging-intensive social networking application to a data- and compute-intensive linear algebra computation. The programming model is a general one, as Orleans allows the communications to evolve dynamically at runtime. Orleans enables a developer to concentrate on application logic, while the Orleans runtime provides scalability, availability, and reliability.
Contents of this Blog are
Copyright (c) 2015 Jorgen Thelin. All rights reserved.
All content is provided "as-is", without any representations or warrenties of any kind. The opinions expressed here represent my own views and not necessarily those of my current, prior or future employer(s).
Contents of the Blog Feed are licensed under a Creative Commons License.