User Equipment Based-Computation Offloading for Real-Time Applications in the Context of Cloud and Edge Networks Farouk Messaoudi
Total Page:16
File Type:pdf, Size:1020Kb
User equipment based-computation offloading for real-time applications in the context of Cloud and edge networks Farouk Messaoudi To cite this version: Farouk Messaoudi. User equipment based-computation offloading for real-time applications inthe context of Cloud and edge networks. Networking and Internet Architecture [cs.NI]. Université Rennes 1, 2018. English. NNT : 2018REN1S104. tel-02268196 HAL Id: tel-02268196 https://tel.archives-ouvertes.fr/tel-02268196 Submitted on 20 Aug 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ANNÉE 2018 THÈSE / UNIVERSITÉ DE RENNES 1 sous le sceau de l’Université Bretagne Loire pour le grade de DOCTEUR DE L’UNIVERSITÉ DE RENNES 1 Mention : Informatique Ecole doctorale MathStic Farouk MESSAOUDI Préparée à l’unité de recherche (IRISA – UMR 6074) Institut de Recherche en Informatique et Système Aléatoires Université de Rennes 1 User equipment Thèse à soutenir à Rennes le 16 avril 2018 based computation devant le jury composé de : Houda LABIOD Professeur, Telecom ParisTech / examinateur Offloading for real- Riccardo SISTO Professeur, École polytechnique de Turin / rapporteur time applications in Toufik AHMED Professeur, Bordeaux INP / rapporteur the context of Cloud César VIHO Professeur, Université de Rennes1 / examinateur and edge networks Erwan LEMERRER Docteur, Technicolor / examinateur Philippe BERTIN Manager de projets, Orange Labs / co-directeur de thèse ABSTRACT Computation offloading is a technique that allows resource-constrained mobile devices to fully or partially offload a computation-intensive application to a resourceful Cloud environment. Computation offloading is performed mostly to save energy, improve performance, or due to the inability of mobile devices to process a computation- heavy task. There have been a numerous approaches and systems on offloading tasks in the classical Mobile Cloud Computing (MCC) environments such as, CloneCloud, MAUI, and Cyber Foraging. Most of these systems are offering a complete solution that deal with different objectives. Although these systems present in general good performance, one common issue between them is that they are not adapted to real-time applications such as mobile gaming, augmented reality, and virtual reality, which need a particular treatment. Computation offloading is widely promoted especially with the advent of Mobile Edge Computing (MEC) and its evolution toward Multi-access Edge Computing which broaden its applicability to heterogeneous networks including WiFi and fixed access technologies. Combined with 5G mobile access, a plethora of novel mobile services will appear that include Ultra-Reliable Low-latency Communications (URLLC) and enhanced Vehicle-to- everything (eV2X). Such type of services requires low latency to access data and high resource capabilities to compute their behaviour. To better find its position inside a 5G architecture and between the offered 5G services, computation offloading needs to overcome several challenges; the high network latency, resources heterogeneity, applications interoper- ability and portability, offloading frameworks overhead, power consumption, security, and mobility, to name a few. In this thesis, we study the computation offloading paradigm for real-time applications including mobile gaming and image processing. The focus will be on the network latency, resource consumption, and accomplished performance. The contributions of the thesis are organized on the following axes: • Study game engines behaviour on different platforms regarding resource consumption (CPU/GPU) per frame and per game module. • Study the possibility to offload game engine modules based on resource consumption, network latency, and code dependency. • Propose a deployment strategy for Cloud gaming providers to better exploit their resources based on the variability of the resource demand of game engines and the QoE. • Propose a static computation offloading-based solution for game engines by splitting 3D world scene into different game objects. Some of these objects are offloaded based on resource consumption, network latency, and code dependency. • Propose a dynamic offloading solution for game engines based on an heuristic that compute for each game object, the offloading gain. Based on that gain, an object may be offloaded or not. • Propose a novel approach to offload computation to MEC by deploying a mobile edge application that is responsible for driving the UE decision for offloading, as well as propose two algorithms to make best decision regarding offloading tasks on UE to a server hosted on the MEC. i RÉSUMÉ Le délestage de calcul ou de code est une technique qui permet à un appareil mobile avec une contrainte de ressources d’exécuter à distance, entièrement ou partiellement, une application intensive en calcul dans un environnement Cloud avec des ressources suffisantes. Le délestage de code est effectué principalement pour économiser de l’énergie, améliorer les performances, ou en raison de l’incapacité des appareils mobiles à traiter des calculs intensifs. Plusieurs approches et systèmes ont été proposés pour délester du code dans le Cloud tels que CloneCloud, MAUI et Cyber Foraging. La plupart de ces systèmes offrent une solution complète qui traite différents objectifs. Bien que ces systémes présentent en général de bonnes performances, un problème commun entre eux est qu’ils ne sont pas adaptés aux applications temps réel telles que les jeux vidéo, la réalité augmentée et la réalité virtuelle, qui nécessitent un traitement particulier. Le délestage de code a connu un récent engouement avec l’avènement du MEC et son évolution vers le edge à multiple accès qui élargit son applicabilité à des réseaux hétérogènes comprenant le WiFi et les technologies d’accès fixe. Combiné avec l’accès mobile 5G, une pléthore de nouveaux services mobiles apparaîtront, notamment des service type URLLC et eV2X. De tels types de services nécessitent une faible latence pour accéder aux données et des capacités de ressources suffisantes pour les exécuter. Pour mieux trouver sa position dans une architecture 5G et entre les services 5G proposés, le délestage de code doit surmonter plusieurs défis; la latence réseau élevée, hétérogénéité des ressources, interopérabilité des applications et leur portabilité, la consommation d’énergie, la sécurité, et la mobilité, pour citer quelques uns. Dans cette thèse, nous étudions le paradigme du délestage de code pour des applications a temps rèel, par exemple; les jeux vidéo sur équipements mobiles et le traitement d’images. L’accent sera mis sur la latence réseau, la consommation de ressources, et les performances accomplies. Les contributions de la thse` sont organisées sous les axes suivants: • Étudier le comportement des moteurs de jeu sur différentes plateformes en termes de consommation de ressources (CPU / GPU) par image et par module de jeu. • Étudier la possibilité de distribuer les modules du moteur de jeu en fonction de la consommation de ressources, de la latence réseau, et de la dépendance du code. • Proposer une stratégie de déploiement pour les fournisseurs de jeux dans le Cloud, afin de mieux exploiter les ressources, en fonction de la demande variable en ressource par des moteurs de jeu et de la QoE du joueur. • Proposer une solution de délestage statique de code pour les moteurs de jeu en divisant la scène 3D en différents objets du jeu. Certains de ces objets sont distribués en fonction de la consommation de ressources, de la latence réseau et de la dépendance du code. • Proposer une solution de délestage dynamique de code pour les moteurs de jeu basée sur une heuristique qui calcule pour chaque objet du jeu, le gain du délestage. En fonction de ce gain, un objet peut être distribué ou non. • Proposer une nouvelle approche pour le délestage de code vers le MEC en déployant une application sur la bordure du réseau (edge) responsable de la décision de délestage au niveau du terminal et proposer deux algorithmes pour prendre la meilleure décision concernant les tâches à distribuer entre le terminal et le serveur hébergé dans le MEC. iii ACKNOWLEDGEMENTS Dans cette thèse, je présente le travail que j’ai effectué sur une période de plus de trois ans. Pendant longtemps, de nombreuses personnes m’ont aidé, m’ont inspiré, ou autrement m’ont soutenu pour arriver là où je suis aujourd’hui. Ces gens que je voudrais remercier ici. Tout d’abord, je remercie tout particulièrement mon directeur de thèse Adlen Ksentini et co-directeur Philippe Bertin, pour leurs conseils, leur disponibilité et dévouement, leur gentillesse, leur sympathie et surtout de m’avoir accordé leur confiance pour mener à bien ce travail; qu’ils puissent trouver ici l’expression de ma reconnaissance, de mon profond respect et de mes plus vifs remerciements. Au terme de ce travail, il m’est agréable de remercier toutes les personnes qui, chacune à sa manière, m’ont permises de le mener à bien. Tout d’abord, mon chef de laboratoire “Network Architecture” Mr Olivier Choisy. Aussi, je remercie infiniment mon directeur du lab Mr Michel Corriou. Un grand merci aux employés de B-COM pour leur disponibilité. Je remercie les membres du jury d’avoir accepté de juger ce travail. Enfin, que tous ceux qui ont participé de près ou de loin à la bonne marche de ce travail et la réalisation de ce mémoire trouvent ici l’expression de ma reconnaissance et de mes remerciements les plus profonds. À toutes et à tous Merci. Farouk v TABLE OF CONTENTS Page List of Tables iv List of Figures v Glossary 1 1 Introduction 7 1.1 Thesis Contributions . 9 1.2 Manuscript Organization . 11 2 Computation Offloading: Context 13 2.1 Introduction . 13 2.2 Principals . 14 2.2.1 Definition .