Skip to main content

Advertisement

Log in

Energy-efficient job stealing for CPU-intensive processing in mobile devices

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Mobile devices have evolved from simple electronic agendas and mobile phones to small computers with great computational capabilities. In addition, there are more than 2 billion mobile devices around the world. Taking these facts into account, mobile devices are a potential source of computational resources for clusters and computational Grids. In this work, we present an analysis of different schedulers based on job stealing for mobile computational Grids. These job stealing techniques have been designed to consider energy consumption and battery status. As a result of this work, we present empirical evidence showing that energy-aware job stealing is more efficient than traditional random stealing in this context. In particular, our results show that mobile Grids using energy-aware job stealing might finish up to 11 % more jobs than when using random stealing, and up to 24 % more jobs than when not using any job stealing technique. This means that using energy-aware job stealing increases the energy efficiency of mobile computational Grids because it increases the number of jobs that can be executed using the same amount of energy.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. http://aws.amazon.com/ec2/.

  2. World Community Grid http://www.worldcommunitygrid.org/.

  3. SETI@home http://setiathome.berkeley.edu/.

  4. Linux top command: http://procps.sourceforge.net/.

  5. Android Services: http://developer.android.com/guide/topics/fundamentals/services.html.

  6. Android Processes and Threads: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html.

  7. Android Power Lock: http://developer.android.com/reference/android/os/PowerManager.html.

  8. Platform Versions: http://developer.android.com/resources/dashboard/platform-versions.html.

  9. iOS battery discharge notification: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDevice_Class/Reference/UIDevice.html#/apple_ref/c/data/UIDeviceBatteryStateDidChangeNotification.

  10. Android Battery Intent: http://developer.android.com/reference/android/content/Intent.html#ACTION_BATTERY_CHANGED.

  11. Advanced Configuration and Power Interface Specification version 5: http://acpi.info/DOWNLOADS/ACPIspec50.pdf.

