C-RAM: breaking mobile device memory barriers using the cloud
File(s)15-TMC-CRAM.pdf (892.77 KB)
Accepted version
Author(s)
Pamboris, A
Pietzuch, P
Type
Journal Article
Abstract
—Mobile applications are constrained by the available memory of mobile devices. We present C-RAM, a system that
uses cloud-based memory to extend the memory of mobile devices. It splits application state and its associated computation
between a mobile device and a cloud node to allow applications to consume more memory, while minimising the performance
impact. C-RAM thus enables developers to realise new applications or port legacy desktop applications with a large memory
footprint to mobile platforms without explicitly designing them to account for memory limitations. To handle network failures with
partitioned application state, C-RAM uses a new snapshot-based fault tolerance mechanism in which changes to remote memory
objects are periodically backed up to the device. After failure, or when network usage exceeds a given limit, the device rolls back
execution to continue from the last snapshot. C-RAM supports local execution with an application state that exceeds the available
device memory through a user-level virtual memory: objects are loaded on-demand from snapshots in flash memory. Our C-RAM
prototype supports Objective-C applications on the unmodified iOS platform. With C-RAM, applications can consume 10× more
memory than the device capacity, with a negligible impact on application performance. In some cases, C-RAM even achieves a
significant speed-up in execution time (up to 9.7×).
uses cloud-based memory to extend the memory of mobile devices. It splits application state and its associated computation
between a mobile device and a cloud node to allow applications to consume more memory, while minimising the performance
impact. C-RAM thus enables developers to realise new applications or port legacy desktop applications with a large memory
footprint to mobile platforms without explicitly designing them to account for memory limitations. To handle network failures with
partitioned application state, C-RAM uses a new snapshot-based fault tolerance mechanism in which changes to remote memory
objects are periodically backed up to the device. After failure, or when network usage exceeds a given limit, the device rolls back
execution to continue from the last snapshot. C-RAM supports local execution with an application state that exceeds the available
device memory through a user-level virtual memory: objects are loaded on-demand from snapshots in flash memory. Our C-RAM
prototype supports Objective-C applications on the unmodified iOS platform. With C-RAM, applications can consume 10× more
memory than the device capacity, with a negligible impact on application performance. In some cases, C-RAM even achieves a
significant speed-up in execution time (up to 9.7×).
Date Issued
2015-12-30
Date Acceptance
2015-12-09
Citation
IEEE Transactions on Mobile Computing, 2015, 15 (11), pp.2692-2705
ISSN
1558-0660
Publisher
IEEE
Start Page
2692
End Page
2705
Journal / Book Title
IEEE Transactions on Mobile Computing
Volume
15
Issue
11
Copyright Statement
© 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Sponsor
Orange Innovation UK Ltd
European Institute of Innovation and Technology - EIT
Grant Number
N/A
.
Subjects
Networking & Telecommunications
0805 Distributed Computing
1005 Communications Technologies
0906 Electrical And Electronic Engineering
Publication Status
Accepted