En configurant eXtremeMemory, vous pouvez stocker des objets dans la mémoire native plutôt que dans le segment de mémoire Java. La configuration eXtremeMemory active eXtremeIO, un nouveau mécanisme de transport. En retirant des objets du segment de mémoire Java, vous pouvez éviter les pauses de récupération d'espace, ce qui permet de bénéficier de performances plus constantes et de temps de réponse plus prévisibles.
La machine JVM repose sur l'heuristique d'utilisation pour collecter, réduire et augmenter la mémoire des processus. Le récupérateur de place exécute ces opérations. Toutefois, l'exécution de la récupération de place a un coût qui augmente proportionnellement avec la taille du segment de mémoire Java et le nombre d'objets dans la grille de données. La machine JVM fournit différentes heuristiques pour différents cas d'utilisation et objectifs : récupération de place avec traitement optimal, temps de pause optimal, générationnelle, équilibrée et temps réel. Aucune heuristique n'est parfaite. Une seule heuristique ne peut pas convenir à toutes les configurations possibles.
WebSphere eXtreme Scale utilise la mise en cache des données avec des mappes réparties qui ont des entrées avec un cycle de vie bien connu. Ce cycle de vie inclut les opérations suivantes : GET, INSERT, DELETE et UPDATE. En utilisant ces cycles de vie de mappe bien connus, eXtremeMemory et eXtremeIO peuvent utiliser la mémoire plus efficacement que les heuristiques d'utilisation JVM.
Le diagramme suivant montre comment l'utilisation d'eXtremeMemory améliore la cohérence des temps de réponse dans l'environnement. Lorsque le temps de réponse relatif atteint les percentiles les plus élevés, les demandes qui utilisent eXtremeMemory ont des temps de réponse relativement plus lents. Le diagramme montre les percentiles 95-100.
.