Quel est l'état actuel de l'implémentation ABI x32 dans Ubuntu au 14.04?

11

Les notes de version 14.04 contiennent la phrase suivante:

Le support X32 ABI (mode 64 bits avec pointeurs 32 bits) a également été introduit.

Je pense que cela mérite un peu plus d'explications. Lorsque vous utilisez un moteur de recherche pour en savoir plus sur "x32 ABI", vous pouvez au mieux trouver un article Wikipedia , mais surtout Phoronix et Slashdot, qui ne semblent pas très utiles.

J'aimerais voir des réponses perspicaces sur:

  • Comment ou quoi de x32 ABI est actuellement implémenté en 14.04?
    • Est-il activé par défaut dans 14.04 64 bits ou y a-t-il des étapes supplémentaires nécessaires pour configurer x32 ABI?
    • Quels composants ou quels logiciels peuvent utiliser x32 ABI?
  • Existe-t-il des avantages réels sur une machine / installation exécutant x32 ABI?
    • Quelle est la consommation de mémoire par rapport aux installations par défaut 32 bits et 64 bits?

Idéalement, l'ABI x32 aurait dû rassembler le meilleur des deux mondes: la plupart des améliorations de vitesse de x86-64 et une consommation de mémoire plus faible pour les utilisateurs de matériel plus ancien capable de 64 bits qui n'avait pas beaucoup de RAM .

LiveWireBT
la source
Je suis curieux de cela moi-même. Une chose que je peux vous dire sur l'utilisation de la mémoire x32 est qu'elle utilise un adressage 32 bits (même limite de 4 Go que x86). Étant donné que les processeurs 64 bits utilisent l'adressage de mémoire 64 bits, les références de mémoire doivent être stockées en 64 bits en mémoire - deux fois les 32 bits nécessaires pour stocker les références de mémoire en mode 32 bits. Par conséquent, 64 bits est implicitement pire sur la mémoire dans certains cas lorsque de nombreuses références de mémoire (pointeurs) sont utilisées.
Chuck R
ici une étude sur les performances et x32: cds.cern.ch/record/1528222/files/LHCb-TALK-2013-060.pdf
Postadelmaga

Réponses:

5

Sur l'installation 64 bits, vous constaterez de grandes différences dans l'utilisation de la mémoire (en particulier pour les applications telles que les applications chrome, firefox, mysql et java).

C'est un effet secondaire bien connu des systèmes d'exploitation 64 bits, de toute façon le 64 bits apporte également un autre avantage.

La voici x32 ABI: une fonctionnalité du noyau qui vise exactement à limiter ce problème.

Qu'est-ce que x32 ABI:
selon ce pdf, il offre un grand avantage de mémoire par rapport à un système d'exploitation normal 64 bits (même une amélioration de 40%).

Maintenant, si j'ai compris x32-ABI, il faut :

  • Linux Kernel 3.4 compilé avec CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Recompilation de toutes les bibliothèques système, requises par une application, avec gcc -mx32

Comment l'essayer Le
nouveau noyau a le drapeau requis par défaut, vous n'avez donc besoin que du paquet compilé de la bonne manière (ici Gentoo pour des règles sûres;)
Sur Ubuntu, je ne suis pas sûr qu'il y ait un référentiel / ppa pour cela, de toute façon Debian et Arch avoir une solution:

Debian

Cambre

Postadelmaga
la source
Je suppose qu'il faut ajouter des options de noyau dans grub comme indiqué dans le wiki Debian.
jarno
1
Du point de vue de l'utilisateur final d'Ubuntu, l'installation d'un système Ubuntu x32-ABI semble être trop difficile :(
jarno