SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
TFS: a transparent file system for contributory storage
FAST '07 Proceedings of the 5th USENIX conference on File and Storage Technologies
GARDI: A Self-Regulating Framework for Digital Libraries
CIT '09 Proceedings of the 2009 Ninth IEEE International Conference on Computer and Information Technology - Volume 02
MAUI: making smartphones last longer with code offload
Proceedings of the 8th international conference on Mobile systems, applications, and services
AmazingStore: available, low-cost online storage service using cloudlets
IPTPS'10 Proceedings of the 9th international conference on Peer-to-peer systems
CloneCloud: elastic execution between mobile device and cloud
Proceedings of the sixth conference on Computer systems
Eyo: device-transparent personal storage
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Balava: Federating Private and Public Clouds
SERVICES '11 Proceedings of the 2011 IEEE World Congress on Services
COMET: code offload by migrating execution transparently
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Cogset: a high performance MapReduce engine
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
Cloud services traditionally have a centralized architecture, where all clients communicate individually with the central service, and not directly with each other. Data is primarily stored in the cloud, and computations that touch data are performed in the cloud. We present Rusta, a platform that allows cloud services to deploy in a more flexible and decentralized manner, potentially involving the client machines at the edge of the cloud both for storage and processing of data. This can reduce operational costs both by leveraging freely available client resources, and by reducing data traffic to and from the cloud. Rusta includes a group abstraction to delineate webs of trusted peers, a light-weight process abstraction based on asynchronous message passing, and a distributed data storage layer. For elasticity, processes may migrate freely among the clients of a group, and can be replicated in a transparent manner. A central hub service executes in the cloud and maintains critical system state, while delegating work to clients as appropriate. This paper describes the design and current implementation of Rusta, its high-level programming model, and some of its potential applications, in particular as a foundation for highly elastic computations at the edge of the cloud.