O que h?? de novo no Solaris Express Developer Edition

SPARC: Suporte a contextos compartilhados

Este aprimoramento de desempenho de sistema é novo no Developer 9/07.

O mecanismo de contexto, que é usado pelo hardware da unidade de gerenciamento de memória Unit (MMU) para distinguir o uso do mesmo endereço virtual em diferentes espaços de endereço de processo, introduz algumas ineficiências quando se usa memória compartilhada. As ineficiências se devem ao fato de que os dados em uma determinada memória compartilhada do endereço em diferentes processos podem realmente ser idênticos, mas o número do contexto associado a cada processo é diferente. Assim, o hardware de MMU não poderá reconhecer uma correspondência. Isto resulta na expulsão desnecessária de mapeamentos do cache de conversão de MMU, Translation Lookaside Buffer (TLB), para serem substituídos por mapeamentos idênticos com um número de contexto diferente.

O sistema UltraSPARC T2 (Niagara 2) tem um contexto “compartilhado” adicional, que é um recurso de hardware que pode ser usado para impedir a ineficiência na manipulação da memória compartilhada. Quando o TLB é pesquisado para mapear, uma correspondência no contexto privado ou compartilhado resulta em um acerto de TLB. O suporte atual de software para contexto compartilhado ativa o recurso para processos que usam Dynamic Intimate Shared Memory (DISM). Neste caso, o segmento de texto do processo e os segmentos de DISM mapeados no mesmo endereço virtual e com as mesmas permissões para cada processo usarão o contexto compartilhado.