An Adaptive Offloading Method for an IoT-Cloud Converged Virtual Machine System Using a Hybrid Deep Neural Network
<p>Overall configuration of the IoT–Cloud virtual machine system. IoT: Internet of Things.</p> "> Figure 2
<p>Classified computation offloading methods.</p> "> Figure 3
<p>Core context information for executing processes on the IoT–Cloud virtual machine.</p> "> Figure 4
<p>Context information for stack frames.</p> "> Figure 5
<p>Structure of TreNet. CNN: convolutional neural network; LSTM: long short-term memory.</p> "> Figure 6
<p>Structure of the static profiler for context information.</p> "> Figure 7
<p>Structure of the learning model for performance load prediction.</p> "> Figure 8
<p>Context synchronization time required to run the prime number, perfect number, and bubble sort algorithms.</p> "> Figure 9
<p>Context information network traffic size required to run the prime number, perfect number, and bubble sort algorithms.</p> "> Figure 10
<p>CPU usage classified into patterns of (<b>a</b>) rapid increases or decreases in usage rate, (<b>b</b>) peak usage rate, (<b>c</b>) stable usage rate, and (<b>d</b>) continuously changing usage rate.</p> "> Figure 11
<p>CPU modeling simulation results for (<b>a</b>) model 1, (<b>b</b>) model 2, (<b>c</b>) model 3, and (<b>d</b>) model 4.</p> "> Figure 12
<p>Estimates of server load using hybrid deep neural network for (<b>a</b>) model 1, (<b>b</b>) model 2, (<b>c</b>) model 3, and (<b>d</b>) model 4.</p> ">
Abstract
:1. Introduction
2. Related Research
2.1. IoT–Cloud Converged Virtual Machine System
2.2. Offloading
2.3. Context Information
2.4. TreNet
3. Adaptive Offloading Method
3.1. Static Profiler for Context Information
3.2. Context Information Synchronization
3.3. CPU Usage Trend Learning Model
- (1)
- The local dataset is input to the CNN layer of TreNet, while the LSTM layer is input to the tilt dataset;
- (2)
- The CNN and LSTM layers learn the dependencies in the input dataset and send the results to the feature fusion layer;
- (3)
- The feature fusion layer fuses the results of the CNN and LSTM layers to determine the dependence of the slope and pattern transition point;
- (4)
- The output layer derives the predictive slope through the dependency relationships and the resulting datasets learned in the feature fusion layer.
4. Experimental Results
5. Conclusions and Further Research
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Son, Y.; Lee, Y. A study on the smart virtual machine for executing virtual machine codes on smart platforms. Int. J. Smart Home 2012, 6, 93–105. [Google Scholar]
- Millani, C.E.; Linhares, A.; Auler, R.; Borin, E. COISA: A compact OpenISA virtual platform for IoT devices. In Proceedings of the WSCAD’15; Florianopolis: Santa Catarina, Brazil, 18–21 October 2015. [Google Scholar]
- Son, Y.; Lee, Y. A study on the smart virtual machine for smart devices. Information 2013, 16, 1465–1472. [Google Scholar]
- Gavrin, E.; Lee, S.J.; Ayrapetyan, R.; Shitov, A. Ultra lightweight JavaScript engine for internet of things. In Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, Pittsburgh, PA, USA, 25–30 October 2015; pp. 19–20. [Google Scholar]
- Son, Y.; Kim, J.H.; Lee, Y. A design and implementation of html5 based svm for integrating runtime of smart devices and web environments. Int. J. Smart Home 2014, 8, 223–234. [Google Scholar] [CrossRef]
- Son, Y.; Jeong, J.; Lee, Y. Design and implementation of the secure compiler and virtual machine for developing secure IoT services. Future Gener. Comput. Syst. 2017, 76, 350–357. [Google Scholar]
- Botta, A.; De Donato, W.; Persico, V.; Pescapé, A. Integration of cloud computing and internet of things: A survey. Future Gener. Comput. Syst. 2016, 56, 684–700. [Google Scholar] [CrossRef]
- Dupont, C.; Giaffreda, R.; Capra, L. Edge computing in IoT context: Horizontal and vertical Linux container migration. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva, Switzerland, 6–9 June 2017. [Google Scholar]
- Son, Y.; Lee, Y. Offloading Method for efficient use of local computational resources in mobile location-based services using clouds. Mob. Inf. Syst. 2017, 2017, 1856329. [Google Scholar] [CrossRef]
- Kumar, K. A survey of computation offloading for mobile systems. Mob. Netw. Appl. 2013, 18, 129–140. [Google Scholar] [CrossRef]
- Yang, K.; Ou, S.; Chen, H. On effective offloading services for resource-constrained mobile devices running heavier mobile internet applications. IEEE Commun. Mag. 2008, 46, 56–63. [Google Scholar] [CrossRef]
- Kumar, K.; Lu, Y. Cloud computing for mobile users: Can offloading computation save energy? Computer 2010, 43, 51–56. [Google Scholar] [CrossRef]
- Shi, C. Cosmos: Computation offloading as a service for mobile devices. In Proceedings of the 15th ACM International Symposium on Mobile Ad Hoc Networking and Computing, Philadelphia, PA, USA, 11–14 August 2014; ACM: New York, NY, USA, 2014; pp. 287–296. [Google Scholar]
- Chun, B.G. Clonecloud: Elastic execution between mobile device and cloud. In Proceedings of the 6th ACM Conference on Computer Systems, Ischia, Italy, 10–13 April 2011; pp. 301–314. [Google Scholar]
- Dinh, H.T.; Lee, C.; Niyato, D.; Wangm, P. A survey of mobile cloud computing: Architecture, applications, and approaches. Wirel. Comun. Mob. Comput. 2013, 13, 1587–1611. [Google Scholar] [CrossRef]
- La, H.; Kim, S. A Taxonomy of offloading in mobile cloud computing. In Proceedings of the 7th IEEE International Conference on Service-Oriented Computing and Applications, Matsue, Japan, 17–19 November 2014; pp. 147–153. [Google Scholar]
- Wang, C.; Li, Z. A computation offloading scheme on handheld devices. J. Parallel Distrib. Comput. 2004, 64, 740–746. [Google Scholar] [CrossRef] [Green Version]
- Chen, H.; Lin, Y.; Chen, C. COCA: Computation offload to clouds using AOP. In Proceedings of the 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, Ottawa, ON, Canada, 13–16 May 2012; pp. 466–473. [Google Scholar]
- Lin, T.; Hsu, C.; King, C. Context-aware decision engine for mobile cloud offloading. In Proceedings of the IEEE Wireless Communications and Networking Conference Workshops, Shanghai, China, 7–10 April 2013; pp. 111–116. [Google Scholar]
- Kovachev, D.; Yu, T.; Klamma, R. Computation offloading from mobile devices into the cloud. In Proceedings of the IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, Madrid, Spain, 10–13 July 2012; pp. 784–791. [Google Scholar]
- Lin, T.; Guo, T.; Aberer, K. Hybrid neural networks for learning the trend in time series. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17, Melbourne, Australia, 19–25 August 2017; pp. 2273–2279. [Google Scholar]
- CPU-Load-Generator. Available online: https://github.com/beloglazov/cpu-load-generator (accessed on 29 October 2018).
- Nokia. An Internet of Things Blueprint for a Smarter World: Capitalizing on M2M, Big Data and Cloud; Strategic White Paper; Nokia: Espoo, Finland, 2015; p. 13. [Google Scholar]
- Mikalef, P.; Pateli, A. Information technology-enabled dynamic capabilities and their indirect effect on competitive performance: Findings from PLS-SEM and fsQCA. J. Bus. Res. 2017, 70, 1–16. [Google Scholar] [CrossRef]
Parameters and Return Value Types | Core Context | Stack Context | Address Context | |||||||
---|---|---|---|---|---|---|---|---|---|---|
gPc, gProcFrameP, sp, ep, DisVector, SpDisplay, ArDisplay | Operation Stack | Activation Record | Constant Pool | Variable Offset | Area Information Indicated by Address Value | Type Information (Type Size) | Array Information | |||
Not Existing the parameters and return values | Not using address references | Use local variable only | O | X | X | X | X | X | X | X |
Use global Variables | O | X | X | O | O | X | O | X | ||
Using address references | Use global array variables | O | X | X | O | O | O | O | O | |
A pointer variable refers to a global variable’s address | O | X | X | O | O | O | O | X | ||
A pointer variable refers to a global variable’s address | O | X | X | O | O | O | O | O | ||
Existing the parameters and return values | Not using address references | The value of a local variable is passed as a parameter or a return value | O | O | X | X | X | X | X | X |
The value of a global variable is passed as a parameter or a return value | O | O | X | O | O | X | O | X | ||
Using address references | Local variables’ references | O | O | O | X | O | O | O | X | |
Local array variables’ references | O | O | O | X | O | O | O | O | ||
Global variables’ references | O | O | X | O | O | O | O | X | ||
Global array variables’ references | O | O | X | O | O | O | O | O |
Environments | Server | IoT Device |
---|---|---|
Processor | Intel(R) Core (TM) i7-4770K 3.50 GHz | BCM2837 64-bit QUAD Core 1.2 GHz |
Memory | 16 GB RAM | 1 GB RAM |
Operating System | Microsoft Windows 10 | Raspbian |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Son, Y.; Jeong, J.; Lee, Y. An Adaptive Offloading Method for an IoT-Cloud Converged Virtual Machine System Using a Hybrid Deep Neural Network. Sustainability 2018, 10, 3955. https://doi.org/10.3390/su10113955
Son Y, Jeong J, Lee Y. An Adaptive Offloading Method for an IoT-Cloud Converged Virtual Machine System Using a Hybrid Deep Neural Network. Sustainability. 2018; 10(11):3955. https://doi.org/10.3390/su10113955
Chicago/Turabian StyleSon, Yunsik, Junho Jeong, and YangSun Lee. 2018. "An Adaptive Offloading Method for an IoT-Cloud Converged Virtual Machine System Using a Hybrid Deep Neural Network" Sustainability 10, no. 11: 3955. https://doi.org/10.3390/su10113955