Today a growing number of users host open-source alternatives like iRedMail, ownCloud, GitLab and Rocket.Chat for themselves or small groups, so that they can take control over their data. The natural place to run these applications is the cloud. However we don't see them happen too much, because they have two distinct characteristics set them apart from popular cloud workload. They are a) long-lived services and b) idle most of the time. We called these applications long-lived but mostly-idle (LLMI) applications.
Picocenter is the first attempt to run LLMI applications in today's cloud environments efficiently. Picocenter explores an alternative approach for cloud computation based on a process-like abstraction rather than a virtual machine abstraction, thereby gaining the scalability and efficiency of PaaS along with the generality of IaaS. Picocenter uses Linux container (LXC) to provide a hosting infrastructure that enables use of legacy applications.
In order to run LLMI applications efficiently in the cloud, Picocenter leverages LLMI workload by swapping idle applications to cloud storage (since, by definition, applications are largely idle) and swapping them back quickly. To avoid costly delays when restoring applications, Picocenter develops an ActiveSet technique that learns the set of commonly accessed memory pages when requests arrive; Picocenter first prefetches those pages from cloud storage before fetching additional pages on-demand. ActiveSet technique represents a prediction of the memory pages that are likely to be accessed the next time an application is restored.
An evaluation on EC2 demonstrates that using ActiveSet, Picocenter is able to swap in applications in under 250 ms even when they are stored in S3 while swapped out.
Zhang, Liang, James Litton, Frank Cangialosi, Theophilus Benson, Dave Levin, and Alan Mislove. "Picocenter: Supporting long-lived, mostly-idle applications in cloud environments." In Proceedings of the Eleventh European Conference on Computer Systems, p. 37. ACM, 2016. DOI