• No results found

Cloud Computing for Mobile Users: Can Offloading Computation Save Energy?

N/A
N/A
Protected

Academic year: 2021

Share "Cloud Computing for Mobile Users: Can Offloading Computation Save Energy?"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

Cloud Computing for Mobile Users: Can

Offloading Computation Save Energy?

Karthik Kumar and Yung-Hsiang Lu Purdue University

Abstract: The Cloud heralds a new era of computing where application services are provided through the Internet. Cloud computing can enhance the computing capability of mobile systems. Is cloud computing the ultimate solution for extending battery lifetimes of mobile systems?

keywords: mobile cloud computing, energy savings

What is cloud computing?

Cloud computing [1] is a new type of service provided through the Internet. In cloud computing, the computing resources such as processor, memory, and storage are not physically present at the users’ location. Instead, the computing resources are owned and managed by a service provider and the users access the resources via the Internet. For example, Amazon offers Elastic Compute Cloud (EC2) and Simple Storage Service (S3); personal data can be stored on their cloud using S3 and computation can be performed on the stored data using EC2. This type of computing paradigm provides many advantages for businesses, including low initial capital investment, shorter start-up time for new services, lower maintenance and operation cost, higher utilization through virtualization, and easier disaster recovery. Such advantages make cloud computing an attractive option. Some reports [1], [2] suggest that there are only benefits in shifting computing from desktops to the cloud. How about cloud computing for mobile users? The primary constraints for mobile computing are limited energy and wireless bandwidth. In this article, we investigate how cloud computing may provide energy savings as a service to mobile users and describe challenges and possible solutions.

Techniques to save energy for mobile systems

Mobile systems, such as smart phones, become the primary computing platforms for many users. Various studies have shown that “longer battery lifetime” is the most desired feature of mobile systems.

(2)

A study in 2005 among users across 15 countries [3] also showed longer battery life was the top concern, above all other features, such as cameras or storage. A 2009 survey by Changewave Research [4] shows short battery life to be the most disliked feature on Apple’s iPhone 3GS In August 2009, a Nokia poll showed that “battery life” is the most desired feature for music phones. There are many applications that are too computation-intensive to be performed on a mobile system. If a mobile user wants to use such applications, the computation has to be performed on the cloud. Other applications such as image retrieval, voice recognition, gaming, navigation, etc can be performed on a mobile system. However, they consume significant amounts of energy. Can offloading these applications to the cloud save energy and extend battery lifetimes for mobile users?

Low power has been an active research topic for many years. In IEEExplore, searching “low” and “power” in the document title produces over 5,000 papers. Techniques for saving energy and extending battery lifetime can be classified into several categories: (1) Adopt new generation of semiconductor tech-nology. As transistors become smaller, each transistor consumes less power. Unfortunately, as transistors become smaller, more transistors are used to provide more functionalities and better performance; as a result, power consumption actually increases. (2) Avoid wasting energy. Whole systems or individual components may enter standby or sleep modes to save power. (3) Execute programs slowly. When a processor’s clock speed doubles, the power consumption nearly octuples. If the clock speed is reduced by half, the execution time doubles but only one quarter of energy is consumed. (4) Eliminate computation all together. This sounds like a free lunch but it is possible, except that the computation is not performed at the mobile system. Instead, computation is performed somewhere else and the mobile system’s battery lifetime can be extended. This article focuses on the last approach for energy conservation.

Offloading computation to save energy

Sending computation to another machine is not truly a new idea. The currently popular client-server computing model is an example. Mobile users can launch web browsers, search the Internet, or shop on-line. What separates cloud computing from the existing client-server model is the adoption of virtual-izationin cloud computing. Through virtualization, cloud vendors can execute arbitrary programs given by the users. This is different from client-server computing because the programs running on the servers are managed by the service providers. In contrast, cloud vendors provide computing cycles and users, in particular, mobile users, can use the cycles to reduce the amounts of computation on the mobile systems and save energy. In other words, cloud computing provides the possibility ofenergy savings as a service for mobile users. This is called computation offloading [5].

