Distribuição de carga de processamento para dispositivos IoT e smartphones com arquitetura multi-nível

  • Leandro Noman Ferreira Universidade Federal de Minas Gerais
  • Jose-Marcos Nogueira Universidade Federal de Minas Gerais
  • Daniel Fernandes Macedo Universidade Federal de Minas Gerais

Resumo


O termo offloading indica a ação de se alterar o local de processamento de uma atividade computacional. Trabalhos da literatura focalizam em soluções de offloading para smartphones, realizando o processamento de uma aplicação em um servidor na nuvem. O objetivo de se usar offloading é reduzir o tempo de processamento de aplicativos, diminuir o consumo energético dos dispositivos e eventualmente possibilitar execução de tarefas que não seriam possíveis em dispositivos de recursos reduzidos. Este trabalho apresenta um arcabouço de offloading para smartphones e para dispositivos IoT, que possuem restrições de poder de processamento e capacidade de bateria ainda maiores do que celulares atuais. A transferência de processamento é feita dos dispositivos IoT e smartphones para servidores localizados próximos aos dispositivos (cloudlet), o que possibilita a redução da latência e aumento da vazão da rede, quando comparados com a transferência para servidores na nuvem. A transferência para a nuvem ocorre no caso de não haver cloudlets disponíveis ou a capacidade das cloudlets for insuficiente. A decisão de se fazer o offloading é tomada no dispositivo tendo por base dados históricos coletados do próprio dispositivo e dados coletados pelos servidores na nuvem da execução de tarefas semelhantes de outros dispositivos. Considerando o tempo de processamento local e remoto, a energia gasta na execução, local e remotamente, a quantidade de dados a transferir e a qualidade da rede, um motor de decisão no dispositivo decide pela execução local ou remota na cloudlet. Foram projetados e estão implementados os códigos dos servidores na nuvem e na cloudlet, incluindo os códigos dos aplicativos que rodam nos dispositivos, a comunicação nuvem-dispositivo, cloudlet-dispositivo e cloudlet-nuvem, bem como instrumentação associada para coleta dos históricos. Nos dispositivos, foram implementados os códigos do motor de decisão, dos processos de offloading e a instrumentação. O sistema está sendo avaliado experimentalmente para diversos cenários que consideram combinações de carga variadas de processamento e volumes variados de dados a transmitir. Os resultados, por enquanto iniciais, já mostram que a estratégia do offloading em dois níveis consegue atingir os objetivos de redução de tempo de processamento e de consumo de energia, para os casos em que a transferência do processamento é indicada.

Palavras-chave: Computação em Nuvem, Internet das Coisas, Consumo de Energia

Referências

Bhalla, M. R. and Bhalla, A. V. (2010). Generations of mobile wireless technology: A survey. International Journal of Computer Applications, 5(4).

Chun, B.-G., Ihm, S., Maniatis, P., Naik, M., and Patti, A. (2011). Clonecloud: elastic execution between mobile device and cloud. In Proceedings of the sixth conference on Computer systems, pages 301–314. ACM.

Cuervo, E., Balasubramanian, A., Cho, D.-k., Wolman, A., Saroiu, S., Chandra, R., and Bahl, P. (2010). Maui: making smartphones last longer with code offload. In Proceedings of the 8th international conference on Mobile systems, applications, and services, pages 49–62. ACM.

El Baz, D. (2014). Iot and the need for high performance computing. In Identification, Information and Knowledge in the Internet of Things (IIKI), 2014 International Conference on, pages 1–6. IEEE.

Flores, H., Sharma, R., Ferreira, D., Kostakos, V., Manner, J., Tarkoma, S., Hui, P., and Li, Y. (2017). Social-aware hybrid mobile offloading. Pervasive and Mobile Computing, 36:25–43.

Kemp, R., Palmer, N., Kielmann, T., and Bal, H. E. (2010). Cuckoo: A computation offloading framework for smartphones. In MobiCASE, pages 59–79. Springer.

Kosta, S., Aucinas, A., Hui, P., Mortier, R., and Zhang, X. (2012). Thinkair: Dynamic Resource allocation and parallel execution in the cloud for mobile code offloading. In Infocom, 2012 Proceedings IEEE, pages 945–953. IEEE.

Kumar, K., Liu, J., Lu, Y.-H., and Bhargava, B. (2013). A survey of computation offloading for mobile systems. Mobile Networks and Applications, 18(1):129–140.

Kumar, K. and Lu, Y.-H. (2010). Cloud computing for mobile users: Can offloading computation save energy? Computer, 43(4):51–56.

Mao, Y., Zhang, J., and Letaief, K. B. (2016). Dynamic computation offloading for mobile-edge computing with energy harvesting devices. IEEE Journal on Selected Areas in Communications, 34(12):3590–3605.

Mell, P., Grance, T., et al. (2011). The nist definition of cloud computing.

Neto, J. L. D., Yu, S.-y., Macedo, D. F., Nogueira, J. M. S., Langar, R., and Secci, S. (2018). Uloof: a user level online offloading framework for mobile edge computing. IEEE Transactions on Mobile Computing.

Satyanarayanan, M. (1996). Fundamental challenges in mobile computing. In Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, pages 1–7. ACM.

Satyanarayanan, M., Bahl, P., Caceres, R., and Davies, N. (2009). The case for vm-based cloudlets in mobile computing. IEEE pervasive Computing, 8(4).

Shi, C., Habak, K., Pandurangan, P., Ammar, M., Naik, M., and Zegura, E. (2014). Cosmos: computation offloading as a service for mobile devices. In Proceedings of the 15th ACM international symposium on Mobile ad hoc networking and computing, pages 287–296. ACM.
Publicado
27/08/2019
Como Citar

Selecione um Formato
FERREIRA, Leandro Noman; NOGUEIRA, Jose-Marcos ; FERNANDES MACEDO, Daniel . Distribuição de carga de processamento para dispositivos IoT e smartphones com arquitetura multi-nível. In: SIMPÓSIO BRASILEIRO DE REDES DE COMPUTADORES E SISTEMAS DISTRIBUÍDOS (SBRC), 37. , 2019, Gramado. Anais do XXXVII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos. Porto Alegre: Sociedade Brasileira de Computação, aug. 2019 . p. 566-579. ISSN 2177-9384. DOI: https://doi.org/10.5753/sbrc.2019.7387.