References

  1. Aron J (2012) Harness unused smartphone power for a computing boost. New Scientist 215(2880):18. doi:10.1016/S0262-4079(12)62255-6. http://www.sciencedirect.com/science/article/pii/S0262407912622556

  2. Blom S, Book M, Gruhn V, Hrushchak R, Köhler A (2008) Write once, run anywhere: a survey of mobile runtime environments. In: International conference on grid and pervasive computing, pp 132–137. doi:10.1109/GPC.WORKSHOPS.2008.19

  3. Blumofe R, Leiserson C (1994) Scheduling multithreaded computations by work stealing. In: Annual IEEE symposium on foundations of computer science. IEEE Computer Society, Los Alamitos, pp 356–368. doi:10.1109/SFCS.1994.365680

  4. Boovaragavan V, Harinipriya S, Subramanian VR (2008) Towards real-time (milliseconds) parameter estimation of lithium-ion batteries using reformulated physics-based models. J Power Sources 183(1):361–365. doi:10.1016/j.jpowsour.2008.04.077. http://www.sciencedirect.com/science/article/B6TH1-4SFS0MD-4/2/e4746e187e06b4aebb77c9a930f56b7f

  5. Buyya R, Murshed M (2002) GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing. Concurrency Comput Pract Exp 14(13):1175–1220

    Article  MATH  Google Scholar 

  6. Calheiros RN, Ranjan R, Beloglazov A, De Rose CAF, Buyya R (2011) Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50

    Article  Google Scholar 

  7. Callou G, Maciel P, Tavares E, Andrade E, Nogueira B, Araujo C, Cunha P (2011) Energy consumption and execution time estimation of embedded system applications. Microprocess Microsyst 35(4):426–440. doi:10.1016/j.micpro.2010.08.006. http://www.sciencedirect.com/science/article/pii/S0141933110000529

  8. Choi S, Lee J, Yu H, Lee H (2011) Replication and checkpoint schemes for task-fault tolerance in campus-wide mobile grid. In: Kim Th, Adeli H, Cho Hs, Gervasi O, Yau SS, Kang BH, Villalba JG (eds) Grid and distributed computing. Communications in computer and information science, vol 261. Springer, Berlin, pp 455–467. http://dx.doi.org/10.1007/978-3-642-27180-9_56

  9. Chu DC, Humphrey M (2004) Mobile ogsi.net: Grid computing on mobile devices. In: Proceedings of the 5th IEEE/ACM international workshop on Grid computing, GRID ’04. IEEE Computer Society, Washington, pp 182–191. doi:10.1109/GRID.2004.44

  10. Duan L, Kubo T, Sugiyama K, Huang J, Hasegawa T, Walrand J (2012) Incentive mechanisms for smartphone collaboration in data acquisition and distributed computing. In: INFOCOM, 2012 Proceedings IEEE, pp 1701–1709. doi:10.1109/INFCOM.2012.6195541

  11. Fernando N, Loke SW, Rahayu W (2013) Mobile cloud computing: a survey. Future Gen Comput Syst 29(1):84–106. doi:10.1016/j.future.2012.05.023. http://www.sciencedirect.com/science/article/pii/S0167739X12001318

  12. Ghosh P, Das SK (2010) Mobility-aware cost-efficient job scheduling for single-class grid jobs in a generic mobile grid architecture. Future Gen Comput Syst 26(8):1356–1367. doi:10.1016/j.future.2009.05.003. http://www.sciencedirect.com/science/article/pii/S0167739X09000648

  13. González-Castaño FJ, Vales-Alonso J, Livny M, Costa-Montenegro E, Anido-Rifón L (2003) Condor grid computing from mobile handheld devices. SIGMOBILE Mobile Comput Commun Rev 7(1): 117–126. doi:10.1145/881978.882005

  14. Gray J (2008) Distributed computing economics. Queue 6(3):63–68. doi:10.1145/1394127.1394131

    Article  Google Scholar 

  15. Ham HK, Park YB (2011) Mobile application compatibility test system design for android fragmentation. In: Kim Th, Adeli H, Kim HK, Kang Kj, Kim KJ, Kiumi A, Kang BH (eds) Software engineering, business continuity, and education. Communications in computer and information science, vol 257. Springer, Berlin, pp 314–320

  16. Hu Y, Yurkovich S (2012) Battery cell state-of-charge estimation using linear parameter varying system techniques. J Power Sources 198(0):338–350. doi:10.1016/j.jpowsour.2011.09.058. http://www.sciencedirect.com/science/article/pii/S0378775311018295

  17. Huang Y, Venkatasubramanian N (2007) Supporting mobile multimedia applications in mapgrid. In: Proceedings of the 2007 international conference on wireless communications and mobile computing, IWCMC ’07. ACM, New York, pp 176–181. doi:10.1145/1280940.1280978

  18. Huang Y, Venkatasubramanian N, Wang Y (2007) MAPGrid: a new architecture for empowering mobile data placement in Grid environments. In: Seventh IEEE international symposium on cluster computing and the grid, 2007. CCGRID 2007, pp 725–730. doi:10.1109/CCGRID.2007.69

  19. Huynh D, Knezevic D, Peterson J, Patera A (2011) High-fidelity real-time simulation on deployed platforms. Comput Fluids 43(1):74–81. doi:10.1016/j.compfluid.2010.07.007. http://www.sciencedirect.com/science/article/pii/S0045793010001829

  20. Ibrohimovna M, Groot S (2008) Proxy-based fednets for sharing personal services in distributed environments. In: The fourth international conference on wireless and mobile communications, 2008, ICWMC ’08, pp 150–157. doi:10.1109/ICWMC.2008.25

  21. Kaushik A, Vidyarthi DP (2012) A cooperative cell model in computational mobile grid. Int J Bus Data Commun Networking 8:19–36. doi:10.4018/jbdcn.2012010102

    Article  Google Scholar 

  22. Kelenyi I, Nurminen J (2008) Energy aspects of peer cooperation measurements with a mobile dht system. In: IEEE international conference on communications workshops, 2008. ICC Workshops ’08, pp 164–168. doi:10.1109/ICCW.2008.36

  23. Khalaj A, Lutfiyya H, Perry M (2010) The proxy-based mobile grid. In: Cai Y, Magedanz T, Li M, Xia J, Giannelli C, Akan O, Bellavista P, Cao J, Dressler F, Ferrari D, Gerla M, Kobayashi H, Palazzo S, Sahni S, Shen XS, Stan M, Xiaohua J, Zomaya A, Coulson G (eds) Mobile wireless middleware, operating systems, and applications. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 48. Springer, Berlin, pp 59–69. http://dx.doi.org/10.1007/978-3-642-17758-3_5

  24. Kumar K, Lu YH (2010) Cloud computing for mobile users: Can offloading computation save energy? Computer 43(4):51–56. doi:10.1109/MC.2010.98

    Article  Google Scholar 

  25. Lehr W, McKnight LW (2003) Wireless Internet access: 3G vs. WiFi? Telecommun Policy 27:351–370

  26. Li C, Li L (2009) Utility-based scheduling for grid computing under constraints of energy budget and deadline. Comput Stand Interf 31(6):1131–1142. doi:10.1016/j.csi.2008.12.004. http://www.sciencedirect.com/science/article/B6TYV-4V70RB2-4/2/65554f30c6e3068ba1697c540f160003

  27. Li C, Li L (2010) Energy constrained resource allocation optimization for mobile grids. J Parallel Distrib Comput 70(3):245–258. doi:10.1016/j.jpdc.2009.06.003. http://www.sciencedirect.com/science/article/B6WKJ-4WKTWWB-1/2/7f0834c24e7b7dd44adae8e22ce49ad5

    Google Scholar 

  28. Li C, Li L (2010) Energy efficient resource management in mobile Grid. Mobile Inf Syst 6:193–211. doi:10.3233/MIS-2010-0099. http://iospress.metapress.com/content/3R214MM142481741

  29. Li C, Li L (2011) A multi-agent-based model for service-oriented interaction in a mobile grid computing environment. Pervas Mobile Comput 7(2):270–284. doi:10.1016/j.pmcj.2010.10.006. http://www.sciencedirect.com/science/article/pii/S1574119210001173

  30. Li C, Li L (2011) Tradeoffs between energy consumption and qos in mobile grid. J Supercomput 55:367–399. doi:10.1007/s11227-009-0330-5

    Article  Google Scholar 

  31. Li Z, Shen H (2012) Game-theoretic analysis of cooperation incentive strategies in mobile ad hoc networks. IEEE Trans Mobile Comput 11(8):1287–1303. doi:10.1109/TMC.2011.151

    Article  Google Scholar 

  32. Lin CM, Lin JH, Dow CR, Wen CM (2011) Benchmark dalvik and native code for android system. In: 2011 Second international conference on innovations in bio-inspired computing and applications (IBICA), pp 320–323. doi:10.1109/IBICA.2011.85

  33. Litke A, Skoutas D, Tserpes K, Varvarigou T (2007) Efficient task replication and management for adaptive fault tolerance in mobile grid environments. Future Gen Comput Syst 23(2):163–178. doi:10.1016/j.future.2006.04.014. http://www.sciencedirect.com/science/article/pii/S0167739X0600080X

  34. Ludwig S, Moallem A (2011) Swarm intelligence approaches for grid load balancing. J Grid Comput 9(3):279–301

    Article  Google Scholar 

  35. Mateos C, Zunino A, Campo M (2010) On the evaluation of gridification effort and runtime aspects of JGRIM applications. Future Gen Comput Syst 26(6):797–819

    Article  Google Scholar 

  36. Mateos C, Zunino A, Hirsch M, Fernández M, Campo M (2011) A software tool for semi-automatic gridification of resource-intensive java bytecodes and its application to ray tracing and sequence alignment. Adv Eng Softw 42(4):172–186

    Article  Google Scholar 

  37. Mateos C, Zunino A, Trachsel R, Campo M (2011) A novel mechanism for gridification of compiled java applications. Comput Inf 30(6):1259–1285

    Google Scholar 

  38. Neary MO, Cappello P (2005) Advanced eager scheduling for java-based adaptive parallel computing. Concurrency Comput Practice Exp 17(7–8):797–819. doi:10.1002/cpe.v17:7/8

    Article  Google Scholar 

  39. Pacini E, Mateos C, García Garino, C (2012) Schedulers based on ant colony optimization for parameter sweep experiments in distributed environments. In: Bhattacharyya S, Dutta P (eds) Research on computational intelligence for engineering, science and business. IGI Global (in Press)

  40. Palmer N, Kemp R, Kielmann T, Bal H (2009) Ibis for mobility: solving challenges of mobile computing using grid techniques. In: HotMobile ’09: Proceedings of the 10th workshop on mobile computing systems and applications. ACM, New York, pp 1–6. doi:10.1145/1514411.1514426

  41. Paradiso JA, Starner T (2005) Energy scavenging for mobile and wireless electronics. IEEE Pervas Comput 4(1):18–27. doi:10.1109/MPRV.2005.9

    Article  Google Scholar 

  42. Rice A, Hay S (2010) Measuring mobile phone energy consumption for 802.11 wireless networking. Pervas Mob Comput 6(6):593–606. doi:10.1016/j.pmcj.2010.07.005. http://www.sciencedirect.com/science/article/pii/S1574119210000593

  43. Rodriguez J, Mateos C, Zunino A (2012) Are smartphones really useful for scientific computing? Lecture notes in computer science, vol 7547, pp 38–47

  44. Rodriguez JM, Zunino A, Campo M (2010) Mobile grid seas: simple energy-aware scheduler. In: 39th JAIIO 3rd high-performance computing symposium

  45. Rodriguez JM, Zunino A, Campo M (2011) Introducing mobile devices into grid systems: a survey. Int J Web Grid Services 7(1):1–40

    Article  Google Scholar 

  46. Rosado DG, Fernández-Medina E, López J, Piattini M (2011) Systematic design of secure mobile grid systems. J Network Comput Appl 34(4):1168–1183. doi:10.1016/j.jnca.2011.01.001. http://www.sciencedirect.com/science/article/pii/S1084804511000026

  47. Rosinha RB, Geyer CFR, Vargas PK (2009) WSPE: a peer-to-peer grid programming environment. Concurrency Comput Practice Exp 21(13):1709–1724. doi:10.1002/cpe.v21:13

    Article  Google Scholar 

  48. Shen WX, Chan CC, Lo EWC, Chau KT (2002) Estimation of battery available capacity under variable discharge currents. J Power Sources 103(2):180–187. doi:10.1016/S0378-7753(01)00840-0. http://www.sciencedirect.com/science/article/B6TH1-44V3JXV-2/2/77bf800f9c9901c16d550f67a4a31e6b

    Google Scholar 

  49. Van Nieuwpoort R, Wrzesińska G, Jacobs C, Bal H (2010) Satin: a high-level and efficient Grid programming model. ACM Trans Programm Lang Syst 32(3):9:1–9:39

    Google Scholar 

  50. Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenström P (2008) The worst-case execution-time problem: overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3):36:1–36:53. doi:10.1145/1347375.1347389

  51. Zhang BY, Yang GW, Zheng WM (2006) Jcluster: an efficient Java parallel environment on a large-scale heterogeneous cluster. Concurrency Comput Practice Exp 18(12):1541–1557. doi:10.1002/cpe.v18:12

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Juan Manuel Rodriguez.

