Connect with us

Technologie

Détection des Voisins Bruyants grâce à eBPF : Une Révolution Silencieuse !

Découvrez comment Netflix surmonte le défi des « voisins bruyants » dans son environnement multi-locataire ! Nos équipes d’ingénierie se penchent sur les problèmes de performance, en utilisant eBPF pour une instrumentation continue et à faible surcharge du planificateur Linux. Grâce à cette technologie, nous pouvons surveiller efficacement la latence des files d’attente d’exécution, permettant ainsi une meilleure observabilité de l’infrastructure. Ne manquez pas notre article pour explorer comment ces innovations transforment notre approche de la performance et de l’optimisation des ressources.

Published

on

Noisy Neighbor Detection with eBPF

Technologie

Les équipes d’ingénierie de la performance et du calcul chez Netflix s’attaquent régulièrement aux problèmes de performance dans notre environnement multi-locataire. La première étape consiste à déterminer si le problème provient de l’application ou de l’infrastructure sous-jacente. Un défi fréquent dans ce processus est le problème du « voisin bruyant ». Sur Titus, notre plateforme de calcul multi-locataire, un « voisin bruyant » désigne un conteneur ou un service système qui utilise intensivement les ressources du serveur, entraînant une dégradation des performances des conteneurs voisins. Nous nous concentrons généralement sur l’utilisation du CPU, car c’est la source la plus courante des problèmes de voisin bruyant.

La détection des effets des voisins bruyants est complexe. Les outils d’analyse de performance traditionnels, tels que perf, peuvent introduire une surcharge significative, risquant ainsi d’aggraver la dégradation des performances. De plus, ces outils sont souvent déployés après coup, ce qui est trop tard pour une enquête efficace. Un autre défi réside dans le fait que le débogage des problèmes de voisin bruyant nécessite une expertise technique approfondie et des outils spécialisés. Dans cet article, nous allons expliquer comment nous avons utilisé eBPF pour réaliser une instrumentation continue et à faible surcharge du planificateur Linux, permettant ainsi un suivi efficace des problèmes de voisin bruyant. Vous découvrirez comment l’instrumentation du noyau Linux peut améliorer l’observabilité de votre infrastructure en offrant des informations plus approfondies et un meilleur suivi.

Instrumentation Continue du Planificateur Linux

Pour garantir la fiabilité de nos charges de travail qui dépendent de réponses à faible latence, nous avons instrumenté la latence de la file d’attente d’exécution pour chaque conteneur, mesurant le temps que les processus passent dans la file d’attente de planification avant d’être envoyés au CPU. Une attente prolongée dans cette file d’attente peut être un indicateur de problèmes de performance, surtout lorsque les conteneurs n’utilisent pas leur allocation totale de CPU. L’instrumentation continue est essentielle pour détecter ces problèmes dès leur apparition, et eBPF, avec ses points d’accroche dans le planificateur Linux et une surcharge minimale, nous a permis de surveiller efficacement la latence de la file d’attente d’exécution.

Pour émettre une métrique de latence de la file d’attente d’exécution, nous avons utilisé trois points d’accroche eBPF : sched_wakeup, sched_wakeup_new, et sched_switch.

Les points d’accroche sched_wakeup et sched_wakeup_new sont appelés lorsqu’un processus change d’état de ‘dormant’ à ‘exécutable’. Ils nous permettent d’identifier quand un processus est prêt à s’exécuter et attend du temps CPU. Lors de cet événement, nous générons un horodatage et le stockons dans une carte de hachage eBPF en utilisant l’identifiant du processus comme clé.

D’autre part, le point d’accroche sched_switch est déclenché lorsque le CPU change de processus. Ce point d’accroche fournit des pointeurs vers le processus actuellement actif sur le CPU et celui qui va prendre le relais. Nous utilisons l’identifiant du processus à venir pour récupérer l’horodatage dans la carte eBPF. Cet horodatage représente le moment où le processus est entré dans la file d’attente, que nous avions précédemment stocké. Nous calculons ensuite la latence de la file d’attente d’exécution en soustrayant simplement les horodatages.

Un des avantages d’eBPF est sa capacité à fournir des pointeurs vers les structures de données du noyau représentant les processus ou les threads, également appelés tâches dans la terminologie du noyau. Cette fonctionnalité permet d’accéder à une multitude d’informations stockées sur un processus. Nous avions besoin de l’identifiant de cgroup du processus pour l’associer à un conteneur dans notre cas d’utilisation spécifique. Cependant, les informations de cgroup dans la structure du processus sont protégées par un verrou RCU (Read Copy Update).