(3)

Virtualization is a fundamental feature in cloud computing. Virtualization allows applications from different customers to run on different virtual machines; hence, providing separation and protection.

Energy analysis for computation offloading

Various studies about offloading focus on the question whether to offload computation to a server [6], [7]. The following is a simple analysis for this decision. Suppose the computation requiresCinstructions. Let S and M be the speeds, instructions per second, of the cloud server and the mobile system. The same task takes CS and MC seconds on the server and the mobile system respectively. Suppose Dbytes of data are exchanged between the server and the mobile system. B is the network bandwidth. It takes DB seconds for transmitting and receiving data. Suppose the mobile system consumesPc for computing,Pi while being idle, and Ptr for sending and receiving data. In general, transmission power is higher than reception power but we use the same power in this simplified analysis.

If the computation is performed at the mobile system, the energy consumption is Pc × MC. If the computation is performed at the server, the energy consumption is Pi× CS +Ptr ×DB. The amount of energy saved is

Pc× MC −Pi×CS −Ptr ×DB. (1)

Suppose the server is F times faster, i.e.S =F ×M. We can rewrite the formula as C M ×(Pc− Pi F)−Ptr× D B. (2)

Energy is saved when this formula produces a positive number. The formula is positive if (a) DB is sufficiently small compared with MC and (b)F is sufficiently large. The values ofM, Pi,Pc, andPth are parameters specific to the mobile system. For example, an HP iPAQ PDA with a 400 MHz (M = 400) Intel Xscale processor has the following values Pc ≈0.9W,Pi≈0.3W, andPtr ≈1.3W. If we use a 4 core server, with a clock speed of 3.2GHz, the server speedup F may be given by MS ≈ 3.2×1024400×4×X, where X is the speedup due to additional memory, more aggressive pipeline, etc. If we assume X= 5, we obtain the value of F ≈ 160. The value of F can increase even further for cloud computing if the application is parallelizable, since we can offload to multiple servers. If we assume that F = 160, equation (2) becomes C 400×(0.9− 0.3 160)−1.3× D B ≈(0.00225×C)−1.3× D B (3)

(4)

For offloading to break-even, we equate equation (3) to zero, and we obtain

Bo≈577.77×DC, (4)

where Bo is the minimum bandwidth required for offloading to save energy, determined by ratio of

D

C. If DC is low, then offloading can save energy. Thus offloading is beneficial when large amounts of

computation C are needed with relatively small amounts of communication D. Existing studies focus on determining whether to offload by predicting the relationships betweenD, C,and B. Figure 1 shows how these variables affect the offloading decision. We use two examples to illustrate these factors: (1) chess game and (2) image retrieval.

Fig. 1. The offloading decision depends on the values ofC,D, andB.

Applications for offloading

Chess is one of the most popular games in the world. A chessboard has 8 × 8 = 64 positions. Each player controls 16 pieces at the beginning of the game. Chess is Markovian, meaning that the game is fully expressed by the current state, regardless of the history before reaching the current state. Each piece may be in one of the 64 possible locations and needs 6 bits to represent the location. This is an overestimate because some pieces have restrictions; for example, a bishop can move to only half of the board, i.e. 32 possible locations. To represent the current state of a chess game, 6 bits × 32 pieces = 192 bits = 24 bytes are sufficient; this is smaller than the size of a typical wireless packet. The amount

(5)

of computation for chess is very large; Shannon and Allis estimated the complexity of chess to exceed the number of atoms in this universe. Chess can be parallelized [8], making the value of F in equation (2) very large. Since the amount of computation C is extremely large and D is very small, chess is an example where offloading is beneficial for most wireless networks.

Image retrieval is an application where images similar in content to a query are retrieved from an image collection. The retrieval is done by comparing numerical representations of the images, called

features. The features for the image collection may be computed in advance; for a query, its features are computed during retrieval, and compared with the image collection. Since most of the computation is done in advance, less computation is performed online, and the value ofC is small. D is large since a large amount of data needs to be sent. As a result, even if the value of F becomes ∞, DB may still be too large when compared to MC in equation (2). This makes offloading save energy only if B is very large; thus offloading saves energy only at high bandwidths.

