IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Linux 6.3 ajoute à ses fonctionnalités le nouvel outil rtla hwnoise
Qui permet aux utilisateurs de mesurer avec précision les bruits matériels sur le système

Le , par Olivier Famien

0PARTAGES

10  0 
Alors que Linux 6.3 est en train d’être peaufiné, nous en savons un plus à mesure que les commits sont effectués. Une des fonctionnalités non négligeables qui a été ajoutée à Linux 6.3 est le nouvel outil rtla hwnoise.

rtla hwnoise (real time Linux analysis hardware noise) est un outil qui permet de détecter et de quantifier le bruit lié au matériel. Il récupère le récapitulatif périodique du traceur osnoise en cours d’exécution avec les interruptions désactivées. En désactivant les interruptions et l’ordonnancement des threads, seul le bruit lié aux interruptions non masquables et au matériel est autorisé. Selon la description faite par les mainteneurs de l’outil, ce dernier autorise également les configurations du traceur osnoise et la collecte de la sortie du traceur. En somme, rtla hwnoise offre des fonctionnalités similaires à osnoise (operating system noise) tout en affichant uniquement les interruptions non masquables (NMI) et le bruit lié au matériel.

En principe, le bruit matériel devrait être nul sur le système d’exploitation Linux. Toutefois, il s’avère que ce n’est pas toujours le cas. Dans le fonctionnement du système d’exploitation, l’on peut faire face à deux sources principales de bruit. Des bruits provenant à des opérations du système d’exploitation et des bruits liés au matériel. Dans le contexte du calcul haute performance (HPC) par exemple, le bruit du système d’exploitation (operating system noise ou osnoise) fait référence aux interférences subies par une application en raison d’activités à l’intérieur du système d’exploitation. Dans le contexte de Linux, les NMI, les IRQ, les SoftIRQ et tout autre thread du système peuvent causer du bruit au système. Dans pareil cas, les bruits du système d’exploitation peuvent être perçus comme le temps passé par le CPU à exécuter des instructions n’appartenant pas à une tâche d’application donnée affectée à ce processeur alors que la tâche souhaitée est prête à s’exécuter.

Sous Linux, bien qu’il puisse en exister d’autres, quatre contextes d’exécution principaux peuvent interférer avec une charge de travail : les interruptions non masquables (NMI), les interruptions masquables (IRQ), les softirqs (activités IRQ différées) et les threads. À côté de ces bruits liés au système, des charges liées au matériel peuvent également causer du bruit, par exemple via les SMI. C’est dans ce dernier cas que l’outil rtla hwnoise a été conçu. Pour mieux comprendre comment l’outil de surveillance et de mesure du bruit lié au matériel fonctionne, il convient de se tourner vers l’outil osnoise de Linux puisqu’il en est dérivé.

Sous Linux, il existe deux types d’outils permettant de mesurer le bruit du système d’exploitation : l’un basé sur la charge de travail et l’autre basé sur la trace. Les outils basés sur la charge de travail exécutent généralement des microbenchmarks avec une durée connue, et ils mesurent la différence entre la durée prévue du microbenchmark et le temps réel nécessaire pour le traiter. Bien qu’efficaces pour définir la quantité de bruit du système d’exploitation qu’une charge de travail peut subir, les outils basés sur la charge de travail ne peuvent pas identifier les causes profondes du bruit du système d’exploitation.

Les méthodes basées sur la trace exploitent les fonctionnalités de traçage du noyau Linux pour identifier la cause première du bruit du système d’exploitation. Cependant, ces méthodes basées sur la trace ne tiennent pas compte de la façon dont les charges de travail perçoivent le bruit. Et c’est pourquoi l’outil osnoise a été conçu. Il tire le meilleur parti des méthodes basées sur la charge de travail et sur les traces, en indiquant les causes profondes du bruit du système d’exploitation tout en tenant compte de la façon dont la charge de travail perçoit le bruit.


À côté de osnoise, nous avons l’outil rtla osnoise qui est une interface pour le traceur osnoise. Le traceur osnoise exécute une boucle dans le noyau en mesurant le temps disponible. Il le fait avec préemption, softirq et IRQ activés, autorisant ainsi toutes les sources d’osnoise lors de son exécution. Le traceur osnoise note le point d’entrée et de sortie de toute source d’interférences. Lorsque le bruit se produit sans aucune interférence au niveau du système d’exploitation, le traceur peut pointer en toute sécurité vers un bruit lié au matériel. De cette façon, le bruit d’osnoise peut rendre compte n’importe quelle source d’interférence. Le traceur osnoise ajoute également de nouveaux points de trace du noyau qui aident l’utilisateur à pointer les coupables du bruit de manière précise et intuitive. À la fin d’une période, le traceur osnoise imprime la somme de tous les bruits, le bruit unique maximum, le pourcentage de CPU disponible pour le thread et les compteurs pour les sources de bruit, servant d’outil de référence.

Avec rtla hwnoise, les utilisateurs et les développeurs qui se soucient de chaque microseconde volée par des instructions parasites envoyées par le matériel pourront mesurer avec précision ces bruits et prendre des décisions en conséquence, sachant que pour les opérations en temps réel chaque microseconde gagnée par le processeur a de la valeur.

Source : Linux Kernel

Et vous ?

Avez-vous testé ce nouvel outil ;? répond-il à vos attentes ;?

Voir aussi

Canonical a annoncé la disponibilité générale de son abonnement complet Ubuntu Pro, destiné aux utilisateurs qui souhaitent étendre les mises à jour de sécurité et la conformité de leurs systèmes

