Qu'est-ce que Mémoire transactionnelle ?

Mécanisme qui exécute une section critique de façon spéculative, la valide d'un bloc en l'absence de conflit, et l'annule pour la réexécuter en cas de conflit.

Nom japonais: トランザクショナルメモリ

« Mémoire transactionnelle » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Multicœur et synchronisation.

Domaine: Multicœur et synchronisation

S'entraîner : questions sur Mémoire transactionnelle

Quel est le principe de la mémoire transactionnelle matérielle ?

  1. AExécuter spéculativement la section critique, valider en bloc s’il n’y a pas de conflit avec d’autres threads, et annuler puis recommencer en cas de conflit
  2. BEnregistrer sur disque toutes les lectures et écritures mémoire, comme des transactions bancaires
  3. CInterdire les écritures en mémoire et n’autoriser que les lectures
Afficher la réponse et l'explication

Réponse : A. Exécuter spéculativement la section critique, valider en bloc s’il n’y a pas de conflit avec d’autres threads, et annuler puis recommencer en cas de conflit

Avec la mémoire transactionnelle, la section critique s’exécute comme une transaction, ses écritures restant provisoires et invisibles des autres. Si aucun autre thread n’a touché les mêmes données, toutes les écritures sont validées d’un coup à la fin ; en cas de conflit, tout est annulé et l’on recommence ou l’on bascule vers un verrou ordinaire. Avec peu de conflits, on obtient même avec un verrou à gros grain un parallélisme proche de celui d’un verrou à grain fin.

« Mémoire transactionnelle » dans les explications

Questions mentionnant « Mémoire transactionnelle » (1)

  1. Quel est le principe de la mémoire transactionnelle matérielle ?

Termes associés

Section critique Bascule (flip-flop) Acquisition-libération (acquire-release) Barrière mémoire Cohérence séquentielle Compare-and-swap Course aux données (data race) Espionnage de bus (snooping) Faux partage (false sharing) Instruction atomique

Retour au glossaire