Améliorer l'évolutivité des fonctions serverless à la périphérie
Une nouvelle méthode pour faire évoluer efficacement des fonctions sans serveur dans des réseaux en périphérie.
― 7 min lire
Table des matières
L'informatique sans serveur, c'est une façon moderne de faire fonctionner des applis sans avoir à gérer des serveurs. Ça permet aux développeurs de se concentrer uniquement sur l'écriture de code. Ce modèle est en train d'émerger comme un bon choix pour les réseaux de périphérie, qui sont des systèmes proches des utilisateurs et qui aident à accélérer les connexions et le traitement. Dans ces réseaux, les applis doivent souvent répondre rapidement aux Demandes des utilisateurs, donc il est crucial de gérer intelligemment les Ressources disponibles.
Redimensionner des fonctions sans serveur, ça veut dire ajuster combien de copies d'une fonction tournent en fonction de la demande. Par exemple, si plein d'utilisateurs demandent une fonction en même temps, le système doit créer rapidement plus de copies pour gérer la charge. Quand la demande diminue, le système peut enlever les copies en trop pour économiser des ressources. Ce processus peut être compliqué à gérer dans les réseaux de périphérie parce qu'ils sont décentralisés et doivent faire face à des Retards de communication.
Les méthodes traditionnelles de redimensionnement dans les environnements cloud ne fonctionnent peut-être pas bien à la périphérie, donc il faut une nouvelle approche qui peut allouer des ressources efficacement et gérer les retards.
Le défi du redimensionnement à la périphérie
Dans l'informatique cloud, le redimensionnement des fonctions se fait de manière centrale. Des plateformes comme Amazon AWS Lambda ou Google Cloud Functions gèrent ce processus en surveillant les demandes entrantes. Quand le nombre de demandes augmente, le système crée plus de copies. Quand la demande diminue, il réduit le nombre de copies actives. Cependant, dans les réseaux de périphérie, cette stratégie rencontre des obstacles.
Les réseaux de périphérie sont constitués de nombreux nœuds distribués, ce qui rend difficile la collecte de données sur les demandes de fonction et la disponibilité des ressources. Cette situation complique les décisions de redimensionnement. De plus, beaucoup d'applis à la périphérie nécessitent des réponses rapides. Si le système ne parvient pas à respecter la rapidité requise, cela peut nuire à l'expérience utilisateur.
Les méthodes existantes se concentrent généralement sur la surveillance des demandes de fonction sans prendre en compte l'état du réseau ou les besoins spécifiques des applications sensibles aux délais. Cela signifie que quand des demandes arrivent, le système n'est peut-être pas prêt à les traiter rapidement, ce qui entraîne des retards plus longs.
Présentation d'une nouvelle solution de redimensionnement
Pour relever ces défis, une nouvelle solution utilisant l'apprentissage par renforcement (RL) a été suggérée. Cette méthode permet au système d'apprendre et de prendre de meilleures décisions d'allocation des ressources au fil du temps. En observant comment différentes stratégies se comportent, le modèle RL peut ajuster dynamiquement les actions de redimensionnement.
L'apprentissage par renforcement implique un Agent (la partie du système qui prend les décisions) qui apprend grâce à des retours. Quand l'agent performe bien, il reçoit des retours positifs (récompense), ce qui l'encourage à utiliser des actions similaires à l'avenir. S'il performe mal, il reçoit des retours négatifs, ce qui pousse à faire des ajustements pour de meilleures décisions.
Dans ce contexte, l'agent RL surveillera les retards et l'utilisation des ressources et prendra des décisions de redimensionnement en conséquence. L'objectif est de s'assurer que les applications tournant à la périphérie peuvent répondre dans les délais requis, améliorant ainsi considérablement l'expérience utilisateur.
Comment fonctionne la méthode proposée
La méthode proposée utilise à la fois l'apprentissage par renforcement et l'apprentissage par renforcement profond (Deep RL). Le modèle RL de base regarde l'état actuel du système, y compris combien de copies de fonction sont en cours, combien de demandes attendent, et les retards qui se produisent.
En utilisant ces informations, l'agent RL choisit des actions comme :
- Ajouter plus de copies d'une fonction pour gérer l'augmentation des demandes.
- Réduire le nombre de copies de fonction quand la demande diminue.
- Mettre en file d'attente les demandes de fonction si les ressources ne sont pas disponibles.
En se concentrant sur la minimisation des retards et sur la satisfaction des besoins des utilisateurs, le système RL vise à apprendre quelles actions mènent aux meilleurs résultats.
Avec le Deep RL, un modèle plus complexe utilisant des réseaux neuronaux analyse les données. Ce modèle approfondit la performance de différentes stratégies, améliorant la capacité de prendre des décisions de redimensionnement précises.
Tester la nouvelle approche
Pour évaluer l'efficacité de cette nouvelle solution de redimensionnement, des simulations ont été menées. Ces simulations imitent des environnements réels avec des demandes variées sur des fonctions sans serveur.
Lors des tests, la performance des méthodes RL et Deep RL a été comparée à celles des méthodes traditionnelles basées sur la surveillance utilisées dans les systèmes existants. Les résultats ont montré des tendances prometteuses.
Dans les simulations, les méthodes RL ont atteint de meilleures performances en termes de délais moyens pour les demandes de fonction. L'approche RL a non seulement réduit le délai total, mais a aussi amélioré la capacité à gérer des charges variables. Dans certains scénarios, elle a réduit les délais de jusqu'à 50 % par rapport aux méthodes standards.
De plus, alors que les méthodes traditionnelles peinaient avec l'augmentation des charges, les modèles RL ajustaient continuellement pour maintenir la performance. Cette capacité à s'adapter les a rendus plus efficaces pour gérer à la fois une forte demande et des charges plus faibles.
Comparaison de performance
En comparant les méthodes RL et Deep RL aux méthodes standard et de surveillance sensibles aux délais, il était évident que RL surpassait les autres dans la gestion efficace des délais et des ressources.
Les approches basées sur la surveillance utilisées dans des plateformes comme OpenFaaS impliquent généralement de vérifier le taux des demandes entrantes. Quand le nombre de demandes dépasse certains seuils, elles augmentent ; sinon, elles diminuent. Cependant, cette méthode peut échouer lorsque les conditions du réseau changent rapidement ou lorsque les demandes nécessitent des réponses urgentes.
Au contraire, l'approche RL apprend des expériences passées pour prendre des décisions éclairées. Ce processus d'apprentissage permet au système d'anticiper quand il faut augmenter ou diminuer en fonction des tendances actuelles, améliorant la réactivité et la satisfaction des utilisateurs.
Insights des résultats
Les résultats des simulations ont fourni des insights cruciaux. Par exemple, lorsque la demande pour les fonctions augmentait, les méthodes de surveillance traditionnelles avaient tendance à créer de nouvelles copies lentement, entraînant des délais plus longs. En revanche, les algorithmes RL et Deep RL ont pu maintenir des délais moyens plus bas même sous pression.
En outre, l'approche RL a montré qu'il n'est pas nécessaire d'utiliser des réseaux neuronaux complexes pour obtenir de bonnes performances. Le modèle RL de base a prouvé son efficacité, suggérant que même des implémentations plus simples peuvent répondre aux besoins des applications à la périphérie sans exigences computationnelles excessives.
Conclusion
En conclusion, la méthode de redimensionnement basée sur l'apprentissage par renforcement proposée offre une solution pratique pour gérer les fonctions sans serveur dans les réseaux de périphérie. En se concentrant sur la minimisation des délais et l'optimisation de l'allocation des ressources, elle améliore significativement la performance par rapport aux méthodes traditionnelles.
Ce travail ouvre des voies pour de futures recherches, comme tester la solution dans des scénarios plus compliqués et assurer la fiabilité dans les réseaux de périphérie. À mesure que le paysage de l'informatique continue d'évoluer, adapter des méthodes comme celles-ci sera clé pour maintenir une expérience utilisateur de qualité dans un monde de plus en plus connecté.
Titre: Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach
Résumé: With rapid advances in containerization techniques, the serverless computing model is becoming a valid candidate execution model in edge networking, similar to the widely used cloud model for applications that are stateless, single purpose and event-driven, and in particular for delay-sensitive applications. One of the cloud serverless processes, i.e., the auto-scaling mechanism, cannot be however directly applied at the edge, due to the distributed nature of edge nodes, the difficulty of optimal resource allocation, and the delay sensitivity of workloads. We propose a solution to the auto-scaling problem by applying reinforcement learning (RL) approach to solving problem of efficient scaling and resource allocation of serverless functions in edge networks. We compare RL and Deep RL algorithms with empirical, monitoring-based heuristics, considering delay-sensitive applications. The simulation results shows that RL algorithm outperforms the standard, monitoring-based algorithms in terms of total delay of function requests, while achieving an improvement in delay performance by up to 50%.
Auteurs: Mounir Bensalem, Erkan Ipek, Admela Jukan
Dernière mise à jour: 2023-05-22 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.13130
Source PDF: https://arxiv.org/pdf/2305.13130
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.