L'utilisation des fils d'exécution est devenue importante avec l'apparition des ordinateurs multiprocesseurs sur le marché. Les langages de programmation modernes, comme Java, offrent une souplesse dans l'écriture des programmes multifils d'exécution. Cette souplesse n'a pas éliminé les problèmes liés à la synchronisation des fils d'exécution. L'interblocage est l'un des problèmes majeurs dont la résolution nécessite temps et argent. La contribution principale de notre travail est la conception d'un algorithme efficace de détection immédiate des interblocages et l'implémentation de celui-ci dans une machine virtuelle libre. Dans notre mémoire, nous parlons de la structure de forêt d'attente et de la façon de construire, à l'aide de cette structure, les relations d'acquisition et de libération des verrous par les fils d'exécution. Cette structure permet la détection immédiate de l'interblocage. Dans notre travail, le brisement de l'interblocage est réalisé par le soulèvement d'une exception qui pourra être interceptée, une fois l'interblocage détecté. Ce brisement permet aux développeurs de gérer les exceptions liées aux interblocages sans que leurs programmes s'arrêtent. Notre expérimentation avec la version 1.13 de la machine virtuelle Sable VM [GE02] et notre version améliorée en implémentant notre algorithme nous ont montré que notre détection immédiate a un coût nul dans une majorité de cas, et coûte une surcharge de temps d'exécution de 0,04 %à 0,2 % par rapport à la version 1.13 dans les pires des cas testés. Nous avons utilisé la suite de mesures (benchmark) Ashes et nos propres programmes de mesure de performance qui utilisent au maximum les fils d'exécution et les opérations d'acquisition et de libération des verrous. Nos programmes furent développés spécialement pour montrer les coûts additionnels de l'utilisation de notre algorithme.
______________________________________________________________________________
MOTS-CLÉS DE L’AUTEUR : fil d'exécution, synchronisation, interblocage, détection immédiate, brisement.
Identifer | oai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMUQ.3638 |
Date | 07 1900 |
Creators | Dahmane, Mourad |
Source Sets | Library and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada |
Detected Language | French |
Type | Mémoire accepté, NonPeerReviewed |
Format | application/pdf |
Relation | http://www.archipel.uqam.ca/3638/ |
Page generated in 0.0123 seconds