Does cloud computing make computation offloading more attractive?

The analysis indicates that the energy saved by computation offloading depends on the wireless bandwidth B, the amount of data to be transmitted D, and the amount of computation to be performed C. However, there is a fundamental assumption underlying this analysis: all the data needs to be sent to the service provider. This is because the model is based on the assumption that the server does not already contain the data. The client needs to offload the program and the data to the server. For example, a newly-discovered server for computation offloading does not already contain a mobile users’ personal image collection. However, cloud computing changes that assumption: the cloud stores data and performs computation on the stored data. For example, services like Google’s Picasa and Amazon’s Simple Storage Service (S3) can store data, and Amazon’s Elastic Compute Cloud (EC2) can be used to perform computation on the data stored using S3.

This results in a significant change in the value of Dfor most applications. There is no longer a need to send the data over the wireless network; it suffices to send a pointer to the data. Also the value of F is elastic: large numbers of processors can be obtained on the cloud. This increases the energy savings in equation (2): very smallDand very largeF imply that energy can always be saved.Does this mean that cloud computing is the “ultimate” solution to the energy problem for mobile users? Not quite. While cloud computing has tremendous potential to save energy, there are several issues to be considered. Some of the issues with cloud computing include privacy and security, reliability, and handling real-time data.

Why cloud computing may not save energy Privacy and security:

(6)

In cloud computing, traditional stand-alone programs are replaced by web applications, and data is no longer stored in users’ computers. Shifting all the data and computing resources to the cloud can have implications for privacy and security. Since the data is stored and managed on the cloud, security and privacy settings depend on the IT management provided by the cloud. A bug or security loophole in the cloud may result in breach of privacy. For example, in March 2009, a bug in Google allowed documents to be shared without owners’ knowledge [9]. A breach in Twitter in July 2009 allowed a hacker to obtain confidential Twitter documents [10]. Cloud service providers typically work with many third party vendors. There is no guarantee how these vendors may safeguard data. For example, a phishing attack in 2007 duped a staff member for salesforce.com into revealing passwords; the passwords were used to access confidential data.

Another example of a potential privacy violation is when a user offloads location-based navigation to the cloud: this could result in “tracking” an individual. If this data is logged in the cloud, it is possible to reveal the information and violate the privacy of the individual. Moreover, data on the cloud may be stored in multiple locations, across different states and countries. Data that might be secure in one country may not be secure in another: different jurisdictions may apply over accessing the data. For example, the European Union favors more strict protection of privacy when compared to the US, where laws such as the Patriot Act give the government and other agencies more power to access information. Since the storage locations are typically unknown to the user, there is no knowledge about the laws that apply to safeguarding data. This may result in serious security concerns for a company that stores its trade secrets on the cloud, or a user that uploads a patentable idea from a mobile system to the cloud.

All these examples make it evident that all data cannot be stored in the cloud without considering the privacy and security implications. One possible solution to storing data is encrypting the data before storage. However, the problems cannot be solved by encryption alone. Figure 2 shows two scenarios of encryption. In the first scenario, the data are kept encrypted at the cloud storage. This can prevent unauthorized access even when the storage is breached at the cloud. In Figure 2(b), the data are decrypted at the cloud vendor because of the need to perform operations on the data. This is the general case for cloud services. If it is a document, the cloud vendor must know which words are used to check spelling. If it is a spreadsheet, the cloud application must know the numbers for calculation. Another possible solution is using a technique calledsteganography(see sidebox on Data Outsourcing and Privacy). Steganographic techniques can be used to transform the data such that operations can be performed without exposing the data.

(7)

h^Z

;dͿ &/28' 6725$*( (1&5<37 d ;dͿ

/EdZEd

h^Z

d ;dͿ ;dͿ d

/EdZEd

