[ACM Press the first edition of the MCC workshop - Helsinki, Finland (2012.08.17-2012.08.17)] Proceedings of the first edition of the MCC workshop on Mobile cloud computing - MCC '12 - Computing in cirrus clouds

  • Published on

  • View

  • Download

Embed Size (px)


<ul><li><p>Computing in Cirrus Clouds: The Challenge of IntermittentConnectivity</p><p>Cong Shi, Mostafa H. Ammar, Ellen W. Zegura, and Mayur NaikSchool of Computer Science, Georgia Institute of Technology, Atlanta, GA 30332, USA</p><p>{cshi7, ammar, ewz, naik}@cc.gatech.edu</p><p>ABSTRACTMobile devices are increasingly being relied on for tasks that gobeyond simple connectivity and demand more complex process-ing. The primary approach in wide use today uses cloud com-puting resources to off-load the heavy lifting to specially des-ignated servers when they are well connected. In reality, a mobiledevice often encounters, albeit intermittently, many entities capableof lending computational resources. In this work-in-progress paperwe first give an overview of this environment, which we call a Cir-rus Cloud due to its intermittent connectivity feature, and explainhow it provides a spectrum of computational contexts for remotecomputation in a mobile environment. An ultimately successfulsystem will need to have the flexibility to handle intermittent con-nectivity and use a mix of options on that spectrum. We investigatetwo scenarios at the extremes of the spectrum: 1) a scenario wherea mobile device experiences intermittent connectivity to a centralcloud computing resource, and 2) a scenario where a mobile deviceoff-loads computation to other mobile devices it might meet inter-mittently. We present preliminary designs, implementations, andevaluations of systems that enable a mobile application to use re-mote computational resources to speedup computing and conserveenergy in these scenarios. The preliminary results show the effec-tiveness of our systems and demonstrate the potential of computingin Cirrus Clouds.</p><p>Categories and Subject DescriptorsC.2.4 [Computer-Communication Networks ]: Distributed Sys-tems Distributed applications</p><p>General TermsAlgorithms, Design, Experimentation, Performance</p><p>KeywordsMobile Cloud, Computation Off-loading, Task Allocation, Inter-mittent Connectivity</p><p>Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.MCC12, August 17, 2012, Helsinki, Finland.Copyright 2012 ACM 978-1-4503-1519-7/12/08 ...$15.00.</p><p>1. INTRODUCTIONMobile devices are increasingly used to perform compute-intensive</p><p>tasks ranging from the leisurely to mission-critical. These includepattern recognition to aid in identifying audio snippets or imagescaptured locally or remotely, reality augmentation to enhance ourdaily lives, collaborative tasks that enhance distributed decisionmaking, and planning and coordination, potentially in real-time.</p><p>Smartphones and tablets are examples of ubiquitous truly portabledevices on which we have to come to rely heavily in everyday life.These devices are becoming increasingly powerful in terms of pro-cessing capability and storage. Battery power availability, whilestill constrained, continues to improve with each device generation.In addition, such devices enjoy the availability of improved con-nectivity options. These have enabled applications that transcendan individual devices capabilities by leveraging remote processingand storage.</p><p>Offloading computation from mobile devices to the cloud is inwide use today. Despite its success, however, it suffers from a num-ber of shortcomings.These include the inflexibility in apportioningwork between the mobile device and the remote cloud, the latencyinherent in accessing remote cloud resources, and the inability tohandle intermittent connectivity as a consequence of device mobil-ity [7, 16]. A related technique for remote processing of mobileapplications proposes the use of cloudlets which provide softwareinstantiated in real-time on nearby computing resources using vir-tual machine technology [16] to address latency issues. Meanwhile,MAUI [8], CloneCloud [7] and ThinkAir [12] automatically appor-tion processing between a local device and a remote cloud resourcebased on the computation and communication environments.</p><p>None of the above approaches address the important and chal-lenging problem of handling intermittent connectivity of mobile de-vices. Moreover, a mobile device often encounters many entities,including other mobile devices, capable of lending computationalresources. Thus, an approach capable of handling connectivity dis-ruptions is not limited to using the cloud and might be able to lever-age this additional computational power.</p><p>In this work-in-progress paper we envision a generalized remotecomputing paradigm, called a Cirrus Cloud, that uses various com-pute resources both mobile and not, to enable its operation in thepresence of intermittent connectivity. We posit that an ultimatelysuccessful system should have the flexibility to handle intermittentconnectivity and use a mix of compute resources. As the first steptowards this goal, we investigate how to use specific kinds of re-sources for remote computing in the presence of intermittent con-nectivity. Specifically, we report our current progress in two scenar-ios: 1) a scenario where a mobile device experiences intermittentconnectivity to a central cloud computing resource, and 2) a sce-</p><p>23</p></li><li><p>Mobile Devices</p><p>Mobile Devices</p><p>Mobile devices resident on vehicles</p><p>Figure 1: System components and network connectivity of Cir-rus Clouds.</p><p>nario where a mobile device off-loads computation to other mobiledevices it might meet intermittently.</p><p>The rest of this paper is organized as follows. Section 2 pro-vides an overview of related work. Section 3 presents our visionof Cirrus Clouds. Sections 4 and 5 present our preliminary workin the above two mobile scenarios, respectively. Lastly, Section 6concludes with a note on future work.</p><p>2. RELATED WORKOur work can be viewed as enabling a truly general vision of cy-</p><p>ber foraging [3, 4] which envisions mobile applications living offthe land by exploiting infrastructure-based computing resources.Because of the popularity of powerful mobile devices, it is now pos-sible to extend the flexibility of this vision to include foraging ofthe available resources in other mobile devices as we propose to doin this work.</p><p>Our work also leverages recent advances in the understandingof data transfer over intermittently-connected wireless networks(also known as disruption-tolerant networks or opportunistic net-works). These networks have been studied extensively in a varietyof settings, from military [14] to disasters [9] to the developingworld [15].</p><p>Our work is also related to systems that use non-dedicated ma-chines with cycles that are donated and may disappear at any time.In this vein, our work takes some inspiration from the Condor sys-tem architecture [19]. Our work also resembles in part distributedcomputing environments that have well-connected networks butunreliable participation in the computation. Examples of these sys-tems include BOINC [1], SETI@home [2], and folding@home [6],all leveraging the willingness of individuals to dedicate resourcesto a large computation problem. More recently, the Hyrax projectenvisions a somewhat similar capability to opportunistically use theresources of networked cellphones [13].</p><p>3. COMPUTING IN CIRRUS CLOUDSIn this section we describe our vision and the challenges of com-</p><p>puting in Cirrus Clouds.</p><p>3.1 System Components and Network Connec-tivity</p><p>Mobile devices roam in a very rich communication and comput-ing environment today, as shown in Figure 1. For our purposes weclassify elements of this environment in the following four cate-gories.</p><p> User-carried mobile devices: Today such devices are typi-cally smartphones or tablets. They are portable and thus ex-</p><p>perience significant mobility. Applications requiring compu-tation are initiated on these devices.</p><p> Mobile computing resources attached to moving vehicles: Itis increasingly possible to piggyback computing resources onvehicles such as buses [18]. Such systems are not resourceconstrained since they can derive power from a vehicles bat-tery. They may also have somewhat predictable mobility pat-terns.</p><p> Infrastructure-based computing resources: These are similarto cloudlets [16] in the sense that they are pre-provisionedcomputing resources that are accessible locally over a wire-less access point.</p><p> Central cloud resources: These are data centers that are al-ways equipped and ready to undertake a particular computa-tion task.</p><p>We are interested in enhancing computation in mobile user de-vices without constraining their mobility patterns. While user de-vices will, over time, come in contact with other devices that canprovide computing resources, such contact will be intermittent andof potentially indeterminate duration. Two nodes within commu-nication range of each other experience a contact opportunity thatlasts for as long as they can hear each other. One way to char-acterize such connectivity is by describing the pattern of contactopportunities. During a contact, nodes can transfer data to eachother. Both the duration and the transfer bandwidth of a contact arelimited. A node can deliver data to a destination node directly ifthe latter is within radio range, otherwise delivery occurs throughrouting via intermediate nodes.</p><p>Intermittent connectivity could be totally unpredictable, only sta-tistically predictable or sometimes highly predictable. Additionallycontrol channels can be used when available to help predict contactopportunities [5]. We consider all these variations in our research.</p><p>3.2 Computational ContextsBased on our categorization of the system components, we en-</p><p>vision a spectrum of computational contexts, some of which areshown in Figure 2.</p><p>a) Intermittent Cloud b) Intermittent Cloudlets c) Intermittent mobile devices</p><p>Figure 2: Senarios on spectrum of computational contexts inCirrus Clouds.</p><p>At one extreme is the traditional cloud-computing context wherea mobile device is intermittently connected to remote cloud re-sources maintained by a service provider with which it has an es-tablished relationship, as shown in Figure 2(a). We present ourpreliminary work on handling the intermittent connectivity in thisscenario in Section 4.</p><p>Next on the spectrum is the use of cloudlets on which servicesoftware is dynamically instantiated to enable the off-loading ofcomputation from the mobile device, as shown in Figure 2(b). Theoriginal cloudlet concept implicitly constrained the off-loading ofcomputation to a single cloudlet. In our work we consider the casewhen the mobile device has contact with a number of cloudlet-likeresources on an intermittent basis.</p><p>24</p></li><li><p>Moving along the spectrum, at the other extreme, we considerthe case where a mobile devices contacts are only with other mo-bile devices, as shown in Figure 2(c). This is an extreme compu-tational environment where both the computation initiator and theremote computational resources are mobile. We summarize ourprior work on such environments in Section 5.</p><p>Our long-term work is based on the premise that an initiator mo-bile devices environment for remote computation will be, in themost general case, a hybrid of such systems. As such the deviceneeds to learn about the capabilities of its environment and adaptits remote computation decisions accordingly.</p><p>3.3 ChallengesThere are many challenges facing the realization of our vision as</p><p>described above. We next outline these challenges.Dealing with intermittent connectivity: This is one of the dis-</p><p>tinguishing features of our work and necessitates a fresh look at theissues concerned with remote execution of mobile services. Inter-mittent connectivity causes two types of problems. The first is thepossibility that the duration of a contact may not be long enoughto complete the process of handing off the computation subtask,waiting for it to complete on the remote device, and receiving theresult. The second problem is the potential unpredictability of con-tacts. The manner in which the issue is addressed depends on thedetails of both the type of computation and the exact networkingand computational context. In our description of preliminary work,we show examples of how these issues may be dealt with in specificscenarios.</p><p>Structuring computation to make it amenable to remote ex-ecution: Executing an application across multiple mobile or fixeddevices with varying connectivity poses the challenge of how topartition the execution between the devices automatically, efficiently,and optimally. Today, a mobile application is either written in amonolithic fashion, accommodating as much functionality as possi-ble on the mobile device; or in the traditional client-server paradigm,by delegating most computation to a remote server; or it is tailoredto match an expected combination of client, environment, and ser-vice. Our setting, however, demands significantly more flexibilityin how an application is partitioned: a partitioning that is optimalin one scenario (e.g., a low-end mobile device with good connec-tivity) might fare poorly in another (e.g., a high-end mobile devicewith intermittent connectivity). Often, such characteristics of thedevices and network are unknown to programmers ahead of time,or the possible configurations are too numerous to customize.</p><p>Designing a decision-making framework for handing-off com-putation to remote resources: Addressing the application parti-tioning challenge above needs to be accompanied by a frameworkthat enables adaptive and possibly real-time decisions of computa-tion subtask allocation. Subtask profiling in terms of running time,communication requirements, and power consumption is a neces-sary input to enable allocation decisions.</p><p>4. INTERMITTENTLY CONNECTED CLOUDIn this section, we study the scenario that a mobile device experi-</p><p>ences intermittent connectivity to a central Cloud, as shown in Fig-ure 2(a). Specifically, we investigate how to extend CloneCloud [7]to work efficiently in that scenario.</p><p>CloneCloud [7] is a system that automatically partitions mobileapplications and offloads the heavy lifting to the Cloud to min-imize the execution time and energy consumption. It uses staticanalysis to identify legal choices for placing migration points in thecode and dynamic profiling to construct a profile tree for every ap-</p><p>plication. Each tree node represents a method that can be migratedand is annotated with its execution cost. Each edge represents themethod call and is annotated with the data size to be transfered. Atruntime, CloneCloud migrates an application from the mobile de-vice at chosen migration points to the Cloud and re-intergrates itback after finishing execution.</p><p>Since CloneCloud uses the current communication condition tochoose the migration points at runtime, it will experience extra de-lay when it intermittently connects to the Cloud. For...</p></li></ul>