Les nouvelles menaces de logiciels malveillants sur Linux ont augmenté de 50 % en 2022, pour atteindre 1,9 million, alors que Windows a enregistré une baisse de 40 % des nouveaux échantillons

Une nouvelle vulnérabilité d’élévation de privilèges est découverte dans le noyau Linux, elle permet à un attaquant local d’exécuter un logiciel malveillant sur les systèmes vulnérables

Une vulnérabilité avec un score CVSS de 10 a été découverte dans le noyau Linux, seuls les systèmes avec ksmbd activé sont concernés, une MAJ a été publiée pour sa correction

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de _toma_
Membre confirmé https://www.developpez.com
Le 28/02/2023 à 21:58
Dans pareil cas, les bruits du système d’exploitation peuvent être perçus comme le temps passé par le CPU à exécuter des instructions n’appartenant pas à une tâche d’application donnée affectée à ce processeur alors que la tâche souhaitée est prête à s’exécuter.
En gros, c'est du temps processeur qui est perdu dans la gestion du matériel ou dans le fonctionnement de l'OS si j'ai bien compris.
5  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 28/02/2023 à 19:16
Pas clair, le bruit de quoi ? moi en électronique, le bruit c'est le rayonnement par exemple, bruit blanc...là c'est quoi exactement ?
4  0 
Avatar de foxzoolm
Membre habitué https://www.developpez.com
Le 01/03/2023 à 1:09
je ne suis pas sur que le role d'un OS soit de faire le moins de bruit possible (interruption de tache applicative pour qq micro seconde pour faire un truc osef)...
surtout si ca dure en "micro seconde" c'est que l'OS est légitime a arreter le process (acces disque, reseau, usb etc)

si les mecs veulent vraiment faire les furieux... faut passer en mode flat hein... (tout en ring0 sans mode protected)
1  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 01/03/2023 à 21:43
En gros, c'est du temps processeur qui est perdu dans la gestion du matériel ou dans le fonctionnement de l'OS si j'ai bien compris.
C'est ce qui me semblait aussi, cela confirme. Merci.

Étonnant d'appeler cela du bruit, temps perdu, temps non productif aurait été plus clair je trouve
1  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 05/03/2023 à 16:39
Oui, effectivement, le sujet intéresse les usages temps réel. Perdre 1ms, même toutes les heures peut pénaliser ce type d'application. Un exemple concerne la synthèse musicale. Si le synthétiseur logiciel ne fournit pas ses échantillons assez rapidement, cela s'entend (l'interface audio est obligée de combler avec des 0). De plus, ce type d'application prend peu de marge pour limiter la latence. La lecture d'un fichier MP3 est moins problématique.

Sous Windows, on a aussi des programmes de ce type : DPC latency checker, Latency Mon, mais le focus est plutôt sur le temps passé sur les DPC (Deferred Procedure Call) dont certaines sont initerruptibles, et selon les drivers qui les génèrent plus ou moins longue.
1  0 
Avatar de Escapetiger
Expert éminent sénior https://www.developpez.com
Le 06/03/2023 à 12:30
Citation Envoyé par archqt Voir le message
Pas clair, le bruit de quoi ? moi en électronique, le bruit c'est le rayonnement par exemple, bruit blanc...là c'est quoi exactement ?
Citation Envoyé par _toma_ Voir le message
En gros, c'est du temps processeur qui est perdu dans la gestion du matériel ou dans le fonctionnement de l'OS si j'ai bien compris.
Tout à fait, le mot bruit a plusieurs sens et par extension du sens technologique, on parle de bruit pour toute perturbation, systèmes d'exploitation compris :

« 3. (Par extension) Son peu distinct, confus.
Il permet en effet de réduire les pertes parasites par circulation, de barre à barre, de courant vagabond dans les tôles du rotor, ainsi que le risque de bruit magnétique. — (Patrick Brutsaert, Daniel Laloy & Damien Verbeke, Construction des machines tournantes : Machines à courant alternatif, n° D 3 572, Éditions Techniques de l’Ingénieur, 2006, page 6)

7. (Audiovisuel, Électronique, Informatique) Signal aléatoire et indésirable, voire parasite, se superposant aux signaux utiles.
Afin de limiter l’amplitude du bruit de mesure, on réalise un filtrage temporel : pour chaque température imposée par le corps noir, la moyenne des NI est calculée sur une série d’images pour chaque détecteur. — (Vincent Honorat, Analyse thermomécanique par mesure des champs élastomères, thèse de doctorat, Université de Montpellier II, janvier 2006, page 139) »

Source : https://fr.wiktionary.org/wiki/bruit

Voir également noise :

« 4. (technology) Any part of a signal or data that reduces the clarity, precision, or quality of the desired output. »
Source: https://en.wiktionary.org/wiki/noise
1  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 06/03/2023 à 19:10
Le problème en général, n’est pas que cela prend du temps (s’il y a des traitements c’est qu’il sont nécessaires, donc ce n’est pas strictement perdu), mais plutôt que ces traitements interrompent trop longtemps une tâche critique d’un point de vue des délais.

Sinon, il y a une sorte de bruit apprécié : celui qui permet d’avoir un générateur de nombres aléatoire peu prédictible.
1  0 
Avatar de _toma_
Membre confirmé https://www.developpez.com
Le 01/03/2023 à 6:25
C'est un outil qui est à destination des développeurs/utilisateurs d'OS temps réel, pour ces OS l'objectif est bien d'avoir le moins de "bruit" possible.
C'est sûr que les utilisateurs de ce logiciel vont pas s'amuser à faire ce type de mesures sur un lancement d'impression mais sur des tâches bien spécifiques.
0  0