Appendix: Simple energy aware scheduler (SEAS)

Appendix: Simple energy aware scheduler (SEAS)

The SEAS [44] is a scheduling algorithm for mobile Grids that is designed to perform scheduling along with as few estimations, such as device estimated remaining battery, as possible. The SEAS is a centralized scheduler, i.e., all the mobile devices that are considered by the scheduler must be connected to a central server which is called proxy. Basically, the proxy receives a job execution request and assigns the job to a mobile device. In order to select a mobile device, it ranks them according to which might assign more resources per job. For a mobile device \(m\), this value is calculated as follows:

$$\begin{aligned} \text{ Resources} \text{ per} \text{ job}_{m}=\frac{\text{ estimated} \text{ uptime}_{m}\times \text{ benchmark}_{m}}{\text{ number} \text{ jobs}_{m}+1} \end{aligned}$$
(6)

where estimated uptime\(_{m}\) is the estimated uptime for the mobile device with the remaining battery power, benchmark\(_{m}\) is the value obtained using some benchmark that represents the MIPS (Million Instructions Per Second) the device is able to perform, which in scientific computing might be the Linpack or the SciMark 2.0 [43], and \(number\, jobs_{m}\) represents the number of jobs assigned to that particular device. This function adds one to the number of jobs because it calculates which would be the node rank if a new job is added to it.

