Documente Academic
Documente Profesional
Documente Cultură
AbstractMobile devices are becoming increasingly capable a two-tier architecture where a mobile device can offload
computing platforms with significant processor power and mem- to a nearby, less capable server, at low latency and high
ory. However, mobile compute capabilities are often underuti- bandwidth, rather than (or as a complement to) offloading to
lized. In this paper we consider how a collection of co-located
devices can be orchestrated to provide a cloud service at the the cloud [15]. In the cloudlet vision, these nearby servers
edge. Scenarios with co-located devices include, but are not would be located in public and commercial spaces where
limited to, passengers with mobile devices using public transit people congregate, such as coffee shops and airport waiting
services, students in classrooms and groups of people sitting areas [15]. One could imagine a third-party provider owning
in a coffee shop. To this end, we propose the femtocloud and operating these cloudlets for profit.
system which provides a dynamic, self-configuring and multi-
device mobile cloud out of a cluster of mobile devices. We We make two observations about the target environment for
present the femtocloud system architecture designed to enable cloudlets that motivate our work. First, while the gap between
multiple mobile devices to be configured into a coordinated cloud truly mobile devices (handhelds, wearable) and high capacity
computing service despite churn in mobile device participation. servers remains [5], mobile devices have grown increasingly
We develop a prototype of our femtocloud system and use it in powerful, especially when laptops are included. Second, from
addition to simulations to evaluate the performance of the system
showing its efficiency and ability to leverage the available devices an architectural perspective, it is possible to refactor the
compute capacity. We contribute to a line of research on small, cloudlet into a controller responsible for receiving tasks,
local and possibly private clouds. scheduling their computation, and returning results and a
compute cluster responsible for performing the computation.
I. I NTRODUCTION Putting these two observations together motivates our research
Since the 2002 paper by Balan et al. making a case for mo- questions: when and how can user devices be combined with
bile devices to cyberforage by finding surrogate (i.e., helper) a controller to form a deconstructed cloudlet or femtocloud?
servers in the environment [1] the research community has And why would that be preferred over a traditional cloudlet?
explored various forms of interaction between mobile devices As a start, configuring a useful femtocloud requires a
and fixed, higher capacity infrastructure, including the cloud. collection of nearby devices with sufficient idle capacity and
The motivation for this exploration has been and remains as sufficient stability to form a compute cluster. It is natural to
articulated by Satyanarayanan[14], namely that mobile devices consider settings where people congregate for time periods,
are resource constrained in comparison with servers, and that often with personal devices, such as coffee shops, classrooms
users desire high performance applications regardless of the or theaters, and public transportation. These example settings
device used to experience the application. By offloading some share additional properties that help make femtoclouds feasi-
computation to more powerful servers, mobile devices can ble:
offer a user experience beyond what local capabilities can There is a natural owner of the setting who may have
support. Further, offloading may allow mobile devices to save a business interest in providing (or contracting for) the
power and extend time between charges. controller that makes the femtocloud work, whether a
In addition to questions of performance speedup, energy coffee shop owner, a university, a theater owner, or a
savings and cost, the key questions for an offloading system public transport provider.
design are: where is the higher performance capacity, who Each setting has semantics that suggest forms of stability
provides it, and how does it fit into a larger computing ecosys- and, importantly, predictability in the duration of time
tem? In traditional cloud computing, the higher performance that a given device is available for use in the femtocloud.
capacity is located in data centers reached via the Internet and A classroom has pre-determined time periods of use
provided by companies that charge for transient server use. during a scheduled class and predetermined times
Traditional cloud computing can offer essentially unlimited when the occupancy will experience most turnover. Public
compute capacity, but at the price of latency and bandwidth transportation offers only fixed chances for occupancy
limitations between the mobile device and the servers in large change, based on bus or train stops. A coffee shop is more
data centers. In response to these limitations, the Cloudlet complicated from a stability and predictability standpoint;
system moves computation closer to mobile devices, creating for now, we simply observe that coffee shop patrons fall
2
utilization, the task is assigned to the mobile device that and the compute requirements of real applications. First, we
enables getting its results earlier regardless of the time taken conduct a measurement study running a matrix multiplication
to send the results of previously assigned tasks as long as (i) application, we develop, with different preset computational
it will be able to send the results before leaving the cluster loads (MFLOPs) on a set of mobile devices. We summarize
and (ii) it maintains the feasibility of receiving the results of the results of this study in in Table II, which shows the
the previously assigned tasks. (3) To maximize the amount of average background thread capacity for the mobile devices.
tasks executed by the cluster, the controller assigns as many We conduct another measurement study to determine the
tasks as it possibly can before a results gathering event is compute resource usage of different real applications. Table IV
triggered by our results gathering heuristics. summarizes this study and shows the compute resource usage
Results Gathering Heuristics: Determining when to start of the following three applications: (1) Chess game in high
gathering the available results from the devices is a very difficulty mode, (2) a video game called Angry Bird Space,
important question. Premature gathering of results wastes an and (3) Object recognition in a video feed (Video Processing).
opportunity of sending more tasks to the executing nodes and In our evaluation, we use the results of these studies coupled
increasing computational throughput. Late gathering, however, with a newly defined compute intensive application.
risks wasting a portion of the results and having to reassign Tables II, IV, and III summarize our experimental param-
some incomplete tasks, which decreases the computational eters. Throughout our evaluation, we use a Poisson arrival
throughput. Therefore, we adopt two mechanisms while gath- process to model the arrival of new users as well as the arrival
ering results: (1) essential gathering mechanism and (2) early of new tasks. We use the following performance metrics:
gathering mechanism. Computational Throughput: This is the average amount
The essential gathering mechanism clusters the results that of useful computations finished by our femtocloud per
have to be transmitted together and sends them in the following
case: second (MFLOPS).
Tremaining < (1 + )Tneeded Compute Resource Utilization: This is the average
utilization of the compute resources in our cluster. To
where Tremaining is the remaining time before the deadline, calculate this utilization, we only consider useful compu-
Tneeded is the needed time to completely send these results tations, which belong to tasks completed by femtocloud.
to the controller, and is a safety factor determined by the Network utilization: This is the average busy time of
controller based on how accurate its estimates are about the the network for sending tasks or receiving results.
available bandwidths and the departure times. We highlight
Overall, we conduct two different sets of experiments. The
that once the essential gathering event is triggered, we use
first set of experiments (Section IV-B) aims for understanding
earliest deadline first heuristic to gather the clustered results.
the effect of different environmental parameters on the per-
The early gathering mechanism utilizes the network in case
formance of femtocloud. In these experiments, we simulated
of the absence of feasible assignment of new tasks to obtain
different environments and studied the effect of different
the results. This approach keeps gathering one-task result at a
parameters in the performance of femtocloud. The second set
time from the available results with the soonest deadline, until
of experiments (Section IV-C) sheds light on the performance
a new task arrival occurs or a change of the system status and
of our developed prototype.
parameters takes place.
IV. E VALUATION B. Femtocloud Simulation Results
In this section we evaluate the performance of the Femto- In this section, we study the impact of changing different
Cloud system, We start by describing our experimental setup environmental parameters on the performance of femtocloud.
followed by presenting and analyzing our results. We start by studying the impact of user arrival rate and
presence time followed by the true effect of stability in the
A. Experimental Setup system. We also study the impact of changing task charac-
To have a realistic performance evaluation, we start by teristics and robustness to estimation errors. In a subset of
identifying the available capacity in real mobile devices, these experiments, we compare femtocloud against a presence
6
100
100
50
Computation Throughput (MFLOPS)
80
80
Network Utilization (%)
30
60
60
20
40
40
10
20
20
rate = 2 Devices/Min rate = 2 Devices/Min rate = 2 Devices/Min
rate = 4 Devices/Min rate = 4 Devices/Min rate = 4 Devices/Min
rate = 6 Devices/Min rate = 6 Devices/Min rate = 6 Devices/Min
rate = 8 Devices/Min rate = 8 Devices/Min rate = 8 Devices/Min
0
0
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Presence Time (min) Presence Time (min) Presence Time (min)
(a) Computational Throughput (b) Network Utilization (c) Computational Resource Utilization
Figure 3: Impact of changing device arrival rate and presence time.
time oblivious scheduler (PreOb). Such scheduler uses the algorithms utilizes the stability to gain more performance.
same task assignment heuristic used by femtocloud but without femtoclouds awareness of the presence time enabled it to
taking the presence time of a device into account. Due to its achieve higher performance than PreOb for low presence time
unawareness of the presence time, it requests the results from values. Figure 4(b) shows that the femtoclouds increased
the device one they become available. performance comes with lower network utilization. The main
Impact of changing user arrival rate and presence time: reason is that without the knowledge of the presence time,
Figure 3 shows the effect of changing the average user pres- PreOb assigns tasks to devices that may not be able to execute
ence time and the average user arrival rate on the performance them and, thus, it may have to reassign them again to another
of femtocloud. Figure 3 (a) shows that the increase in the device. This behavior keeps the network unnecessary busy.
presence time or the user arrival rate, significantly enhances Figure 4 (b) also shows that with the increase of presence
the performance and increases the femtoclouds computational time femtocloud becomes able to execute tasks that require
throughput. This increased computational throughput saturates high compute resource and low network usage. Therefore, the
for large values of the arrival rate or the presence time. To more stable the devices in the femtocloud the less it consumes
explain the reason behind this saturation, we refer to Figure 3 from the network resources.
(b), which clearly shows that the network utilization increases Task characteristics impact: To study the impact of changing
as more tasks get assigned to our devices until it becomes the task characteristics, we conduct an experiment that has
highly utilized and unable to support more task assignments. only single type of tasks (Chess). While maintaining the
Figure 3 (c) shows that the devices utilization decreases average computational requirements and average output size
with the increase of the presence time or the arrival rate. as constants, we vary the input size from 0.5 MBytes to
This decrease is due to having a lot of available devices in 16MBytes. Figure 5 shows the impact of increasing the task
the system which enables distributing the load on them and input size on the performance of femtocloud. It is clear that
minimizing their utilization and overhead. with the increase of the input size, the task characteristics
moves from being CPU bounded, which enables increasing
Stability Impact: Guided by the derivations we draw from
the compute resource utilization, to be fully Network bounded.
Figure 3(c), it is critical to understand the true impact of
Therefore the compute resource utilization decreases and the
the increased user presence on the system independent of
network utilization increases.
the changes to the available compute resources. Therefore we
construct an experiment in which we fix all the parameters Robustness to estimation errors: To measure the impact of
in the system except the presence time of the devices. In errors in estimating the presence time of the user on the
this experiment we have three devices (a Nexus 10 and 2 system, we conduct an experiment in which we introduce
Nexus 7 devices) and we change the average user presence an Gaussian error and changed the mean from -50% of the
time from 15 sec to 1 hour. To isolate the effect of presence presence time to +50% of the presence time. Figure 6 shows
time, once a device leaves our cluster an identical copy that when the error mean is 0, femtocloud is able to achieve
arrives and joins the cluster. Figure 4 shows the results of the highest utilization of the available devices. When the error
these experiments and compares femtcloud to the presence is negative, we have a conservative estimate about the presence
time Oblivious scheduler (PreOb). Figure 4 (a) and Figure 4 time which limits femtocloud usage of a device, which leads
(c) shows that with the increase of the presence time, both to decreasing the compute and network utilization. When the
7
100
100
30
Computation Throughput (MFLOPS)
90
90
Network Utilization (%)
20
80
80
15
70
70
10
60
60
5
50
50
0
0.5 1.0 2.0 5.0 10.0 50.0 0.5 1.0 2.0 5.0 10.0 50.0 0.5 1.0 2.0 5.0 10.0 50.0
Presence Time (min) Presence Time (min) Presence Time (min)
(a) Computational Throughput (b) Network Utilization (c) Computational Resource Utilization
Figure 4: Stability impact.
80 100
100
40 50 60 70 80 90 100
50 60 70 80 90 100
Computing Power Utilization (%)
80
40
70
20
60
40
0
0.5 1.0 2.0 5.0 10.0 0.5 1.0 2.0 5.0 10.0 40 20 0 20 40 40 20 0 20 40
Input Size (MBytes) Input Size (MBytes) Error Mean Percentage (%) Error Mean Percentage (%)
(a) Computational Utilization (b) Network Utilization (a) Computational Utilization (b) Network Utilization
Figure 5: Task characteristics impact. Figure 6: Robustness to estimation errors.
Scenario Oracle femtocloud
error is positive the computational utilization degrades because Full presence 16.54 MFLOPS 14.23 MFLOPS
femtocloud fails to gather all the executed task results. Note Emulated arrival/departure 10.31 MFLOPS 8.86 MFLOPS
that our early gathering heuristic is responsible for minimizing TABLE V
P ROTOTYPE PERFORMANCE MEASUREMENTS
this effect. Figure 6 (b) shows that the network utilization
keeps increasing because femtocloud keeps assigning tasks the arrival of new devices by returning the device to the
more and more tasks while moving from a conservative cluster after average of one minute from its last departure.
estimate to a less conservative one. Further more, when the Table V summarizes these experiment results and shows
error becomes positive, the network utilization will further that femtocloud achieved more than 85% of what the oracle
increase due to reassigning tasks after a device leaves without achieved in both scenarios.
sending their results.
V. R ELATED W ORK
C. Femtocloud Prototype Evaluation We focus our discussion of related work primarily on
In this section, we discuss the results we gathered while systems and architectures to realize offloading of computation
using our prototype. In our experiment, we use three devices, from mobile devices. We then briefly mention key supporting
a Galaxy S5 running Android 4.4.4 in addition to a Nexus technologies.
10[2013] and a Nexus 7[2013] tablets running Android 5.0.2. Early research efforts on offloading computation from mo-
In this experiment, we compare the performance of femtocloud bile devices focused on offloading to the cloud, as exempli-
to an oracle which assumes accurate knowledge of all connec- fied by the MAUI [4], CloneCloud [3], and COSMOS[16]
tivity and execution time for every task on every device. Since systems. MAUIs primary consideration was to reduce energy
this oracle is impossible, we gather measurements from all the consumption at the mobile device, and its primary focus was
devices and use after the fact analysis get the results. on enabling fine-grained code offload without placing too
In our experiment, we compare the achieved compute much burden on application developers by taking advantage
throughput by the oracle and femtocloud under two scenarios: of managed code environments. CloneCloud similarly aimed
(1) Full presence scenario, and (2) Emulated arrival/departure for ease in enabling mobile applications to offload execu-
scenario. In the first scenario, we assume that the three devices tion without adaptation, using static and dynamic profiling.
existed during the whole period of experiment (1 hour). COSMOS, however, focused achieving significant execution
The main goal of this scenario is comparing the maximum speedup while maintaining efficient resource allocation and
achievable performance of femtocloud to the one achieved management using elastic clouds. These systems demonstrated
by the oracle. In the second scenario, we emulate average combined energy savings and execution speedup for applica-
presence time of two minutes for each device. We emulated tions with appropriate properties.
8
During a similar time period, Satyanarayanan and col- of the design of such a system and developed an optimiza-
leagues proposed Cloudlets, introducing a middle tier be- tion framework that led us to scalable heuristic solution
tween mobile devices and the traditional cloud [15]. The to the problem. Our evaluation demonstrated the potential
driving insight behind cloudlets was that the bandwidth and for femtocloud clustering to provide a meaningful compute
latency to the traditional cloud would be limiting for certain resource at the edge. Finally, we plan to extend this work
applications, and thus proximity of resources for offloading by (1) enabling our task assignment problem to take mobile
was critical. Building on this work, those researchers have devices energy consumption into account, (2) designing a
recently proposed just-in-time provisioning of these cloudlets suitable user incentive system to be used in our femtoclouds,
for dynamic virtual machine creation so that mobile tasks (3) deploying our system in various environments, and (4)
can be more easily offloaded and executed [8]. Ciscos fog conducting thorough evaluation of FemtoCloud in each of
computing architecture bears similarities to cloudlets, from the these environments.
vision to extend the cloud computing paradigm to the edge
VII. ACKNOWLEDGMENTS
of the network to the introduction of a layer between data
centers and end devices [2]. Cisco positions fog computing We would like to thank the anonymous reviewers for their
as especially suitable for the Internet of Things, where end insightful feedbacks. This work was supported by the US
devices will include a wide variety of sensors and embedded National Science Foundation through grants NETS 1409589
systems in need of infrastructure support, in addition to user and NETS 1161879.
devices. R EFERENCES
As explained earlier, our femtocloud architecture can be
[1] R. Balan, J. Flinn, M. Satyanarayanan, S. Sinnamohideen, and H.-I.
viewed as a re-factoring of the cloudlet architecture into a Yang. The case for cyber foraging. In Proceedings of the 10th Workshop
controller and compute resources, that need not be realized on ACM SIGOPS European Workshop, EW 10, 2002.
in the same box but instead can leverage idle cycles on local [2] F. Bonomi, R. Milito, J. Zhu, and S. Addepalli. Fog computing and its
role in the internet of things. SIGCOMM MCC, 2012.
devices. Hints in this direction can be found in Nishio et al. [3] B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti. Clonecloud:
where a local cloud is constructed of mobile devices, one Elastic execution between mobile device and cloud. EuroSys, 2011.
of which is elected as a resource coordinator [13]. That work, [4] E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu,
R. Chandra, and P. Bahl. Maui: Making smartphones last longer with
however, focuses less on architecture and system design and code offload. ACM MobiSys, 2010.
more on developing a unifying utility function that allows [5] J. Flinn. Cyber foraging: Bridging mobile and cloud computing. In
an optimization framework for resource sharing under the Synthesis Lectures on Mobile and Pervasive Computing. Morgan and
Claypool, 2012.
assumption that the nodes in the local cloud are stable, [6] M. S. Gordon, D. A. Jamshidi, S. Mahlke, Z. M. Mao, and X. Chen.
experiencing no churn. Comet: Code offload by migrating execution transparently. USENIX
More generally, our work fits into the class of cooperation- OSDI, 2012.
[7] L. Guan, X. Ke, M. Song, and J. Song. A survey of research on mobile
based architectures for mobile cloud computing, as identified cloud computing. IEEE/ACIS ICIS, 2011.
by Guan et al. in their survey of mobile cloud computing re- [8] K. Ha, P. Pillai, W. Richter, Y. Abe, and M. Satyanarayanan. Just-in-time
search [7]. Extreme forms of cooperation, without a controller, provisioning for cyber foraging. ACM MobiSys, 2013.
[9] Y. Kwon, S. Lee, H. Yi, D. Kwon, S. Yang, B.-G. Chun, L. Huang,
map to one end of the spectrum that femtoclouds lie upon, as P. Maniatis, M. Naik, and Y. Paek. Mantis: automatic performance
illustrated earlier. These extreme approaches include systems prediction for smartphone applications. In USENIX ATC, 2013.
such as Serendipity [17], Mobile Device Clouds [11], [10] and [10] A. Mtibaa, A. Fahim, K. A. Harras, and M. H. Ammar. Towards resource
sharing in mobile device clouds: Power balancing across mobile devices.
Hyrax [18]. In SIGCOMM MCC, 2013.
None of these systems would be possible without significant [11] A. Mtibaa, K. Harras, and A. Fahim. Towards computational offloading
effort and advances in areas that address key questions of in mobile device clouds. IEEE CloudCom. IEEE, 2013.
[12] A. Mtibaa, K. A. Harras, K. Habak, M. Ammar, and E. Zegura. Towards
what to offload and how to offload, a division of concerns mobile opportunistic computing. In IEEE International Conference on
nicely articulated in Gordon et al. in their work on OS support Cloud Computing (IEEE CLOUD), 2015.
for offloading [6]. By no means an exhaustive list, these [13] T. Nishio, R. Shinkuma, T. Takahashi, and N. B. Mandayam. Service-
oriented heterogeneous resource sharing for optimizing service latency
technologies include application profiling, code partitioning, in mobile cloud. MobileCloud, 2013.
energy and computation estimation, thread migration, virtual [14] M. Satyanarayanan. A brief history of cloud offload: A personal journey
machine synchronization, safety and security while running on from odyssey through cyber foraging to cloudlets. SIGMOBILE Mob.
Comput. Commun. Rev., 18(4):1923, Jan. 2015.
unmanaged machines. [15] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies. The case for
vm-based cloudlets in mobile computing. IEEE Pervasive Computing,
VI. C ONCLUSION 2009.
[16] C. Shi, K. Habak, P. Pandurangan, M. Ammar, E. Zegura, and M. Naik.
In this paper, we presented the femtocloud system that Cosmos: Computation offloading as a service for mobile devices. In
ACM MobiHoc, 2014.
we developed to leverage mobile devices to provide cloud [17] C. Shi, V. Lakafosis, M. H. Ammar, and E. W. Zegura. Serendipity:
services at the edge. This system falls in the middle of the Enabling remote computing among intermittently connected mobile
stability spectrum of such clustered systems and is considered devices. In ACM MobiHoc, 2012.
[18] C. Teo. Hyrax: Crowdsourcing mobile devices to develop proximity-
an essential step towards opportunistic computing[12]. We based mobile clouds, 2012.
presented the design and architecture of the system. We
identified the task scheduling problem as an important part