User equipment based-computation offloading for real-time applications in the context of Cloud and edge networks. (Délestage de calcul pour des applications temps-réel dans le contexte du Cloud et du edge)

Le delestage de calcul ou de code est une technique qui permet a un appareil mobile avec une contrainte de ressources d'executer a distance, entierement ou partiellement, une application intensive en calcul dans un environnement Cloud avec des ressources suffisantes. Le delestage de code est effectue principalement pour economiser de l'energie, ameliorer les performances, ou en raison de l'incapacite des appareils mobiles a traiter des calculs intensifs. Plusieurs approches et systemes ont ete proposes pour delester du code dans le Cloud tels que CloneCloud, MAUI et Cyber Foraging. La plupart de ces systemes offrent une solution complete qui traite differents objectifs. Bien que ces systemes presentent en general de bonnes performances, un probleme commun entre eux est qu'ils ne sont pas adaptes aux applications temps reel telles que les jeux video, la realite augmentee et la realite virtuelle, qui necessitent un traitement particulier. Le delestage de code a connu un recent engouement avec l'avenement du MEC et son evolution vers le edge a multiple acces qui elargit son applicabilite a des reseaux heterogenes comprenant le WiFi et les technologies d'acces fixe. Combine avec l'acces mobile 5G, une plethore de nouveaux services mobiles apparaitront, notamment des service type URLLC et eV2X. De tels types de services necessitent une faible latence pour acceder aux donnees et des capacites de ressources suffisantes pour les executer. Pour mieux trouver sa position dans une architecture 5G et entre les services 5G proposes, le delestage de code doit surmonter plusieurs defis; la latence reseau elevee, heterogeneite des ressources, interoperabilite des applications et leur portabilite, la consommation d'energie, la securite, et la mobilite, pour citer quelques uns. Dans cette these, nous etudions le paradigme du delestage de code pour des applications a temps reel, par exemple; les jeux video sur equipements mobiles et le traitement d'images. L'accent sera mis sur la latence reseau, la consommation de ressources, et les performances accomplies. Les contributions de la these sont organisees sous les axes suivants : Etudier le comportement des moteurs de jeu sur differentes plateformes en termes de consommation de ressources (CPU / GPU) par image et par module de jeu ; Etudier la possibilite de distribuer les modules du moteur de jeu en fonction de la consommation de ressources, de la latence reseau, et de la dependance du code ; Proposer une strategie de deploiement 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 delestage statique de code pour les moteurs de jeu en divisant la scene 3D en differents objets du jeu. Certains de ces objets sont distribues en fonction de la consommation de ressources, de la latence reseau et de la dependance du code ; Proposer une solution de delestage dynamique de code pour les moteurs de jeu basee sur une heuristique qui calcule pour chaque objet du jeu, le gain du delestage. En fonction de ce gain, un objet peut etre distribue ou non ; Proposer une nouvelle approche pour le delestage de code vers le MEC en deployant une application sur la bordure du reseau (edge) responsable de la decision de delestage au niveau du terminal et proposer deux algorithmes pour prendre la meilleure decision concernant les tâches a distribuer entre le terminal et le serveur heberge dans le MEC.