Pour accéder en toute sécurité à ces informations protégées par RCU, nous pouvons utiliser des kfuncs dans eBPF. Les kfuncs sont des fonctions du noyau qui peuvent être appelées depuis des programmes eBPF. Il existe des kfuncs disponibles pour verrouiller et déverrouiller les sections critiques de lecture RCU. Ces fonctions garantissent que notre programme eBPF reste sûr et efficace tout en récupérant l’identifiant de cgroup à partir de la structure de tâche.

Une fois les données prêtes, nous devons les emballer et les envoyer à l’espace utilisateur. Pour cela, nous avons choisi de…

Optimisation de la Surveillance des Processus avec eBPF

L’utilisation de l’eBPF (Extended Berkeley Packet Filter) pour la gestion des buffers circulaires s’avère être une solution efficace, performante et conviviale. Ce système est capable de traiter des enregistrements de données de longueur variable tout en permettant la lecture des données sans nécessiter de copies supplémentaires en mémoire ou d’appels système. Cependant, la quantité élevée de points de données entraînait une utilisation excessive du CPU par le programme en espace utilisateur. Pour remédier à cela, nous avons intégré un limiteur de taux dans eBPF afin de prélever les données de manière plus contrôlée.

Structure des Buffers et Événements

Nous avons défini plusieurs structures pour gérer les événements et les timestamps associés aux groupes de contrôle (cgroups). Voici un aperçu de la structure utilisée :

struct {
    __uint(type, BPF_MAP_TYPE_RINGBUF);
    __uint(max_entries, RINGBUF_SIZE_BYTES);
} events SEC(".maps");

struct {
    __uint(type, BPF_MAP_TYPE_PERCPU_HASH);
    __uint(max_entries, MAX_TASK_ENTRIES);
    __uint(key_size, sizeof(u64));
    __uint(value_size, sizeof(u64));
} cgroup_id_to_last_event_ts SEC(".maps");

struct runq_event {
    u64 prev_cgroup_id;
    u64 cgroup_id;
    u64 runq_lat;
    u64 ts;
};

Le code ci-dessus illustre comment nous gérons les événements de changement de planification. Nous avons mis en place un mécanisme de limitation de taux par cgroup pour équilibrer l’observabilité et la surcharge de performance.

Traitement des Événements en Utilisant Go

Notre application en espace utilisateur, développée en Go, traite les événements provenant du buffer circulaire pour émettre des métriques vers notre backend de métriques, Atlas. Chaque événement comprend un échantillon de latence de la file d’attente d’exécution associé à un ID de cgroup, que nous relions aux conteneurs en cours d’exécution sur l’hôte. Si aucune association n’est trouvée, nous le classifions comme un service système. Lorsqu’un ID de cgroup est lié à un conteneur, nous émettons une métrique de temps percentile pour ce conteneur. Nous incrémentons également un compteur pour surveiller les préemptions des processus du conteneur.

Importance des Métriques de Latence

Il est crucial de souligner que les métriques de latence de la file d’attente d’exécution et de préemption sont toutes deux nécessaires pour évaluer si un conteneur est affecté par des voisins bruyants. Par exemple, si un conteneur atteint ou dépasse sa limite CPU, le planificateur le ralentira, entraînant une augmentation apparente de la latence. Si nous ne considérions que cette métrique, nous pourrions faussement attribuer la dégradation des performances à des voisins bruyants, alors qu’il s’agit en réalité d’une limitation de quota CPU.

Étude de Cas : Problème de Voisinage Bruyant

Prenons l’exemple d’un serveur exécutant un seul conteneur avec une capacité CPU suffisante. La latence à 99e percentile est de 83,4 microsecondes, ce qui constitue notre référence. Cependant, à 10h35, le lancement d’un second conteneur a provoqué une augmentation significative de 131 millisecondes dans la latence de la file d’attente d’exécution du premier conteneur. Cette augmentation aurait été perceptible si l’application en espace utilisateur avait traité du trafic HTTP.

Les métriques de préemption indiquent que cette augmentation était due à des préemptions accrues par des processus système, illustrant un problème de voisinage bruyant où les services système rivalisent avec les conteneurs pour le temps CPU.

Optimisation du Code eBPF

Nous avons développé un outil de surveillance des processus eBPF open-source, bpftop, pour mesurer la surcharge du code eBPF dans ce chemin critique du noyau. Nos analyses montrent que l’instrumentation ajoute moins de 600 nanosecondes à chaque point d’accroche de planification. Lors de l’analyse des performances d’un service Java exécuté dans un conteneur, l’instrumentation n’a pas introduit de surcharge significative.

