The Personal Cloud — Design, Architecture and Matchmaking Algorithms for Resource Management

The Personal Cloud — Design, Architecture and Matchmaking Algorithms for Resource Management

The Personal Cloud — Design, Architecture and Matchmaking Algorithms for Resource Management Adiseshu Hari Ramesh Viswanathan Bell Labs, USA Bell Labs, USA [email protected] [email protected] T.V. Lakshman Y. J. Chang Bell Lab, USA ITRI, Taiwan [email protected] [email protected] Abstract Planetlab [1] to exploit academic computing resources, edge computing platforms like BOINC [2] and Seat- We introduce the notion of a Personal Cloud — a collec- tle Open P2P Computing project [3] and applications tion of Virtual Machines (VMs) running on unused com- like SETI@home [4] which seek to harness unused puters at the edge. The Personal Cloud provides an ideal home computing resources. The Nano Data Centers solution for the secure sharing of compute and storage re- Project [14] is an EU FP7 project to explore the notion sources across peers in a resource and application agnos- of a distributed datacenter built out of unused edge re- tic manner, and facilitates new computational paradigms sources like settop boxes, internet gateways and Wifi ac- such as datacenter-less, distributed virtual clouds. We cess points. The Personal Cloud concept differs from all provide and implement solutions for the challenges of the above. First, the Personal Cloud takes unused x86 managing a Personal Cloud, such as IP address sharing, based computers (not settop boxes) at home and converts bandwidth sharing and isolation from local home net- the collection into a standard IaaS cloud hosting arbitrary work traffic. We also propose and implement a prov- VMs, rather than a restricted application level virtualiza- ably optimal solution to the resource management prob- tion environment. Second, unlike a Grid, or a Commu- lem, allowing peers to share VMs across their individual nity Cloud [5] which pools unused resources into a com- Personal Clouds by specifying their resource offers and mon Cloud, the user hosting the Personal Cloud does not requests, and verify its performance via detailed simula- do so to run VMs on his own Personal Cloud, though the tions. user is free to do so. The goal of the Personal Cloud is to instead host VMs of others safely in the user’s home 1 Introduction network — the motivation for hosting being either ac- cess to the Personal Clouds of others, or credit in virtual Each endpoint of the Internet represents resources such or financial form. Finally, when a user runs VMs on a as CPU, storage and bandwidth which are the exclusive remote Personal Cloud, the VMs are isolated in a Vir- property of the owner of the endpoint. There are ben- tual Private Cloud(VPC) [6] such that they share a com- efits, however, in sharing unused resources, for exam- mon address space, which allows them to communicate ple, two peers could agree to do a mutual backup, or a directly amongst themselves, but are isolated from both group could get together to create a shared repository the home network address space and the VPCs of other by using unused computers. A fundamental challenge users who are running VMs on the same Personal Cloud. in resource sharing, however, is the security and privacy We expect three distinct use cases of the Personal needed for hosting remote jobs on local resources. In Cloud. The first use case, on which we focus in this this paper, we describe an architecture which we call the paper, is for individual users to create Personal Clouds Personal Cloud, which packages unused edge resources and use them to run cloud based applications such as on- into a standard Infrastructure as a Service (IaaS) Cloud line backup and file sharing, bypassing traditional public such that arbitrary VMs and applications can be safely clouds for reasons of cost or personal preference. The run locally and accessed remotely. second use case is to federate the individual Personal Since the birth of the Internet, there have been nu- Clouds into a single distributed virtual data center cloud, merous attempts to create platforms for remote and dis- at a cost that is a small fraction of traditional clouds. The tributed computation. Today, we have Grid comput- final use case is in universities and enterprises, where de- ing which seeks to harness unused enterprise resources, partmental and lab resources can be packaged into indi- 1 Chief Mgmt VM Home Network VM3 VM4 Personal Cloud VM1 VM2 Portal Matchmaker App VMs TCP/IP TCP/IP TCP/IP TCP/IP NAT Home Broadband Service Computer Computer Computer Service TC Router Modem Provider Provider veth0 veth0 veth0 veth1 veth2 eth0 1 WifiWifi Physical Machine 1 Computer Computer Network 2 VM5 VM6 VM7 Mgmt VM VM8 Figure 1: High Level Overview of a Personal Cloud 3 TCP/IP TCP/IP TCP/IP TCP/IP TC veth0 veth0 veth0 veth1 veth2 eth0 vidual Personal Clouds, which can then be combined to meet requirements. Physical Machine 2 The Personal Cloud lifecycle follows four steps. First, the user creates a Personal Cloud by installing the Per- sonal Cloud software onto unused computers using stan- Figure 2: Virtual Networks inside the Personal Cloud dard install media like a CD or Flash Drive. Second, the user trades VMs by offering VMs from his cloud, and requesting VMs from other clouds. A key contri- management solutions such as Amazon EC2 [7] and Eu- bution of this paper is the concept of matchmaking, or calyptus [8]. We highlight that functionality needed for matching the VM requests and VM offers of each user a Personal Cloud that is missing in conventional cloud in an optimal manner such that the maximal number of management solutions. requests are satisfied. Third, the VM assignments of the Some of the principal technical challenges addressed matchmaking algorithm are used by each user to instanti- in our current implementation of the Personal Cloud are: ate and allocate local VMs to remote users, and to access Security and Privacy of the VMs running on the Per- remote VMs assigned to the user. Lastly, as participat- sonal Cloud, VM Network isolation, Bandwidth (BW) ing computers, users, requests and offers change, there sharing, IP Address sharing and NAT Traversal. is an incremental change to the VM assignment. We ex- It is important to isolate and secure the hosting user pect all steps to be simple enough for laymen to partic- from the VMs in the Personal Cloud and prevent mali- ipate in the lifecycle. The initial sections of the paper cious snooping, Denial of Service attacks or excessive present the concept of the Personal Cloud and explain its bandwidth consumption from these VMs. In this paper, architecture and implementation, while the later sections we focus on this issue, and show how we isolate users of describe the Matchmaking algorithm and its simulation. the Personal Clouds into individual VPCs with capped bandwidth limits. We rely on a key VM called the Man- 2 Architecture of the Personal Cloud agement VM (Mgmt VM) which is installed on each ma- chine in the Personal Cloud. These VMs, and their in- Assumptions A detailed view of the Personal Cloud is ternal architecture is show in Figure 2. One of the Mgmt shown in Figure 1. VMs run on the subset of home VMs becomes the Chief Management VM (Chief Mgmt computers that is dedicated to the Personal Cloud and VM) through an automatic election process. The Mgmt are assumed to be always powered on and static. All VMs are lightweight enough to impose minimal over- these home computers are connected to a home net- heads, and can be folded into the hypervisor for those work, which is in turn connected to the Internet via a hypervisors which provide the requisite interfaces, e.g., Home Router and a broadband modem. The home router the Dom0 domain in Xen or the Linux host in KVM. obtains at least one public IP address (not necessarily Management The Chief Mgmt VM acts as the gate- static), uses DHCP to distribute private IP addresses to way for Internet traffic to and from the Personal Cloud. computers in the home network, and uses NAT (Network It runs a web portal which manages the Personal Cloud Address Translation) to share the public IP address(es) VMs. Amongst its tasks are Personal Cloud automation amongst all the home computers. We assume that the including the instantiation and deletion of VMs, assign- vast majority of Personal Clouds will consist of a small ment of VMs to users, assignment of VMs to virtual net- group of computers, hence scalable intra cloud network- works, isolation and security of inter VM traffic, QoS ing is not an issue. The architecture we present is hy- restrictions on network traffic to and from the Personal pervisor agnostic and complementary to existing cloud Cloud, and IP address sharing and application proxying 2 across multiple VMs. work. VM Networking The main goal of VM networking in Address Sharing and NAT Traversal One major net- the Personal Cloud is to provide each user of the cloud working issue with Personal Clouds is the sharing of the with a separate, fully isolated virtual network, while limited public address space (usually just one) with the shielding the local user traffic from the Personal Cloud multiplicity of VMs such that each remote user can ac- traffic. Unlike existing cloud networking schemes like cess his or her VM independent of other users. Note that Seattle [12] or NetLord [13] which focus on creating a the problem lies with traffic coming from the Internet scalable L2 infrastructure within a data center, our goal to the Personal Cloud. Outgoing traffic from the Per- for VM networking is creation of a large number of sonal Cloud is NATed as normal by the home router, and virtual networks without any assistance in the form of does not have any reachability problems.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us