Nouveaut??s de Solaris Express Developer Edition

SPARC : Prise en charge des contextes partagés

Cette évolution des performances du système est une nouveauté de Developer version 9/07.

Le mécanisme de contexte, utilisé par l'unité de gestion de la mémoire (MMU) pour distinguer l'utilisation de la même adresse virtuelle dans différents espaces d'adressage de processus, n'est pas toujours efficace lorsque vous avez recours à de la mémoire partagée. Ce problème vient du fait que les données correspondant à une adresse mémoire partagée particulière dans différents processus peuvent être identiques, bien que le numéro de contexte associé à chaque processus ne soit pas le même. L'unité de gestion de la mémoire ne sera donc pas capable de reconnaître une correspondance. Certaines correspondances seront, par conséquent, inutilement évincées du cache de translation MMU (ou TLB, Translation Lookaside Buffer) et remplacées par des correspondances identiques avec un numéro de contexte différent.

Le système UltraSPARC T2 (Niagara 2) offre un contexte partagé supplémentaire, c'est-à-dire une fonction matérielle permettant d'améliorer la gestion de la mémoire partagée. Lors d'une recherche d'une correspondance dans le tampon TLB, un résultat est obtenu pour le contexte privé ou le contexte partagé. La prise en charge logicielle actuelle du contexte partagé active cette fonctionnalité pour les processus faisant appel à la mémoire DISM (Dynamic Intimate Shared Memory). Dans ce cas, le segment de texte du processus et les segments DISM mappés à la même adresse virtuelle et avec les mêmes autorisations pour chaque processus exploiteront le contexte partagé.