Améliorations Identifiées

Au cours de nos recherches sur la mesure des statistiques eBPF dans le noyau, nous avons identifié des opportunités d’amélioration. Nous avons soumis un correctif qui a été intégré dans la version 6.10 du noyau Linux.

À travers des essais et l’utilisation de bpftop, nous avons identifié plusieurs optimisations pour maintenir une faible surcharge :

  • L’utilisation de BPF_MAP_TYPE_HASH s’est révélée la plus performante pour stocker les timestamps en file d’attente. En revanche, BPF_MAP_TYPE_TASK_STORAGE a entraîné une diminution de performance presque double.
  • Les cartes de type BPF_MAP_TYPE_PERCPU_HASH ont montré des performances légèrement inférieures à celles de BPF_MAP_TYPE_HASH, ce qui nécessite une investigation plus approfondie.

40 à 50 nanosecondes plus lents par opération que les cartes de hachage classiques. En raison des préoccupations liées à l’espace causées par le changement de PID, nous les avons initialement utilisées pour les horodatages en file d’attente. nous avons opté pour BPF_MAP_TYPE_HASH avec une taille augmentée afin de réduire ce risque.

L’assistant BPF_CORE_READ ajoute 20 à 30 nanosecondes par appel. Pour les points de trace bruts, en particulier ceux qui sont « activés par BTF » (tp_btf/*), il est plus sûr et plus efficace d’accéder directement aux membres de la structure de tâche. Andrii Nakryiko recommande cette méthode dans son article de blog.

Les événements sched_switch, sched_wakeup et sched_wakeup_new sont tous déclenchés pour les tâches du noyau, identifiables par leur PID de 0. Nous avons jugé inutile de surveiller ces tâches, c’est pourquoi nous avons mis en place plusieurs conditions de sortie anticipée et une logique conditionnelle pour éviter d’exécuter des opérations coûteuses, comme l’accès aux cartes BPF, lors du traitement d’une tâche du noyau. Il est à noter que les tâches du noyau fonctionnent via la file d’attente du planificateur, tout comme tout processus ordinaire.

Synthèse

Nos résultats mettent en lumière l’importance d’une instrumentation continue à faible surcharge du noyau Linux grâce à eBPF. Nous avons intégré ces métriques dans les tableaux de bord des clients, permettant des insights exploitables et orientant les discussions sur la performance en multitenance. Grâce à ces métriques, nous pouvons également affiner nos stratégies d’isolation CPU pour minimiser l’impact des voisins bruyants. De plus, ces données nous ont permis d’approfondir notre compréhension du planificateur Linux.

Ce travail a également enrichi notre connaissance de la technologie eBPF et a souligné l’importance d’outils comme bpftop pour optimiser le code eBPF. Avec l’augmentation de l’adoption d’eBPF, nous prévoyons que davantage d’observabilité d’infrastructure et de logique métier seront transférées vers cette technologie. Un projet prometteur dans ce domaine est sched_ext, qui pourrait révolutionner la manière dont les décisions de planification sont prises et adaptées aux besoins spécifiques des charges de travail.

Général

Anker SOLIX dévoile la Solarbank 2 AC : la nouvelle ère du stockage d’énergie ultra-compatible !

Découvrez le Solarbank 2 AC, une véritable révolution dans le domaine de l’énergie solaire ! Grâce à ses batteries au phosphate de fer lithium, ce système s’adapte parfaitement à vos besoins. Avec une puissance impressionnante de 2400 watts et la possibilité d’ajouter jusqu’à cinq batteries supplémentaires, il assure un stockage optimal. Sa compatibilité avec le compteur Anker SOLIX Smart favorise une gestion intelligente de votre consommation énergétique. Ne ratez pas l’offre spéciale « early bird », disponible dès maintenant pour seulement 999 euros ! Saisissez cette chance unique !

Published

on

Anker SOLIX dévoile la Solarbank 2 AC : la nouvelle ère du stockage d’énergie ultra-compatible !

Le Solarbank 2 AC : Une Révolution dans le Stockage Énergétique

Batteries au Lithium Fer Phosphate

Le Solarbank 2 AC se démarque par l’utilisation de batteries au lithium fer phosphate (LFP), reconnues pour leur sécurité et leur efficacité. Ce modèle est particulièrement innovant grâce à son système de couplage alternatif, qui lui permet de s’adapter facilement à divers systèmes solaires déjà en place.Que ce soit pour des installations sur toiture, des systèmes solaires compacts pour balcons ou d’autres configurations réduites, il peut fonctionner avec un micro-onduleur de 800 Watts.

Capacité et flexibilité Énergétique

Avec une capacité maximale d’injection dans le réseau domestique atteignant 1200 watts,le Solarbank 2 AC peut être associé à deux régulateurs solaires MPPT. Cela ouvre la possibilité d’ajouter jusqu’à 1200 watts supplémentaires via des panneaux solaires additionnels, portant ainsi la puissance totale à un impressionnant 2400 watts. Pour les utilisateurs nécessitant davantage de stockage énergétique, il est possible d’intégrer jusqu’à cinq batteries supplémentaires de 1,6 kilowattheure chacune, augmentant la capacité totale à 9,6 kilowattheures.

Intégration dans un Écosystème Intelligent

Le Solarbank 2 AC s’intègre parfaitement dans un écosystème énergétique intelligent grâce à sa compatibilité avec le compteur Anker SOLIX Smart et les prises intelligentes proposées par Anker. cette fonctionnalité permet une gestion optimisée de la consommation électrique tout en réduisant les pertes énergétiques inutiles. De plus, Anker SOLIX prévoit d’étendre cette compatibilité aux dispositifs Shelly.

Durabilité et Résistance aux Intempéries

Anker SOLIX met également l’accent sur la longévité du Solarbank 2 AC. Conçu pour supporter au moins 6000 cycles de charge, cet appareil a une durée de vie estimée dépassant quinze ans. Il est accompagné d’une garantie fabricant décennale et possède une certification IP65 qui assure sa résistance face aux intempéries tout en étant capable de fonctionner dans des températures variant entre -20 °C et +55 °C.

Disponibilité et Offres Promotionnelles

Le solarbank 2 AC est disponible sur le site officiel d’Anker SOLIX ainsi que sur Amazon au prix standard de 1299 euros. Cependant, une offre promotionnelle « early bird » sera active du 20 janvier au 23 février 2025, permettant aux acheteurs intéressés d’acquérir cet appareil dès 999 euros ! Cette promotion inclut également un compteur Anker SOLIX Smart offert pour chaque commande passée durant cette période spéciale.

le Solarbank 2 AC représente une avancée significative dans le domaine du stockage énergétique domestique grâce à ses caractéristiques techniques avancées et son engagement envers la durabilité environnementale.

Continue Reading

Technologie

Ne manquez pas cette offre incroyable : le Air Fryer Moulinex Easy Fry Max à -42% sur Amazon !

Les soldes d’hiver sont là ! Ne ratez pas l’incroyable offre d’Amazon sur le Moulinex Easy Fry Max, à seulement 69 euros au lieu de 119 euros, soit une réduction sensationnelle de -42% ! Avec sa capacité généreuse de 5 L, cette friteuse sans huile est idéale pour régaler jusqu’à 6 convives. Grâce à ses 10 programmes de cuisson et son interface tactile intuitive, préparez des plats sains et savoureux en un clin d’œil. Dépêchez-vous, les stocks s’épuisent vite et cette offre est limitée dans le temps !

Published

on

Ne manquez pas cette offre incroyable : le Air Fryer Moulinex Easy Fry Max à -42% sur Amazon !

Technologie

Les soldes d’hiver sont en cours, et Amazon en profite pour offrir des promotions intéressantes, notamment sur les friteuses à air. Actuellement, le Moulinex Easy Fry Max est proposé à un prix attractif de 69 euros au lieu de 119 euros, ce qui représente une réduction immédiate de 42 %. C’est une occasion parfaite pour acquérir une friteuse sans huile XL d’une capacité généreuse de 5 L, idéale pour préparer des repas pour jusqu’à six personnes à un tarif très compétitif.

Étant donné que cette offre est limitée dans le temps,il est conseillé d’agir rapidement si vous souhaitez en bénéficier. De plus, avec un tel prix, les stocks pourraient s’épuiser rapidement. Ce modèle se classe parmi les meilleures ventes sur Amazon avec plus de 1000 unités écoulées le mois dernier.

Profitez des offres sur Amazon

Amazon propose également la livraison gratuite et rapide pour cet article qui bénéficie d’une garantie de deux ans. En outre, il existe une option de paiement échelonné en quatre fois sans frais sur ce modèle. Enfin, sachez que vous avez la possibilité de changer d’avis et retourner le produit gratuitement dans un délai de 30 jours afin d’obtenir un remboursement intégral.

Moulinex Easy Fry Max : cuisinez sainement pour toute la famille

Le moulinex Easy Fry Max fonctionne comme un four à air chaud permettant la préparation de plats savoureux tout en utilisant peu ou pas du tout d’huile. En plus des frites croustillantes qu’il réalise parfaitement, cet appareil se révèle très polyvalent et peut cuisiner une multitude d’autres recettes.

avec ses dix programmes prédéfinis adaptés à divers ingrédients tels que poulet,steak,poisson ou légumes ainsi que des options pour bacon et desserts comme les pizzas ,cet appareil répond aux besoins variés des familles modernes. De plus, Moulinex met à disposition un livre numérique rempli de recettes accessible via QR Code afin que vous puissiez facilement trouver l’inspiration culinaire lorsque nécessaire.

Sa capacité généreuse permet non seulement la préparation rapide mais aussi économique : jusqu’à 70 % moins énergivore et presque deux fois plus rapide qu’un four traditionnel ! Son interface intuitive avec écran tactile facilite son utilisation quotidienne.

en outre, le panier antiadhésif compatible lave-vaisselle simplifie grandement l’entretien après chaque utilisation. N’oubliez pas qu’il s’agit là encore d’une offre temporaire ; ne tardez donc pas si vous souhaitez profiter du meilleur prix possible sur cette friteuse innovante !

Pour accéder à cette remise exceptionnelle :

Continue Reading

Technologie

TikTok revient en force aux États-Unis, mais pas sur l’App Store !

Le suspense autour de TikTok est à son comble ! En avril 2024, le Congrès américain a voté une loi obligeant l’application à changer de propriétaire avant le 19 janvier. Les utilisateurs ont anxieusement attendu la décision finale. Bien que TikTok ait brièvement cessé ses activités, elle est revenue en ligne, mais absente de l’App Store. Apple justifie cette décision par des obligations légales. Cependant, les utilisateurs peuvent toujours accéder à leur compte… sans mises à jour. L’avenir de TikTok pourrait prendre un tournant décisif avec les promesses du nouveau président.

Published

on

TikTok revient en force aux États-Unis, mais pas sur l’App Store !

Technologie

En avril 2024, le Congrès américain a adopté une législation obligeant TikTok à trouver un nouvel acquéreur, ByteDance étant accusé d’activités d’espionnage. Les utilisateurs de l’submission aux États-Unis ont donc attendu avec impatience le week-end précédent la date limite du 19 janvier pour savoir si TikTok serait interdit dans le pays.

Bien que TikTok n’ait pas réussi à dénicher un repreneur avant cette échéance, l’application a temporairement suspendu ses activités… mais seulement pour quelques heures. le réseau social est désormais de retour en ligne, mais il n’est plus accessible sur l’App Store.

Retour de TikTok : Une Absence Persistante sur l’App Store

Apple a expliqué sa décision de retirer TikTok de son App store par un communiqué officiel. « Apple doit respecter les lois en vigueur dans les régions où elle opère. Selon la loi Protecting Americans from Foreign Adversary Controlled Applications act, les applications développées par ByteDance ltd., y compris TikTok et ses filiales comme CapCut et Lemon8, ne pourront plus être téléchargées ou mises à jour sur l’App Store pour les utilisateurs américains après le 19 janvier 2025 », précise la société.

Il est crucial de souligner que les utilisateurs américains ayant déjà installé TikTok peuvent toujours accéder au service. Cependant, ils ne recevront plus aucune mise à jour future de l’application. L’avenir du réseau social pourrait dépendre des décisions du nouveau président des États-Unis.

DÉCLARATION DE TIKTOK :

>

En collaboration avec nos partenaires techniques, nous travaillons activement à rétablir notre service. Nous remercions le président Trump pour avoir clarifié la situation et rassuré nos partenaires qu’ils ne subiront aucune sanction en continuant d’offrir TikTok aux plus de 170 millions d’utilisateurs…

Le successeur de Joe Biden sera investi comme président ce lundi 20 janvier et prévoit d’émettre un décret afin d’accorder un délai supplémentaire à TikTok pour trouver un acquéreur potentiel.Donald Trump propose même que les États-Unis détiennent une participation significative dans cette application.

« Je souhaite que les États-Unis possèdent une part importante dans une coentreprise avec cet outil numérique afin que nous puissions préserver son intégrité tout en lui permettant d’évoluer […]. Ainsi,notre pays détiendrait la moitié des parts dans une coentreprise établie entre nous et tout acheteur sélectionné »,a déclaré Donald Trump.

L’avenir immédiat de TikTok pourrait donc connaître des évolutions majeures très prochainement. Il convient également de noter qu’une rumeur circulait selon laquelle Elon Musk envisagerait d’acquérir des parts dans la plateforme,mais celle-ci a été rapidement démentie par un porte-parole officiel.

Continue Reading

Trending

Copyright © 2024 Tecknews.