Який поточний стан впровадження x32 ABI в Ubuntu станом на 14.04?


11

В 14.04 примітки до випуску містять наступну пропозицію:

Також була представлена ​​підтримка X32 ABI (64-бітний режим з 32-бітовими вказівниками).

Я думаю, що це заслуговує на трохи більше пояснень. Якщо ви використовуєте пошукову систему, щоб дізнатися більше про "x32 ABI", ви можете в кращому випадку знайти статтю з Вікіпедії , але в основному Phoronix і Slashdot, які здаються не дуже корисними.

Я хотів би побачити кілька глибоких відповідей на тему:

  • Як або що з X32 ABI в даний час реалізовано в 14.04?
    • Чи включено це за замовчуванням у 14.04 64-розрядні чи потрібні додаткові кроки для настройки x32 ABI?
    • Які компоненти або яке програмне забезпечення може використовувати x32 ABI?
  • Чи існують фактичні переваги на машині / установці під керуванням x32 ABI?
    • Яке споживання пам'яті порівняно з 32-бітними та 64-бітовими установками за замовчуванням?

В ідеалі, x32 ABI повинен був поєднати найкращі з обох світів разом: Більшість покращення швидкості x86-64 та зниження споживання пам’яті для користувачів на старішому 64-бітовому апаратному забезпеченні, у якого не було багато оперативної пам’яті .


Мені цікаво про це самому. Одне, що я можу вам сказати про використання пам'яті x32, це те, що вона використовує 32-бітну адресацію (той самий обмеження 4 Гб, як і x86). Оскільки 64-розрядні процесори використовують 64-бітну адресацію пам'яті, посилання на пам'ять потрібно зберігати в 64-бітовій пам'яті - вдвічі більше, ніж 32-бітні, необхідні для зберігання посилань на пам'ять у 32-бітному режимі. Таким чином, 64-розрядна суттєво погіршується в пам'яті в деяких випадках, коли використовується багато посилань на пам'ять (покажчики).
Чак Р

тут дослідження про продуктивність та x32: cds.cern.ch/record/1528222/files/LHCb-TALK-2013-060.pdf
Postadelmaga

Відповіді:


5

Під час встановлення на 64 бітах ви відчуєте великі відмінності у використанні пам'яті (особливо для таких додатків, як хром, Firefox, mysql та програми Java).

Це добре відомий побічний ефект 64-бітових ОС, так чи інакше, 64-бітний приносить і деякі інші переваги.

Ось це x32 ABI: функція ядра, яка призначена саме для обмеження цієї проблеми.

Що таке x32 ABI:
відповідно до цього PDF він забезпечує велику перевагу пам’яті порівняно з 64-бітовою звичайною ОС (навіть на 40% розширення).

Тепер, якщо я зрозумів, що x32-ABI вимагає :

  • Linux Kernel 3.4, компільований з CONFIG_X86_X32 = y
  • Gcc 4,7
  • Бінуси 2,22
  • Glibc 2.16
  • Перекомпіляція всіх системних бібліотек, необхідних додатку, з gcc -mx32

Як спробувати це
Нове ядро ​​за замовчуванням має необхідний прапор, тому вам потрібен лише упакований компільований правильний спосіб (тут Gentoo напевно правила;)
У Ubuntu я не впевнений, що для цього є сховище / ppa, так чи інакше Debian та Arch є рішення:

Debian

Арк


Я думаю, йому потрібно додати параметри ядра в grub, як сказано у вікі Debian.
jarno

1
З точки зору кінцевого користувача Ubuntu, встановити систему
U323
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.