{"title":"Politiques de gestion de protections pour l'implémentation de sections critiques","authors":"Emmanuel Sifakis, L. Mounier","doi":"10.3166/tsi.31.1153-1181","DOIUrl":null,"url":null,"abstract":"L’exploitation des architectures multicœurs repose sur une bonne gestion du parallélisme à l’intérieur des applications. Une telle gestion nécessite notamment d’éviter les conflits d’accès (ou race conditions) aux variables partagées entre plusieurs processus. Ceci peut se faire par l’introduction de sections critiques destinées à protéger les accès à ces variables. L’exécution atomique de ces sections est alors garantie soit par des mémoires transactionnelles, soit par des primitives de synchronisation de type mutex. Il apparait toutefois que, dans ce deuxième cas, ces verrous de synchronisation ne sont pas toujours utilisés de manière optimale par les applications. Nous proposons dans ce travail différentes politiques de gestion des verrous qui ont pour objectif d’améliorer les temps d’exécution. Nous présentons également une bibliothèque de gestion de verrous dédiée, qui permet l’acquisition simultanée de plusieurs objets de synchronisation, et qui offre de meilleures performances que des implémentations bien établies comme les pthreads. Ces résultats sont validés expérimentalement.","PeriodicalId":109795,"journal":{"name":"Tech. Sci. Informatiques","volume":"33 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Tech. Sci. Informatiques","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3166/tsi.31.1153-1181","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
L’exploitation des architectures multicœurs repose sur une bonne gestion du parallélisme à l’intérieur des applications. Une telle gestion nécessite notamment d’éviter les conflits d’accès (ou race conditions) aux variables partagées entre plusieurs processus. Ceci peut se faire par l’introduction de sections critiques destinées à protéger les accès à ces variables. L’exécution atomique de ces sections est alors garantie soit par des mémoires transactionnelles, soit par des primitives de synchronisation de type mutex. Il apparait toutefois que, dans ce deuxième cas, ces verrous de synchronisation ne sont pas toujours utilisés de manière optimale par les applications. Nous proposons dans ce travail différentes politiques de gestion des verrous qui ont pour objectif d’améliorer les temps d’exécution. Nous présentons également une bibliothèque de gestion de verrous dédiée, qui permet l’acquisition simultanée de plusieurs objets de synchronisation, et qui offre de meilleures performances que des implémentations bien établies comme les pthreads. Ces résultats sont validés expérimentalement.