('$7$ '(&5<37 (1&5<37 &/28' 6725$*( ('$7$

Fig. 2. (a) Encryption protects from unauthorized access through the Internet; the cloud vendor cannot access the data, either. This is applicable in cloud storage. (b) Data are decrypted at the cloud vendor. This is necessary when operations on the data are necessary.

additional processing Cp on the mobile system and consumes additional energy. Equation (2) can be rewritten as C M ×(Pc− Pi F)−Ptr× D B −Pc× Cp M. (5) where Pc × Cp

M is the additional energy required to protect privacy and security. If this energy is

significant, cloud computing may not save energy for the mobile user. It may be more energy-efficient to perform operations on the mobile system, since Cp = 0 when the computation is performed on the device.

Reliability:

Another potential concern with cloud computing is reliability [11]. A mobile user performing com-putation on the cloud is dependent on the wireless network and the cloud service. Dependence on the wireless network immediately implies that cloud computing may not even be possible (let alone energy efficient) when wireless network connectivity is limited. This is typical in regions like national parks; a user capturing images in the park may not be able to organize, retrieve, or identify any images inside the park. Mobile cloud computing is also difficult in locations such as the basement of a building, interior of a tunnel, subway etc. In this case, the value of B in equation (2) can become very small, or even zero,

(8)

TABLE I

Reliability Issues with Cloud Computing [11], [12] Outage Date Vendor Service

July 2008 Amazon s3 outage Feb 2008 Amazon s3 outage

August 2008 Google Gmail service outage Oct 2009 TMobile/Microsoft SideKick loses users’ data

and cloud computing does not save energy.

Dependence on the cloud for important computations could lead to problems during service outages. Several service providers such as Google, Amazon, and TMobile have experienced reliability issues. Table I shows some of the service outages for different providers. These service outages can significantly reduce the value of F in equation (2). Another problem of reliability is data storage. In October 2009, TMobile’s and Microsoft’s mobile SideKick service crashed, and customers lost their data and contacts. One option in such scenarios, is an independent backup of data with an alternate service provider; this may increase the value of D in equation (2).

Real-time data:

Some applications have real-time data. Examples include chess, searching newly captured images for CBIR, mobile surveillance, and context-aware navigation. In such scenarios, D in equation (2) is no longer a pointer to the data, it refers to the actual data. For applications like chess, the value of D is small and hence offloading can still save energy. When the value of D is large, offloading may not save energy. In such scenarios, performing the computation on the mobile system may be more energy-efficient. A possible solution is partitioning computation between the mobile system and the cloud to reduce the energy consumption. Such a solution may include partially processing the real-time data on the mobile system. If the processed data is smaller in size, sending the processed data to the server reduces the wireless transmission energy.

The mobile cloud

The analysis presented in this article indicates that cloud computing can potentially save energy for mobile users. However, not all applications are energy-efficient when migrated to the cloud. Mobile cloud computing services would be significantly different from cloud services for desktops sincethey must offer energy savings. The services should consider the energy-overhead for privacy, security, reliability, and data communication before offloading.

(9)

REFERENCES

[1] Mache Creeger. CTO Roundtable: Cloud Computing. Queue, 7(5):1–2, June 2009.

[2] Google. Away with applications: The death of the desktop. available at

http://video.google.com/videoplay?docid=-6856727143023456694.

[3] CNN. Battery life concerns mobile users. available athttp://www.cnn.com/2005/TECH/ptech/09/22/phone.study/index.ht

[4] John Paczkowski. iphone owners would like to replace battery, att. available at

http://digitaldaily.allthingsd.com/20090821/iphone-owners-would-like-to-replace-battery-att/. [5] K. Yang, S. Ou, and H.H. Chen. On effective offloading services for resource-constrained mobile devices running heavier

mobile Internet applications. IEEE Communications Magazine, 46(1):56–63, 2008.

[6] Cheng Wang and Zhiyuan Li. Parametric Analysis for Adaptive Computation Offloading. InACM SIGPLAN Conference on Programming Language Design and Implementation, pages 119–130, June 2004.

[7] R. Wolski, S. Gurun, C. Krintz, and D. Nurmi. Using Bandwidth Data to make Computation Offloading Decisions. In

IEEE International Symposium on Parallel and Distributed Processing, pages 1–8, 2008.

[8] Monroe Newborn. A parallel search chess program. In ACM ’85: Proceedings of the 1985 ACM annual conference on The range of computing : mid-80’s perspective, pages 272–277, New York, NY, USA, 1985. ACM.

[9] Jason Kincaid. Google privacy blunder shares your docs without permission. available at

http://techcrunch.com/2009/03/07/huge-google-privacy-blunder-shares-your-docs-without-permission/

[10] Robert McMillan. Hacker: I broke into twitter. available athttp://www.pcworld.com/businesscenter/article/164182/hacke

[11] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R.H. Katz, A. Konwinski, G. Lee, D.A. Patterson, A. Rabkin, I. Stoica, et al. Above the clouds: A berkeley view of cloud computing.EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2009-28, 2009.

(10)

SIDEBAR 1

Mobile Image Processing

Mobile devices such as cell phones and PDAs are becoming increasingly popular. Most of these devices are equipped with cameras and have several gigabytes of flash storage capacity. As a result, thousands of images can be captured and stored on these devices. With such large image collections, two functionalities become important: (1) access specific sets of images from the collection, and (2) transmit the images over a wireless network to other devices and to servers for storage.

For accessing a specific set of images, content-based image retrieval (CBIR) can be a better alternative when compared to manually browsing through all the images. For example, a user may want to view all images taken with a specific person, or at a specific location. Mobile image retrieval allows the user to obtain the relevant pictures by comparing images and eliminating the irrelevant matches on the mobile system. Several works [1-4] propose to perform CBIR on mobile devices. Since these mobile devices are battery-powered, energy conservation is important [2-4]. In [3], we show that it is energy-efficient to partition CBIR between the mobile device and server depending on the wireless bandwidth. As the bandwidth increases, offloading image retrieval saves more energy.

Most of the energy consumption for offloaded applications is due to transmission. For image retrieval, transmitting the images over a wireless network consumes significant amounts of energy. The images may be pre-processed on the mobile device before transmission [5] in order to reduce the transmission energy. This reduction in transmission energy is achieved by reducing the file sizes. However, the amount of energy saved depends on the wireless bandwidth and the contents of the image. Pre-processing the images saves energy if the reduction in transmission energy compensates for the energy spent due to pre-processing. If the wireless bandwidth is high, the value of the former reduces. Moreover, different images may have different values of the latter based on their contents. Hence it is required to make the pre-processing adaptive based on the wireless bandwidth and the image contents. As cloud computing becomes more popular, the wireless transmission energy is the most significant bottleneck for mobile energy savings, and such techniques become increasingly significant.

References

[1] Yang, J., Park, S., Seong, H., Byun, H., and Lim, Y. 2008. A Fast Image Retrieval System Using Index Lookup Table on Mobile Device.19th International Conference on Pattern Recognition, 265-271. [2] Zhu, C., Li, K., Lv, Q., Shang, L., and Dick, R. P. 2009. iScope: Personalized Multi-modality Image Search for Mobile Devices. Mobisys, 277-290.

(11)

[3] Hong, Y.-J., Kumar, K., and Lu, Y.-H. 2009. Energy Efficient Content-based Image Retrieval for Mobile Systems. IEEE International Symposium on Circuits and Systems, 1673-1676.

[4] Chen, D., Tsai, S., Chandrasekhar, V., Takacs, G., Singh, J., and Girod, B. 2009. Tree Histogram Coding for Mobile Image Matching. Data Compression Conference, 143-152.

[5] Nimmagadda, Y., Kumar, K., and Lu, Y-H. Energy-Efficient Image Compression in Mobile Devices for Wireless Transmission. IEEE International Conference on Multimedia & Expo 2009, 1278-1281.

(12)

SIDEBAR 2

Data Outsourcing and Privacy

Data Outsourcingrefers to sending data outside of the users’ immediate computing environment. This is an increasingly important concern for cloud computing. As government agencies shift to the cloud (such as www.apps.gov and www.data.gov) information like healthcare, criminal records, and tax information move to the cloud. This makes security and privacy a critical concern.

Different types of data many be sent, such as multimedia, spreadsheets, and text. Multimedia content like images and videos have a lot of redundancy. This makes it possible to hide data in multimedia, using steganography[1]. The following figure shows an example of steganography: the images (a) and (c) look identical, but image (c) contains image (b) hidden in it. When appropriate transformations are applied to image (c), we can obtain image (b). Steganographic techniques can be used to transform the data before storage, so that operations may still be performed on the data.

For text documents and spreadsheets however, there is very little redundancy. This makes it difficult to transform the data and still perform operations. For example, a word document that has alphabets mapped onto symbols is difficult to spell check. If the mapping is one-to-one and onto, then alphabet frequency can be easily used to determine the words. Similarly, if the elements in a spreadsheet are transformed, it is difficult to perform meaningful mathematical operations on them. Performing computattion on encrypted or steganographic data still remains an open research problem.

The interim solution to the data outsourcing problem is development of a hybrid cloud. The website

searchcloudcomputing.com defines the hybrid cloud as “a cloud computing environment in which an organization provides and manages some resources in-house and has others provided externally”. They

(13)

claim that this is more feasible currently since large enterprises already have the substantial investments in their infrastructure, required to provide resources in- house. In addition, many organizations would prefer to keep sensitive data under their own control to ensure privacy and security.

Acknowledgements: We would like to thank Jibang Liu for the steganography images used in this section.

[1] FAP Petitcolas, RJ Anderson, MG Kuhn. 1999. Information hiding-a survey. Proceedings of the IEEE - special issue on protection of multimedia content, 87(7):1062-1078.

(14)

Author biography:

Karthik Kumar is a Ph.D. candidate in the School of Electrical and Computer Engineering at Purdue University. His research interests include energy conservation for mobile systems and resource allocation for scalable computing. He is a student member of the IEEE. Contact him at kumar25@purdue.edu.

Yung-Hsiang Lu is an associate professor in the School of Electrical and Computer Engineering at Purdue University. His research focuses on energy efficiency of computing systems. He received Ph.D. from Stanford University and is a senior member of the IEEE. Contact him at yunglu@purdue.edu.

References

Related documents

Table 9 presents the estimates of the labor market returns to speaking a foreign language using college and high school graduation requirements as instruments for the ability to speak

nificant factors which affect injury severity of vehicle drivers involved in traffic crashes on two-lane two-way rural roads of Iran2. Many of the previous studies in this

For those in the computer security, networking, and telecommunications industries, sponsorship opens the doors to a highly influential community of computer security incident response

It appears that both body and resin color pigments are derived through laccaic acid D, which is a component of the body color pigments in wild type crimson insect and only

By pre-empting my recommendation in the next chapter on the creation of outer islands shipping network system; the implementation part of that proposal would be as follows; That

نایوجشناد ساوسو هب لاتبم وشتسش یساوسو للاتخا همانشسرپ شرب هرمن ساسا رب( - )یرابجا پناور دییأت هب هک کلام ساسارب( کشز یصیخشت یاه DSM-IV ) زین دندوب هدیسر نیب زا هک دندومن

ﺪﻳﺎﻤﻧ دﺎﺠﻳا ﻲﮔﮋﻳو و ﺖﻴﺳﺎﺴﺣ ﻦﻴﺑ ار «. ﻦﻴﻴﻌﺗ هﺮﻤﻧ شﺮﺑ هوﻼﻋ ﺮﺑ ﺺﺧﺎﺷ يﺎﻫ ،قﻮﻓ ﺎﺑ ﻪﺟﻮﺗ ﻪﺑ. فﺪﻫ ﻪﻌﻟﺎﻄﻣ ﺰﻴﻧ ﻦﻴﻴﻌﺗ ﻲﻣ ددﺮﮔ. ﺮﮔا

One of the most important components in a public blockchain like Bitcoin and Ethereum is the authenticated data structure that keeps track of all block data, transactions, and the