Spelling suggestions: "subject:"transactionnelle"" "subject:"transactionnelles""
11 |
Optimisation de la performance des applications de mémoire transactionnelle sur des plates-formes multicoeurs : une approche basée sur l'apprentissage automatiqueBastos castro, Marcio 03 December 2012 (has links) (PDF)
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performances aux applications parallèles. Afin de développer des applications parallèles capable de tirer profit de ces plate-formes, les développeurs doivent prendre en compte plusieurs aspects, allant de l'architecture aux caractéristiques propres à l'application. Dans ce contexte, la Mémoire Transactionnelle (Transactional Memory - TM) apparaît comme une alternative intéressante à la synchronisation basée sur les verrous pour ces plates-formes. Elle permet aux programmeurs d'écrire du code parallèle encapsulé dans des transactions, offrant des garanties comme l'atomicité et l'isolement. Lors de l'exécution, les opérations sont exécutées spéculativement et les conflits sont résolus par ré-exécution des transactions en conflit. Bien que le modèle de TM ait pour but de simplifier la programmation concurrente, les meilleures performances ne pourront être obtenues que si l'exécutif est capable de s'adapter aux caractéristiques des applications et de la plate-forme. Les contributions de cette thèse concernent l'analyse et l'amélioration des performances des applications basées sur la Mémoire Transactionnelle Logicielle (Software Transactional Memory - STM) pour des plates-formes multicœurs. Dans un premier temps, nous montrons que le modèle de TM et ses performances sont difficiles à analyser. Pour s'attaquer à ce problème, nous proposons un mécanisme de traçage générique et portable qui permet de récupérer des événements spécifiques à la TM afin de mieux analyser les performances des applications. Par exemple, les données tracées peuvent être utilisées pour détecter si l'application présente des points de contention ou si cette contention est répartie sur toute l'exécution. Notre approche peut être utilisée sur différentes applications et systèmes STM sans modifier leurs codes sources. Ensuite, nous abordons l'amélioration des performances des applications sur des plate-formes multicœurs. Nous soulignons que le placement des threads (thread mapping) est très important et peut améliorer considérablement les performances globales obtenues. Pour faire face à la grande diversité des applications, des systèmes STM et des plates-formes, nous proposons une approche basée sur l'Apprentissage Automatique (Machine Learning) pour prédire automatiquement les stratégies de placement de threads appropriées pour les applications de TM. Au cours d'une phase d'apprentissage préliminaire, nous construisons les profiles des applications s'exécutant sur différents systèmes STM pour obtenir un prédicteur. Nous utilisons ensuite ce prédicteur pour placer les threads de façon statique ou dynamique dans un système STM récent. Finalement, nous effectuons une évaluation expérimentale et nous montrons que l'approche statique est suffisamment précise et améliore les performances d'un ensemble d'applications d'un maximum de 18%. En ce qui concerne l'approche dynamique, nous montrons que l'on peut détecter des changements de phase d'exécution des applications composées des diverses charges de travail, en prévoyant une stratégie de placement appropriée pour chaque phase. Sur ces applications, nous avons obtenu des améliorations de performances d'un maximum de 31% par rapport à la meilleure stratégie statique.
|
12 |
Optimisation de la performance des applications de mémoire transactionnelle sur des plates-formes multicoeurs : une approche basée sur l'apprentissage automatique / Improving the Performance of Transactional Memory Applications on Multicores : A Machine Learning-based ApproachCastro, Márcio 03 December 2012 (has links)
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performances aux applications parallèles. Afin de développer des applications parallèles capable de tirer profit de ces plate-formes, les développeurs doivent prendre en compte plusieurs aspects, allant de l'architecture aux caractéristiques propres à l'application. Dans ce contexte, la Mémoire Transactionnelle (Transactional Memory – TM) apparaît comme une alternative intéressante à la synchronisation basée sur les verrous pour ces plates-formes. Elle permet aux programmeurs d'écrire du code parallèle encapsulé dans des transactions, offrant des garanties comme l'atomicité et l'isolement. Lors de l'exécution, les opérations sont exécutées spéculativement et les conflits sont résolus par ré-exécution des transactions en conflit. Bien que le modèle de TM ait pour but de simplifier la programmation concurrente, les meilleures performances ne pourront être obtenues que si l'exécutif est capable de s'adapter aux caractéristiques des applications et de la plate-forme. Les contributions de cette thèse concernent l'analyse et l'amélioration des performances des applications basées sur la Mémoire Transactionnelle Logicielle (Software Transactional Memory – STM) pour des plates-formes multicœurs. Dans un premier temps, nous montrons que le modèle de TM et ses performances sont difficiles à analyser. Pour s'attaquer à ce problème, nous proposons un mécanisme de traçage générique et portable qui permet de récupérer des événements spécifiques à la TM afin de mieux analyser les performances des applications. Par exemple, les données tracées peuvent être utilisées pour détecter si l'application présente des points de contention ou si cette contention est répartie sur toute l'exécution. Notre approche peut être utilisée sur différentes applications et systèmes STM sans modifier leurs codes sources. Ensuite, nous abordons l'amélioration des performances des applications sur des plate-formes multicœurs. Nous soulignons que le placement des threads (thread mapping) est très important et peut améliorer considérablement les performances globales obtenues. Pour faire face à la grande diversité des applications, des systèmes STM et des plates-formes, nous proposons une approche basée sur l'Apprentissage Automatique (Machine Learning) pour prédire automatiquement les stratégies de placement de threads appropriées pour les applications de TM. Au cours d'une phase d'apprentissage préliminaire, nous construisons les profiles des applications s'exécutant sur différents systèmes STM pour obtenir un prédicteur. Nous utilisons ensuite ce prédicteur pour placer les threads de façon statique ou dynamique dans un système STM récent. Finalement, nous effectuons une évaluation expérimentale et nous montrons que l'approche statique est suffisamment précise et améliore les performances d'un ensemble d'applications d'un maximum de 18%. En ce qui concerne l'approche dynamique, nous montrons que l'on peut détecter des changements de phase d'exécution des applications composées des diverses charges de travail, en prévoyant une stratégie de placement appropriée pour chaque phase. Sur ces applications, nous avons obtenu des améliorations de performances d'un maximum de 31% par rapport à la meilleure stratégie statique. / Multicore processors are now a mainstream approach to deliver higher performance to parallel applications. In order to develop efficient parallel applications for those platforms, developers must take care of several aspects, ranging from the architectural to the application level. In this context, Transactional Memory (TM) appears as a programmer friendly alternative to traditional lock-based concurrency for those platforms. It allows programmers to write parallel code as transactions, which are guaranteed to execute atomically and in isolation regardless of eventual data races. At runtime, transactions are executed speculatively and conflicts are solved by re-executing conflicting transactions. Although TM intends to simplify concurrent programming, the best performance can only be obtained if the underlying runtime system matches the application and platform characteristics. The contributions of this thesis concern the analysis and improvement of the performance of TM applications based on Software Transactional Memory (STM) on multicore platforms. Firstly, we show that the TM model makes the performance analysis of TM applications a daunting task. To tackle this problem, we propose a generic and portable tracing mechanism that gathers specific TM events, allowing us to better understand the performances obtained. The traced data can be used, for instance, to discover if the TM application presents points of contention or if the contention is spread out over the whole execution. Our tracing mechanism can be used with different TM applications and STM systems without any changes in their original source codes. Secondly, we address the performance improvement of TM applications on multicores. We point out that thread mapping is very important for TM applications and it can considerably improve the global performances achieved. To deal with the large diversity of TM applications, STM systems and multicore platforms, we propose an approach based on Machine Learning to automatically predict suitable thread mapping strategies for TM applications. During a prior learning phase, we profile several TM applications running on different STM systems to construct a predictor. We then use the predictor to perform static or dynamic thread mapping in a state-of-the-art STM system, making it transparent to the users. Finally, we perform an experimental evaluation and we show that the static approach is fairly accurate and can improve the performance of a set of TM applications by up to 18%. Concerning the dynamic approach, we show that it can detect different phase changes during the execution of TM applications composed of diverse workloads, predicting thread mappings adapted for each phase. On those applications, we achieve performance improvements of up to 31% in comparison to the best static strategy.
|
13 |
Data structures for current multi-core and future many-core architectures / Structures de données pour des architectures multi-cœur actuelles et de futures architectures many-cœurKanellou, Eleni 14 December 2015 (has links)
Actuellement, la majorité des architectures de processeurs sont fondées sur une mémoire partagée avec cohérence de caches. Des prototypes intégrant de grandes quantités de cœurs, reliés par une infrastructure de transmission de messages, indiquent que, dans un proche avenir, les architectures de processeurs vont probablement avoir ces caractéristiques. Ces deux tendances exigent que les processus s'exécutent en parallèle et rendent la programmation concurrente nécessaire. Cependant, la difficulté inhérente du raisonnement sur la concurrence peut rendre ces nouvelles machines difficiles à programmer. Nous explorons trois approches ayant pour but de faciliter la programmation concurrente. Nous proposons WFR-TM, une approche fondé sur la mémoire transactionnelle (TM), un paradigme de programmation concurrente qui utilise des transactions afin de synchroniser l'accès aux données partagées. Une transaction peut soit terminer (commit), rendant visibles ses modifications, soit échouer (abort), annulant toutes ses modifications. WFR-TM tente de combiner des caractéristiques désirables des TM optimistes et pessimistes. Une TM pessimiste n'échoue jamais aucune transaction; néanmoins les algorithmes existants utilisent des verrous pour exécuter de manière séquentielle les transactions qui contiennent des opérations d'écriture. Les algorithmes TM optimistes exécutent toutes les transactions en parallèle mais les terminent seulement si elles n'ont pas rencontré de conflit au cours de leur exécution. WFR-TM fournit des transactions en lecture seule qui sont wait-free, sans jamais exécuter d'opérations de synchronisation coûteuse (par ex. CAS, LL\SC, etc) ou sacrifier le parallélisme entre les transactions d'écriture. Nous présentons également Dense, une implémentation concurrente de graphe. Les graphes sont des structures de données polyvalentes qui permettent la mise en oeuvre d'une variété d'applications. Cependant, des applications multi-processus qui utilisent des graphes utilisent encore largement des versions séquentielles. Nous introduisons un nouveau modèle de graphes concurrents, permettant l'ajout ou la suppression de n'importe quel arc du graphe, ainsi que la traversée atomique d'une partie (ou de l'intégralité) du graphe. Dense offre la possibilité d'effectuer un snapshot partiel d'un sous-ensemble du graphe défini dynamiquement. Enfin, nous ciblons les futures architectures. Dans l'intérêt de la réutilisation du code il existe depuis quelques temps une tentative d'adaptation des environnements d'exécution de logiciel - comme par ex. JVM, l'environnement d'exécution de Java - initialement prévus pour mémoire partagée, à des machines sans cohérence de caches. Nous étudions des techniques générales pour implémenter des structures de données distribuées en supposant qu'elles vont être utilisées sur des architectures many-core, qui n'offrent qu'une cohérence partielle de caches, voir pas de cohérence du tout. / Though a majority of current processor architectures relies on shared, cache-coherent memory, current prototypes that integrate large amounts of cores, connected through a message-passing substrate, indicate that architectures of the near future may have these characteristics. Either of those tendencies requires that processes execute in parallel, making concurrent programming a necessary tool. The inherent difficulty of reasoning about concurrency, however, may make the new processor architectures hard to program. In order to deal with issues such as this, we explore approaches for providing ease of programmability. We propose WFR-TM, an approach based on transactional memory (TM), which is a concurrent programming paradigm that employs transactions in order to synchronize the access to shared data. A transaction may either commit, making its updates visible, or abort, discarding its updates. WFR-TM combines desirable characteristics of pessimistic and optimistic TM. In a pessimistic TM, no transaction ever aborts; however, in order to achieve that, existing TM algorithms employ locks in order to execute update transactions sequentially, decreasing the degree of achieved parallelism. Optimistic TMs execute all transactions concurrently but commit them only if they have encountered no conflict during their execution. WFR-TM provides read-only transactions that are wait-free, without ever executing expensive synchronization operations (like CAS, LL/SC, etc), or sacrificing the parallelism between update transactions. We further present Dense, a concurrent graph implementation. Graphs are versatile data structures that allow the implementation of a variety of applications. However, multi-process applications that rely on graphs still largely use a sequential implementation. We introduce an innovative concurrent graph model that provides addition and removal of any edge of the graph, as well as atomic traversals of a part (or the entirety) of the graph. Dense achieves wait-freedom by relying on light-weight helping and provides the inbuilt capability of performing a partial snapshot on a dynamically determined subset of the graph. We finally aim at predicted future architectures. In the interest of ode reuse and of a common paradigm, there is recent momentum towards porting software runtime environments, originally intended for shared-memory settings, onto non-cache-coherent machines. JVM, the runtime environment of the high-productivity language Java, is a notable example. Concurrent data structure implementations are important components of the libraries that environments like these incorporate. With the goal of contributing to this effort, we study general techniques for implementing distributed data structures assuming they have to run on many-core architectures that offer either partially cache-coherent memory or no cache coherence at all and present implementations of stacks, queues, and lists.
|
14 |
Récit d'une enquête sur l'écriture numérique collaborative synchrone / Story of an inquiry on the synchronous collaborative digital writingCailleau, Isabelle 20 May 2015 (has links)
Pour la première fois dans l’histoire de l’écriture, plusieurs personnes peuvent modifier au même moment et à distance le même document. Cette nouvelle pratique d’écriture rendue possible par la technologie numérique est l’écriture numérique collaborative synchrone. La question que pose cette recherche est celle de savoir comment des textes cohérents et lisibles peuvent émerger de tels dispositifs. De plus, les textes qui résultent de ces pratiques semblent difficilement pouvoir être réduits à des intentions de communication qui préexisteraient « dans la tête » des participants. Le texte émerge au sein même des situations et cela soulève la question méthodologique de savoir comment rendre compte de ces émergences. Cette thèse propose par conséquent d’explorer une manière de l’aborder : une enquête de type pragmatiste, et plus spécifiquement, une approche transactionnelle. Elle se caractérise par l’exigence de penser la relation dans sa dimension constitutive en ne présupposant rien des entités avant leur mise en situation. Elle implique en outre de toujours tenir pour provisoires et révisables toutes les descriptions que l’on peut donner d’une situation. Il s’agit d’une approche philosophique dont une opérationnalisation en Sciences de l’Information et de la Communication est ici proposée. Elle est mise en œuvre pour deux catégories de terrains : des situations de production d’argumentation en contexte pédagogique et des situations de production de comptes-rendus collaboratifs présentiels. Cette mise à l’épreuve permet de conclure à l’intérêt de poursuivre cette enquête selon une approche transactionnelle et d’esquisser un modèle d’analyse destiné à faciliter sa poursuite. / For the first time in the history of writing, several people can edit the same document at the same time and from a distance. This new writing practice, made possible by digital technology, is called synchronous collaborative digital writing. The question posed by this research is how a consistent and readable text can emerge from such systems. In addition, the texts that result from these practices can hardly be reduced to communication intentions that pre-exist "in the head" of the participants. The text emerges within the situations. This raises the methodological question of how to account for this emergence. This thesis therefore offers to explore a way to tackle it: a pragmatist type of investigation, and more specifically, a transactional approach. It is characterized by the need to think the relationship in its constitutive dimension without presupposing any of the entities prior to their entry in situation. It also implies that all of the descriptions of a given situation always have to be considered as provisional and subject to revision. Here, an operationalization of this philosophical approach is proposed in the field of Information and Communication Sciences. It is implemented for two categories of case studies: situations of production of argumentation in an educational context and situations of collaborative production of meeting reports. This experimentation makes it possible to conclude that it would be interesting to continue this investigation in a transactional approach and it outlines an analysis model to facilitate this pursuit.
|
15 |
Un protocole de communication pour applications transactionnelles distribuéesHamzeh, Wissam January 2002 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
|
16 |
La mémoire collective au regard du modèle ego-écologiqueLe Paumier, Frédéric January 2002 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
|
17 |
Perspective transactionnelle des styles d'attachement adulte dans le couple : l'évolution de l'appariement des patrons d'attachement au cours de la relation conjugaleNeveu, Cristel 11 March 2021 (has links)
L’objectif de la présente recherche est de décrire, à l’aide d’un protocole longitudinal, l’évolution des appariements des patrons d’attachement des partenaires d’un couple et sa relation avec la satisfaction conjugale. L’échantillon se compose de 116 couples mariés ou cohabitant ayant rempli individuellement une batterie de questionnaires portant sur l’évaluation des styles d’attachement et sur l’adaptation conjugale. Une deuxième passation de ces tests a eu lieu en moyenne deux ans plus tard. Les résultats révèlent que la présence d'un partenaire sécurisant dans le couple sécurise l’autre partenaire, au point où les conjoints s’entendent mieux sur le plan des décisions communes et se sentent plus heureux. De plus, la majorité des couples sécurisant-sécurisant reste sécurisant-sécurisant et obtient en général le degré de satisfaction le plus élevé. Enfin, l’adoption d’un patron d’attachement non-sécurisant par un des partenaires au cours de la relation conjugale diminue le nombre et la qualité des activités partagées par le couple.
|
18 |
Influences du soutien social et du stress sur le comportement maternel d'adolescentes en interaction avec leur enfant de 24 mois : une analyse longitudinale et transactionnelleRoy, Catherine January 2002 (has links)
Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal.
|
19 |
Education thérapeutique chez les patients en dialyse : impact de la mise en place d'un programme d'éducation thérapeutique en auto-dialyse sur l'adhésion thérapeutique, la qualité de vie et l'état anxio-dépressif à partir d'une approche transactionnelle / Therapeutic education for patients in dialysis : effects of therapeutic patient education program in out-dialysis units on adherence, quality of life, anxiety and depression with transactional approachIdier, Laetitia 28 March 2012 (has links)
Introduction : Le traitement de la dialyse entraîne de nombreux bouleversements dans la vie du patient et nécessite d’adhérer à nombreuses recommandations. L’éducation thérapeutique, prise en charge en plein essor dans la maladie chronique, consiste à accompagner les patients dans leur parcours de soin et à les aider à acquérir des connaissances et des compétences pour vivre au mieux leur vie avec leur maladie. Ainsi, l’objectif de cette étude était d’évaluer l’impact d’un programme d’éducation thérapeutique mis en place auprès de patients en auto-dialyse. Méthode : Le programme était composé de cinq interventions collectives (représentations et vécu de la dialyse, alimentation, protection de l’abord vasculaire, prise des médicaments et satisfaction). 125 patients ont participé à l’étude (64 dans le groupe expérimental et 61 dans le groupe contrôle). Plusieurs issues (adhésion thérapeutique, qualité de vie, état anxio-dépressif) et variables médiatrices ont été mesurées (connaissances, sentiment d’auto-efficacité, stratégies de coping, etc.) avant le programme, à la fin du programme éducatif et trois mois après. Résultats : Les résultats n’ont pas montré d’effet direct du programme sur l’adhésion thérapeutique, la qualité de vie et l’anxiété. Par contre, une augmentation des symptômes dépressifs a été observée dans le groupe expérimental, sans induire d’état dépressif. Des analyses de médiations ont précisé que l’augmentation des connaissances sur l’abord vasculaire expliquait l’effet de l’éducation thérapeutique sur les symptômes dépressifs. Les résultats ont également montré que le sentiment d’auto-efficacité vis-à-vis du suivi des recommandations alimentaires diminuait chez les patients du groupe expérimental à la fin du programme. Des analyses supplémentaires ont indiqué que ce changement prédisait d’autres évolutions comme la diminution de l’adhésion thérapeutique et une augmentation de l’anxiété. Conclusion : Ces principaux résultats montrent la nécessité d’améliorer les interventions d’éducation thérapeutique auprès des patients en dialyse en adaptant la transmission des connaissances au quotidien et en travaillant davantage sur l’amélioration du sentiment d’efficacité personnelle et aussi les stratégies de coping, c’est-à-dire d’avoir une action plus ciblée sur les variables médiatrices. / Introduction: Dialysis entails numerous alterations in the life of the patient and requires adhering to many recommendations. Therapeutic Patient Education helps patients acquire knowledge and skills to manage their life with a chronic disease in the best possible way. The objective of this study was to evaluate the impact of a therapeutic educational program for dialysis patients in an out-center. Methods: The program consisted of five group sessions concerning the representations and personal experience of the dialysis, dietary regimen, protection of vascular access, taking of medicines and satisfaction about the program. The study included 125 subjects (64 in the experimental group and 61 in the control group). Several criteria (adherence, quality of life, anxiety, depression) and mediating variables were measured (knowledge, self-efficacy, social support, coping strategies, etc.) before the program, at the end and three months after the end of the program. Results: The program had no effect on adherence, quality of life and anxiety. On the other hand, an increase in depressive symptoms was observed in the experimental group, without inferring a depressive state. Analyses of mediations showed that the increase in knowledge regarding vascular access explained the effect of therapeutic education on depressive symptoms. The results also showed that self-efficacy decreased in the experimental group after the five sessions. Additional analyses indicated that this change predicted other changes such as a decrease in dietary adherence and increased anxiety.Conclusion: These main results show the need for improving educational interventions with patients in dialysis by adapting the transmission of knowledge about everyday life, and especially by working more on improving the feeling of self-efficacy and the use of coping strategies.
|
20 |
Validation de modèles de systèmes sur puce en présence d'ordonnancements indéterministes et de temps imprécisHelmstetter, Claude 26 March 2007 (has links) (PDF)
Ces travaux portent sur la validation de modèles de systèmes sur puce (SoC) au niveau transactionnel (TLM). Ces modèles servent notamment au développement du logiciel embarqué. Le matériel est intrinsèquement parallèle mais le simulateur utilise un seul processeur. Les principales entités parallèles du matériel (processeurs, DMA, arbitres de bus, ...) sont représentées en TLM par des processus asynchrones, qui doivent être ordonnancés lors des simulations. Cet ordonnancement est indéterministe afin de mieux représenter le parallélisme physique.<br /><br />Cela pose un problème pour la validation par simulations : il faut couvrir l'espace des ordonnancements en plus de celui des données. En effet, un ordonnanceur déterministe peut cacher des erreurs, car il ne montre qu'un comportement parmi d'autres. Des ordonnancements aléatoires permettent d'observer plus de comportements mais la couverture est incertaine. Un parcours exhaustif de tous les ordonnancements serait beaucoup trop long pour des tests réels.<br /><br />Nous présentons une solution pour couvrir efficacement l'espace des ordonnancements. Celle-ci est basée sur de la réduction d'ordre partiel dynamique. L'idée est d'observer l'influence de l'ordonnancement sur les communications entre processus, pour générer dynamiquement de nouveaux ordonnancements, menant très probablement à des états finaux différents. En itérant sur chaque nouvel ordonnancement, nous obtenons un jeu complet d'ordonnancements, qui garantit la détection, pour un jeu fixé de données, de toutes les erreurs locales et de tous les inter-blocages.<br /><br />Toujours avec l'objectif d'une meilleure représentativité du matériel, les développeurs ont ajouté du temps imprécis à leurs modèles TLM, sous forme de délais bornés. Pour la validation par simulations, cela oblige à couvrir aussi l'espace des temporisations. Nous présentons une extension à la réduction d'ordre partiel dynamique pour résoudre ce problème. Le nouvel algorithme et son prototype retournent un ensemble de jeux de durées, qui garantit de nouveau la détection complète des erreurs locales et inter-blocages pour des données fixées.<br /><br />Enfin, nous étudions comment paralléliser le simulateur SystemC afin de profiter des machines multiprocesseurs, tout en respectant la spécification de SystemC et les particularités des modèles TLM.
|
Page generated in 0.0965 seconds