Pour gérer vos consentements :
Categories: Logiciels

Le multicoeur au service des applications monothreads

Les chercheurs de la NCSU (North Carolina State University) viennent de publier le résultat de leurs travaux, lesquels permettront aux développeurs de mieux exploiter la puissance des architectures processeur comprenant de multiples cœurs.

Si certaines tâches peuvent aisément être parallélisées, et ainsi tirer pleinement parti des machines multicœurs, de nombreux logiciels ne peuvent que difficilement être adaptés pour de telles architectures. La solution proposée par les chercheurs de la NCSU consiste à séparer les calculs classiques des opérations de gestion de la mémoire. Ces deux tâches fonctionnant de façon indépendante, le logiciel exploite deux cœurs, et ce, même s’il n’est pas optimisé dans ce sens.

Certes, la puissance des deux cœurs n’est pas pleinement exploitée, mais le code peut fonctionner jusqu’à 20 % plus rapidement. Plus les applications manipulent de larges ensembles d’informations et plus le gain sera important.

Grâce à ce procédé, certaines opérations lourdes (libération ou mise à zéro de larges blocs…) s’effectuent donc sur un cœur séparé. De plus, ces travaux ne bloquent plus les traitements en cours. Autre point intéressant, les opérations de vérification prennent moins de temps processeur.

« En exécutant les fonctions de gestion de la mémoire sur unthreadséparé, ces programmes difficiles à paralléliser peuvent fonctionner environ 20 % plus rapidement », souligne le Dr. Yan Solihin, directeur du projet de recherche et coauteur de cette publication. « Cela ouvre également la porte au développement de nouvelles fonctions de gestion de la mémoire qui permettront d’identifier des anomalies dans le comportement du programme ou d’effectuer des contrôles de sécurité supplémentaires. Auparavant, ces fonctions auraient ralenti la vitesse de l’ensemble du programme. »

Avec ce gestionnaire mémoire prenant la forme d’un service, les chercheurs emploient une méthode moderne, mais déjà connue et utilisée au sein d’offres concurrentes. Ils ont su toutefois optimiser leur solution, laquelle se montre particulièrement aboutie.

Reste que ce type de technique a un impact en terme de performances, ce mode client-serveur étant plus lourd à gérer qu’une méthode basique. Certains contributeurs du site Slashdot remarquent d’ailleurs avec raison qu’un cœur de plus sera utilisé, pour des performances en hausse de seulement 20 %. Si la vitesse de traitement grimpe, cela se fera donc souvent au détriment du rapport performance par watt de la puce.

Le bon point reste toutefois que les applications qui n’ont jamais été optimisées pour le multicœur (traitements de texte, navigateurs web, etc.) pourront maintenant fonctionner un peu plus vite. Une excellente nouvelle pour les éditeurs, et les utilisateurs, puisque le code de ce type d’application n’est que rarement optimisé dans ce sens.

Recent Posts

Le Réseau interministériel de l’État, sujet à dépendance

La Cour des comptes appelle à formaliser et à professionnaliser certains aspects du RIE, tout…

2 heures ago

Etalab en position de faiblesse au sein de la Dinum

La Cour des comptes attire l'attention sur le risque d'affaiblissement d'Etalab, privé, ces dernières années,…

4 heures ago

Une Dinum « balbutiante » sur l’open data et les logiciels libres

Missions historiques de la Dinum, l'ouverture des données publiques et la promotion des logiciels libres…

6 heures ago

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

1 jour ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

1 jour ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

1 jour ago