32bitと64bit検討

see also: https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-64bit-by-default

背景

  • Multiarch化により「64bit環境のユーザランドに必要とされるパッケージがない or 安定動作しない」問題がほぼ解決した。
    • Flash / Adobe Reader / Skype / etc...
  • ubuntu.comからリリースされるDesktop CDもpreferred 64bit……になった場合、というのが以下の判断の前提。

Remixの対応アーキテクチャはどうする?

  • [ ] 選択肢的には以下の四択
    • 64bit版メインで32bit版も出す。
    • 64bit版のみ出す
    • 32bit版メインで64bit版も出す。
    • 32bit版のみ出す
  • 技術的な壁は?
    • [ ] ISOイメージのビルドができるかどうか。
      • 11.10の64bit版を出してみる話があったような気が。
    • [ ] ビルドしたイメージのサイズがどれぐらいになるか
      • CDに収めるかどうか問題と関連してくる。

pros/cons

64bitにする場合のpros/cons list。比較対象はi386-PAE。

総じてprosが弱いが、ubuntu.comに揃えられるという一点でGo?

pros

  • ubuntu.comリリースのpreferredに揃えられる
    • -> それなりに意味がある。

  • 32bitを捨てられる
    • -> LTSなのでそれなりに意味がある(2017まで使われるわけで)

    • IA32を捨ててAMD64にするのは世の流れではある。
      • とはいえユーザランドプロセスはmultiarchされてi386バイナリも走る。
  • プロセス毎のメモリ空間が広がる。
    • -> あまり意味がある変化ではない。

    • 向上幅としては大きいがユースケースにマッチしないので影響が大きいとは言えない。
      • デスクトップで3GB Limitで困るケースはあまり考えられないがローカルにRDBMSあたりを走らせるケースでは幸せになれる?
      • Webブラウザがメモリキャッシュとしてそれぐらいまでは使う?
  • 性能向上する?
    • -> あまり意味がある変化ではない。

    • Nehalem MA系列とK8/K10系列はレジスタ増加分は高速化する
      • ただし、もともとデスクトップのワークロードではタスクスイッチによるハザード頻度が高すぎるので誤差。
    • Core MAやそれ以前のIntelプロセッサは性能向上するかというと相当微妙
      • CPUインテンシブなタスクで性能差が出るかというと結構微妙なような。
        • Core MAの宿命的な問題。64bitワークロードはL2ハザードが起きやすくなるという弱点もある(けどやはりハザードの方がよほど大きいので誤差に収まる)。
      • とはいえ悪い方向には働かない。
  • ext3使用時の利用可能なファイルシステム最大サイズが増える
    • -> あまり意味がある変化ではない。

    • デフォルトext4なのであまり変化はないが……。
      • 標準モードで4TB -> 8TB

      • 拡張で8TB -> 16TB

cons

  • 64bit binaryの方が大きいので、必要メモリが増える
    • 512MBメモリで実用、というのは厳しくなる。i386だと512MBでも(Webブラウザ以外は)一応実用。
    • たぶん1GB必要。
  • Core Duo/Pentium M/Athlon XP等の32bit CPUで動作しなくなる。
    • 2004年ぐらいのマシンが足切りされる。
    • i386版を使って頂くしか。
  • Multiarch由来のFTBFSを食らう可能性がある
    • が、i386でも食らう可能性がとても高いので気にしなくてもよさそう。
  • 当然ながらx64非対応CPUでは動かない
  • 仮想化環境で動かす場合、64bitゲストマシンを動かすにはAMD-V or VT-xが必須になる場合がある(VirtualBox等)

UbuntuJapaneseWiki: Develop/Precise/Specs/32or64 (最終更新日時 2012-02-07 22:31:02 更新者 hito)