The only estimation the SEAS needs is each mobile device remaining uptime. The proposed estimation algorithm is based on the fact that battery APIs are event-based and the battery information is reported as a discrete variable. Examples of this are the iOS,Footnote 9 AndroidFootnote 10 and ACPIFootnote 11 battery APIs. A basic way of estimating remaining uptime with this event system is assuming a lineal discharge rate. Therefore, it is possible to calculate the discharge rate when two consecutive battery events happen. For two events \(i-1\) and \(i\), the discharge rate \(dr\) can be calculated as follows:

The only estimation the SEAS needs is each mobile device remaining uptime. The proposed estimation algorithm is based on the fact that battery APIs are event-based and the battery information is reported as a discrete variable. Examples of this are the iOS, Android and ACPI battery APIs. A basic way of estimating remaining uptime with this event system is assuming a lineal discharge rate. Therefore, it is possible to calculate the discharge rate when two consecutive battery events happen. For two events \(i-1\) and \(i\), the discharge rate \(dr\) can be calculated as follows:

$$\begin{aligned} dr=\frac{c_{i} - c_{i-1}}{t_{i} - t_{i-1}} \end{aligned}$$
(7)

 

figure a3

where, \(c_{i}\) and \(c_{i-1}\) are the battery charge reported by the events \(i\) and \(i-1\), respectively. \(t_{i}\) and \(t_{i-1}\) are the times when these events occurred. Therefore, the remaining uptime \(ut\) might be estimated as follows:

$$\begin{aligned} ut=\frac{c_{i}}{dr} \end{aligned}$$
(8)

However, the discharge rate is actually not lineal [48] and hence the estimation heavily varies from event to event. Thus, the SEAS uses a modified version of the estimator that returns an average remaining time instead of returning the previously defined remaining time. This average is calculated using the estimated uptime, which is defined as the current uptime plus the estimated remaining time as defined above. Therefore, the new estimated remaining time is the average estimated uptime minus the current uptime. Algorithm 3 describes how the remaining time is calculated. According to [44], this algorithm tends to work better over time and is suitable for the SEAS purpose.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rodriguez, J.M., Mateos, C. & Zunino, A. Energy-efficient job stealing for CPU-intensive processing in mobile devices. Computing 96, 87–117 (2014). https://doi.org/10.1007/s00607-012-0245-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-012-0245-5

Keywords

Mathematics Subject Classification

Navigation