ABSTRACT
Cloud computing has evolved to meet user demands, from arbitrary VMs offered by IaaS to the narrow application interfaces of PaaS. Unfortunately, there exists an intermediate point that is not well met by today's offerings: users who wish to run arbitrary, already available binaries (as opposed to rewriting their own application for a PaaS) yet expect their applications to be long-lived but mostly idle (as opposed to the always-on VM of IaaS). For example, end users who wish to run their own email or DNS server.
In this paper, we explore 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. We present the design of Picocenter, a hosting infrastructure for such applications that enables use of legacy applications. The key technical challenge in Picocenter is enabling fast swapping of applications to and from cloud storage (since, by definition, applications are largely idle, we expect them to spend the majority of their time swapped out). We develop an ActiveSet technique that prefetches the application's predicted memory working set when reviving an application. 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.
- Amazon lambda. http://aws.amazon.com/lambda/.Google Scholar
- J. Ansel, K. Aryay, and G. Coopermany. DMTCP: Transparent checkpointing for cluster computations and the desktop. In Proccedings of the IEEE International Symposium on Parallel & Distributed Processing (IPDPS'09), 2009. Google ScholarDigital Library
- R. Baden, A. Bender, N. Spring, B. Bhattacharjee, and D. Starin. Persona: an online social network with user-defined privacy. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (SIGCOMM'09), 2009. Google ScholarDigital Library
- P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. ACM SIGOPS Operating Systems Review, 37(5):164--177, 2003. Google ScholarDigital Library
- S. Bazarbayev, M. Hiltunen, K. Joshi, W. H. Sanders, and R. Schlichting. Pscloud: a durable context-aware personal storage cloud. In Proceedings of the 9th Workshop on Hot Topics in Dependable Systems (HotDep'13), 2013. Google ScholarDigital Library
- N. Bila, E. de Lara, K. Joshi, H. A. Lagar-Cavilla, M. Hiltunen, and M. Satyanarayanan. Jettison: Efficient Idle Desktop Consolidation with Partial VM Migration. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys'12), 2012. Google ScholarDigital Library
- BIND DNS Server. https://www.isc.org/downloads/bind/.Google Scholar
- btrfs. https://btrfs.wiki.kernel.org/index.php/Main_Page.Google Scholar
- S. Buchegger, D. Schiöberg, L. H. Vu, and A. Datta. PeerSoN: P2P Social Networking---Early Experiences and Insights. In Proceedings of the International Workshop on Social Network Systems (SNS'09), 2009. Google ScholarDigital Library
- E. Chen, S. Ogata, and K. Horikawa. Offloading Android applications to the cloud without customizing Android. In Proceedings of the 2012 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops'12), 2012.Google ScholarCross Ref
- C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield. Live migration of virtual machines. In Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation (NSDI'05), 2005. Google ScholarDigital Library
- CRIU parasite code. https://criu.org/Parasite_code.Google Scholar
- E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl. MAUI: Making Smartphones Last Longer with Code Offload. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys'10), 2010. Google ScholarDigital Library
- Docker. https://www.docker.com.Google Scholar
- J. R. Douceur, J. Elson, J. Howell, and J. R. Lorch. Leveraging Legacy Code to Deploy Desktop Applications on the Web. In Proceedings of the 8th USENIX conference on Operating Systems Design and Implementation (OSDI'08), 2008. Google ScholarDigital Library
- J. R. Douceur, J. Elson, J. Howell, and J. R. Lorch. The Utility Coprocessor: Massively Parallel Computation from the Coffee Shop. In Proceedings of the USENIX Annual Technical Conference (USENIX'10), 2010. Google ScholarDigital Library
- F. Douglis and J. Ousterhout. Transparent process migration: Design alternatives and the sprite implementation. Software: Practice and Experience, 21(8):757--785, July 1991. Google ScholarDigital Library
- Easy way to prevent heroku idling? http://stackoverflow.com/questions/5480337/easy-way-to-prevent-heroku-idling.Google Scholar
- Filesystem in Userspace. http://fuse.sourceforge.net.Google Scholar
- Google App Engine. https://developers.google.com/appengine.Google Scholar
- A. Greenberg, J. R. Hamilton, N. Jain, S. Kandula, C. Kim, P. Lahiri, D. A. Maltz, P. Patel, and S. Sengupta. VL2: a scalable and flexible data center network. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (SIGCOMM'09), 2009. Google ScholarDigital Library
- HAProxy: The Reliable, High Performance TCP/HTTP Load Balancer. http://www.haproxy.org.Google Scholar
- P. H. Hargrove and J. C. Duell. Berkeley lab checkpoint/restart (blcr) for linux clusters. Journal of Physics: Conference Series, 46(1):494, 2006.Google ScholarCross Ref
- B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, A. D. Joseph, R. H. Katz, S. Shenker, and I. Stoica. Mesos: A platform for fine-grained resource sharing in the data center. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI'11), 2011. Google ScholarDigital Library
- M. R. Hines and K. Gopalan. Post-copy Based Live Virtual Machine Migration Using Adaptive Pre-paging and Dynamic Self-ballooning. In Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE'09), 2009. Google ScholarDigital Library
- J. Howell, B. Parno, and J. R. Douceur. Embassies: Radically Refactoring the Web. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI'13), 2013. Google ScholarDigital Library
- J. Howell, B. Parno, and J. R. Douceur. How to Run POSIX Apps in a Minimal Picoprocess. In Proceedings of the USENIX Annual Technical Conference (USENIX'13), 2013. Google ScholarDigital Library
- P.-H. Kamp and R. N. Watson. Jails: Confining the omnipotent root. In Proceedings of the 2nd International SANE Conference (SANE'00), 2000.Google Scholar
- E. Keller, S. Ghorbani, M. Caesar, and J. Rexford. Live migration of an entire network (and its hosts). In Proceedings of the 11th ACM Workshop on Hot Topics in Networks (HotNets'12), 2012. Google ScholarDigital Library
- R. Kemp, N. Palmer, T. Kielmann, and H. Bal. Cuckoo: a computation offloading framework for smartphones. In Proceedings of the EAI International Conference on Mobile Computing, Applications, and Services (MobiCASE'12), 2012.Google ScholarCross Ref
- A. Kivity, D. Laor, G. Costa, P. Enberg, N. Har'El, D. Marti, and V. Zolotarov. OSv---Optimizing the Operating System for Virtual Machines. In Proceedings of the USENIX Annual Technical Conference (USENIX'14), 2014. Google ScholarDigital Library
- T. Knauth and C. Fetzer. DreamServer: Truly on-demand cloud services. In Proceedings of International Conference on Systems and Storage (SYSTOR'14), 2014. Google ScholarDigital Library
- T. Knauth, P. Kiruvale, M. Hiltunen, and C. Fetzer. Sloth: SDN-enabled activity-based virtual machine deployment. In Proceedings of the Third workshop on Hot Topics in Software Defined Networking (HotSDN'14), 2014. Google ScholarDigital Library
- S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang. Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In Proceedings of the IEEE International Conference on Computer Communications (INFOCOM'12), 2012.Google ScholarCross Ref
- Kubernetes: Container cluster manager from Google. https://github.com/kubernetes/kubernetes.Google Scholar
- O. Laadan and J. Nieh. Transparent Checkpoint-Restart of Multiple Processes on Commodity Operating Systems. In Proceedings of the USENIX Annual Technical Conference (USENIX'07), 2007. Google ScholarDigital Library
- lighttpd Web Server. http://www.lighttpd.net.Google Scholar
- Linux Checkpoint/Restore In Userspace. http://criu.org.Google Scholar
- Linux kernel based virtual machine. http://www.linux-kvm.org.Google Scholar
- Lxc. https://linuxcontainers.org/.Google Scholar
- A. Madhavapeddy, T. Leonard, M. Skjegstad, T. Gazagnaire, D. Sheets, D. Scott, R. Mortier, A. Chaudhry, B. Singh, and J. Ludlam. Jitsu: Just-in-time summoning of unikernels. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI'15), 2015. Google ScholarDigital Library
- A. Madhavapeddy, R. Mortier, C. Rotsos, D. Scott, B. Singh, T. Gazagnaire, S. Smith, S. Hand, and J. Crowcroft. Unikernels: Library Operating Systems for the Cloud. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'13), 2013. Google ScholarDigital Library
- A. Madhavapeddy and D. J. Scott. Unikernels: Rise of the virtual library operating system. ACM Queue, 11(11), 2013. Google ScholarDigital Library
- A. Mohaisen, E. Y. Vasserman, M. Schuchard, D. Foo Kune, and Y. Kim. Secure encounter-based social networks: requirements, challenges, and designs. In Proceedings of the ACM Conference on Computer and Communications Security (CCS'10), 2010. Google ScholarDigital Library
- B. Nicolae, F. Cappello, et al. Towards efficient live migration of i/o intensive workloads: A transparent storage transfer proposal. In Proceedings of the ACM Symposium on High-Performance Parallel and Distributed Computing (HPDC'12), 2012.Google ScholarDigital Library
- R. Niranjan Mysore, A. Pamboris, N. Farrington, N. Huang, P. Miri, S. Radhakrishnan, V. Subramanya, and A. Vahdat. PortLand: a scalable fault-tolerant layer 2 data center network fabric. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (SIGCOMM'09), 2009. Google ScholarDigital Library
- D. E. Porter, S. Boyd-Wickizer, J. Howell, R. Olinsky, and G. C. Hunt. Rethinking the library OS from the top down. ACM SIGPLAN Notices, 46(3):291--304, 2011. Google ScholarDigital Library
- Postfix Email Server. http://www.postfix.org.Google Scholar
- D. Price and A. Tucker. Solaris Zones: Operating System Support for Consolidating Commercial Workloads. In Proceedings of the 18th USENIX Conference on System Administration (LISA'04), 2004. Google ScholarDigital Library
- C. P. Sapuntzakis, R. Chandra, B. Pfaff, J. Chow, M. S. Lam, and M. Rosenblum. Optimizing the migration of virtual computers. ACM SIGOPS Operating Systems Review, 36(SI):377--390, 2002. Google ScholarDigital Library
- M. Schwarzkopf, A. Konwinski, M. Abd-El-Malek, and J. Wilkes. Omega: flexible, scalable schedulers for large compute clusters. In Proceedings of the 8th ACM European Conference on Computer Systems (EuroSys'13), 2013. Google ScholarDigital Library
- S. Soltesz, H. Pötzl, M. E. Fiuczynski, A. Bavier, and L. Peterson. Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. In Proceedings of the ACM SIGOPS/EuroSys European Conference on Computer Systems (EuroSys'07), 2007. Google ScholarDigital Library
- tent.io. http://tent.io.Google Scholar
- K. S. Trivedi. On the paging performance of array algorithms. IEEE Transactions on Computing, 26(10):938--947, Oct. 1977. Google ScholarDigital Library
- A. Verma, L. Pedrosa, M. Korupolu, D. Oppenheimer, E. Tune, and J. Wilkes. Large-scale cluster management at google with borg. In Proceedings of the Tenth ACM/EuroSys European Conference on Computer Systems (EuroSys'15), 2015. Google ScholarDigital Library
- C. A. Waldspurger. Memory resource management in vmware esx server. ACM SIGOPS Operating Systems Review, 36(SI):181--194, 2002. Google ScholarDigital Library
- C. A. Waldspurger and W. E. Weihl. Lottery scheduling: Flexible proportional-share resource management. In Proceedings of the USENIX conference on Operating Systems Design and Implementation (OSDI'94), 1994. Google ScholarDigital Library
- M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, and C. A. De Rose. Performance evaluation of container-based virtualization for high performance computing environments. In Parallel, Distributed and Network-Based Processing (PDP), 2013 21st Euromicro International Conference on, pages 233--240. IEEE, 2013. Google ScholarDigital Library
- B. Yee, D. Sehr, G. Dardyk, J. B. Chen, R. Muth, T. Ormandy, S. Okasaka, N. Narula, and N. Fullagar. Native client: A sandbox for portable, untrusted x86 native code. In Proceedings of the IEEE Symposium on Security and Privacy (S&P'09), 2009. Google ScholarDigital Library
- E. Zayas. Attacking the process migration bottleneck. In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles (SOSP'87), 1987. Google ScholarDigital Library
- Zerovm. https://www.zerovm.org/.Google Scholar
- Picocenter: supporting long-lived, mostly-idle applications in cloud environments
Recommendations
A Conceptual Platform of SLA in Cloud Computing
DASC '11: Proceedings of the 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure ComputingCloud computing is a promising technology, where the infrastructure, developing platform, software and storage are delivered as a service. With the development of cloud computing, more and more cloud service providers emerge. However, there are no ...
Cloud service engineering
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2Building on compute and storage virtualization, Cloud Computing provides scalable, network-centric, abstracted IT infrastructure, platforms, and applications as on-demand services that are billed by consumption. Cloud Service Engineering is the ...
Comments