Analyse de faisabilité de l'implantation d'un protocole de communication sur processeur multicoeurs

RESUME Les travaux de ce memoire s’inscrivent dans le cadre d’un projet qui fait l’objet d’un parrainage industriel. Les resultats visent a comprendre le comportement d’un systeme de traitement operant dans des contextes precis. Nous situons ce projet a l’intersection des principes d’ordonnancements de tâches, des systemes d’execution, de la virtualisation de fonctions de reseaux et surtout les contraintes associees a la virtualisation d’une pile de protocole LTE (Long Term Evolution), la norme de telephonie cellulaire la plus en vue en ce moment. Une revue de litterature est proposee pour expliquer en detail les concepts vus plus haut, afin d’avoir une idee precise de la situation de test. D’abord, une etude des grappes d’unites de traitement temps reel est effectuee dans l’optique de l’implementation de ce qu’il est convenu d’appeler un Cloud Radio Area Network (C-RAN), qui supporte sur une plateforme infonuagique l’electronique qui effectue le traitement de signal requis pour un point d’acces de telephonie cellulaire. L’etude developpee dans ce memoire vise a evaluer les differents goulots d’etranglement qui peuvent survenir suite a la reception d’un paquet LTE au sein d’une trame CPRI (Common Public Radio Interface), jusqu’a l’envoi de ce paquet d’un serveur maitre jusqu’aux esclaves. Nous evaluons donc les latences et bandes passantes observees pour les differents protocoles composant la plateforme. Nous caracterisons notamment les communications CPRI des antennes vers le bassin de stations de base virtuelles, une communication de type Quick Path Interconnect (QPI) entre des cœurs de traitement et un reseau logique programmable de type FPGA, une communication dediee point a point entre le FPGA et une carte NIC (Network Interface Card) pour finir avec l’envoi de trames Ethernet vers les serveurs esclaves. Cette etude nous permet de deduire que la virtualisation d’une pile LTE est viable sur une telle grappe de calcul temps reel. ----------ABSTRACT The work performed as part of this Master thesis is done in the context of an industrially sponsored project. The objective is to understand the runtime behavior of a class of systems in specific contexts. We place this project at the intersection of the principles of task scheduling, runtimes, Network Functions Virtualisation (NFVs) and especially with the constraints associated with virtualization of an LTE (Long Term Evolution) stack that is the most prominent cellular telecommunication standard at the moment. A literature review is proposed to explain in detail the concepts discussed above, in order to have a clear idea of the target environment. First, a study of a real time processing cluster is carried out in relation to the implementation of the so-called Cloud Radio Area Network (C-RAN) that supports on a cloud platform all the electronics which performs the signal processing required for a cellular access point. The study developed in this paper is to evaluate the various bottlenecks that can occur following the receipt of an LTE packet within a Common Public Radio Interface (CPRI) frame, then as part of sending the package to a master server before routing it to the slaves. We evaluate the latencies and bandwidths observed for the different protocols used on the platform components. In particular, we characterize the CPRI communications from the antennas to the virtual base stations units, a Quick Path Interconnect (QPI) communication between processing cores and a programmable logic array in the type of a FPGA, a dedicated point to point communication between the FPGA and a NIC (Network Interface Card) to end with the sending Ethernet frames to the slave servers. This study allows us to infer that the virtualization of an LTE stack is viable on a real time computation cluster with the implied architecture. Then, to be able to validate the effectiveness of different scheduling algorithms, an emulation of a LTE Uplink stack virtualization will be made. Through a runtime called StarPU coupled with profiling tools, we deliver results to assess the need for dedicated thread or cores to manage tasks within a server.