Nouveautés de Solaris 10

Performances système

Les améliorations et fonctionnalités de performances système suivantes ont été ajoutées à la version Solaris 10 5/08.

64 bits SPARC : prise en charge de l'optimisation du placement en mémoire pour les plates-formes sun4v

L'optimisation du placement en mémoire (MPO, Memory Placement Optimization) permet aux systèmes d'exploitation d'allouer de la mémoire locale au noyau lorsque les threads et les processus sont exécutés. L'architecture sun4v s'exécute sur un environnement matériel virtualisé. La fonction MPO fournit les mécanismes d'accès standard requis dans la couche sun4v afin de fournir des informations de localité à la structure MPO générique. Elle s'avère utile sur les plates-formes incluant plusieurs sockets présentant des latences d'accès mémoire différentes. En outre, elle améliore les performances de nombreuses applications en permettant au système d'exploitation d'allouer de la mémoire locale aux noeuds.

SPARC : prise en charge des contextes partagés

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. En effet, les données correspondant à une mémoire partagée particulière et l'adresse dans différents processus peuvent être identiques, bien que le numéro de contexte associé à chaque processus ne soit pas le même. Par conséquent, le matériel MMU ne peut pas effectuer la correspondance. Certaines correspondances seront ainsi inutilement évincées du cache de translation MMU et du TLB (Translation Lookaside Buffer, tampon de détection aparté de conversion) et remplacées par des correspondances identiques avec un numéro de contexte différent.

Le système 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 dans le contexte privé ou le contexte partagé, un résultat TLB est obtenu. 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 avec les mêmes autorisations pour chaque processus exploiteront le contexte partagé.

x86 : hiérarchie de cache utilisant CPUID

Les processeurs Intel modernes présentent une interface permettant de détecter des informations sur la hiérarchie de cache du processeur à l'aide de l'instruction CPUID.