ハイパフォーマンス市場を変える
IA-64 Linux Project
宮下知起
株式会社グルージェント
2000/8/9
NECは6月28日、IntelのItaniumプロセッサ上でのLinuxの開発を推進する「IA-64 Linux Project」に、日本の企業としてはじめて参画したことを発表した(NECのプレスリリース「『IA-64 Linuxプロジェクト』への参画について」、「NEC Joined the IA-64 Linux Project」)。Itaniumの登場に備え、IA-64 Linux Projectがどのようなメンバーで構成され、運営されているのか。そして、LinuxがItaniumに対応することで、どのようなメリットがあるのか、実はあまり知られていない。NECへの取材を通して、これらについて探ってみた。
12社が参加するIA-64 Linux Project
IA-64 Linux Projectのホームページ |
IA-64 Linux Projectは、IntelとHPが共同開発中の64ビットプロセッサ「Itanium」に対応したLinuxを開発するプロジェクトである。その詳細はhttp://www.linuxia64.org/に公開されている。
このプロジェクトは当初「Trillian Project」の名称で1999年5月に設立された。当時の設立メンバーはCygnus、HP、IBM、Intel、SGI、VA Linux Systemsである。そのそうそうたる顔ぶれからは、ハードウェアベンダーのItanium対応Linuxへの期待の大きがうかがえる。その後2000年5月に、Trillian Projectは「IA-64 Linux Project」に名称を変更した。
実は、LinuxのItanium対応にはじめて取り組んだのはHPである。HPは、Trillian Project設立以前の1998年2月から取り組みを開始し、翌年の1999年1月にはHPのシミュレータ上でカーネルのブートに成功している。同4月にはCERN(欧州核物理学研究所)の協力を受け入れ、Cライブラリの開発に着手した。また、同じく4月には、VA Linux SystemsがIA-64 Linuxへの取り組みをスタートさせた。その後、VA Linux SystemsはIA-64 Linux Projectのプログラムマネージャを務めることになる。
SMP対応のIA-64 LinuxはNECが先導
NECがIA-64 Linux Projectに正式に参加したのは、2000年5月のことだ。国内でIA-64 Linux Projectに参加するハードウェアベンダーはNECだけである。
IA-64 Linux Projectは誰でも参加できるわけではない。「協力できる内容をきちんと説明できて、それが認められる必要があります。我々はAzusAというItaniumを16CPU搭載したマシンを持っています。このAzusAを使ってIA-64 LinuxのSMP対応を行える点で評価され、参加することができました」(NEC マーケティング本部 ニュービジネス企画部 マーケティングマネージャー 川井俊弥氏)。
IA-64への取り組みを語るNECの姉崎氏(左)と、川井氏(右) |
このAzusAは、NECが現在開発中のItanium搭載サーバの開発コード名だ。インテルはItanium用には2CPUと4CPUのチップセットしか出していない。16CPUをサポートするItanium搭載マシンを開発し、実際に試験稼動に成功しているのはNECのAzusAのみである。
このAzusAを売りたいのがNECの動機としてあるのは当然だが、IA-64 Linux Projectはコミュニティに対して次の3つの目標を掲げており、NECもそれに賛同した活動を行っている。
1.IA-64 Linuxのカーネルの乱立を防ぐ
2.IA-64 Linuxの最適化
3.Itanium出荷前にIA-64対応のLinuxを完成させる
さまざまなメーカーがIA-64対応のLinuxの開発をはじめると、チップセットごとにカーネルが分裂する可能性がある。NECはまずはそれを防ぎたいと考えている。とくに、SMP対応については、チップセットに依存する部分が大きいために、すでにSMP対応マシンを持っているNECが先陣を切って開発を進めたいという考えがある。「Itaniumで動くSMP対応の部分については我々が開発するものをデファクトにしたいと考えています。他のメーカーが新しいチップセットを出してくることによって動かないマシンが出てきたら、そこから調整していくことになるでしょう」(NEC 第一コンピュータソフトウェア事業部 HPC基盤グループ 技術マネージャー 姉崎章博氏)
同社がIA-64 Linuxをこの16CPUマシンに対応させていく過程で、特に大きな障害はなかったという「AzusAのチップセットがIntelのチップセットと違うため、新しいチップセット、ファームウェアの対応、具体的には、ハードの構成情報をOSへ渡すところは拡張しなければなりませんでしたが、それに対応するとLinuxは意外にあっさりと動いてしまいました。これがオープンソースの力かと感じたものです。やはり、OSが非常に素直に作られていると感じました」(姉崎氏)。トラブルといえば、8CPUで動作させたときに、既存のIA-64 Linuxカーネルのロックのバグでパニックしたこと。16CPUで動作させようとしたときに、CPUに割り当てる(カーネル内の)配列が不足していたため動作しなかったことくらいだという。両者ともソースコードの変更を行い、1日か2日程度で解決したという。
IA-64 Linuxは商売になるのか?
IA-64 Linuxでは、意外なことにInteger型は32ビットのままである(Alpha、SPARCなど、他の64ビットLinuxも同様)。これは、既存のアプリケーションと互換性を持たせるための対処だ。64ビット化されるのはLong型とアドレス空間である。アドレス空間が64ビットになることによって、ようやく従来のインテルアーキテクチャが引きずってきた4GBのメモリ空間の壁を越えることができる。さらに、Itaniumは浮動小数点演算のレジスタを多く持っているので、浮動小数点演算を非常に高速に実行することができる。これらの理由から、Itaniumは計算物理や構造解析などのHPC(ハイパフォーマンスコンピューティング)に向いた特性を持っていると言える。
実際、NECはIA-64 LinuxとAzusAの組み合わせで、こうしたHPCの用途を考えている。
「AzusAを知ったお客様に米国MSC Softwareがあります。同社は、構造解析分野では著名なMSC.NastranやMSC.MARC、CADと連係したプリ・ポストシステムのソフトウェア製品を持っていますが、これをぜひAzusAに載せたいというお話をいただいています(両社アライアンスのプレスリリース)。SX-5(同社のスーパーコンピュータ)などへのISVアプリケーションの移植には苦労しますが、NECはSX-5までの経験で築いたHPC分野でのISVとの良好な関係があり、また、ISVのIA-64への強い関心と相まって、先方から移植したいとの話が飛び込んできます」(姉崎氏)。
これまで構造解析などのコンピュータの世界、HPCの世界にはLinuxはほとんど入り込んでいなかった(Beowulfも今後の展開が期待される)。こうした分野の有名な商用アプリケーションがこれまで載っていなかったからだ。だが、IA-64 Linuxになると事情は変わり、さまざまな商用アプリケーションがIA-64 Linuxに移植される可能性が高い。
しかし高速なプロセッサと大量のメモリ、高速なI/Oを実装するマシンなら、例えばサン・マイクロシステムズなどのマシンもある。IA-64 Linuxマシンは、こうしたプロプラエタリなシステムに対するアドバンテージを持つのだろうか。たしかに価格は安くできる可能性はある。だが「計算の世界は高い安いではありません。自分たちで何でもやりたいというお客様が多いのです。例えば、ソースを自分でも見たいとか、許容範囲内において自分でディスクをつけたいというお客様は、プロプライエタリなものではなくて、オープンなプラットフォームであるLinuxを選ぶのではないでしょうか」「さらに、プロプライエタリなシステムをやっているコアなカーネルの技術者と、Linuxのコミュニティをやっている10万人とも20万人とも言われているサポートの、どちらを取るかということになると思います。現在、Webサーバの市場でApacheが全世界のシェアのほぼ半数を持っている理由は、やはりコミュニティの厚いサポートがあるからではないでしょうか。そういう意味で、IA-64 Linuxは大化けする可能性を秘めていると思います」(川井氏)
また、計算物理や構造解析といったHPCの世界のユーザーは、チューニング技術により関心を寄せる傾向があるという。「たとえばSXの世界では、どのようにプログラムを組んで、どのように計算をさせるかというノウハウが重要になってきます。その善し悪しで、計算速度に何十倍という差が出てくるからです。先日、筑波のSXのお客様のところに行きましたが、ハードは安いにこしたことないが、ノウハウの部分にお金を掛けたいと言われました。最近、こういったお客様が増えてきているようです。ハードウェアの価格だけがどうこうという時代ではなくなってきていると感じています」(姉崎氏)。
つまり、IA-64 LinuxならばHPC市場でのアプリケーションの展開が期待でき、サービス中心の料金体系にできる。新しいビジネスとしての期待が高い、ということが言えるだろう。
オープンソースでビジネスはどう変わるか
しかしオープンソース環境でビジネスをすることは、メーカーにとって本当にメリットのあることなのだろうか。
「オープンソースのソフトウェアは、『うちのマシンでは動かない』という例が必ず出てきます。そんなときには、はっきり言って自分で全てやってしまったほうが開発スピードは速いわけです。自分のマシンで確実に動くものを作ったほうが性能も出ますし、売りやすい。ですから、利益という面だけを考えるとメリットはありません」(川井氏)。というように、オープンソースでのビジネスは苦労も多い。しかもオープンソースのコミュニティは基本的にはボランティア集団である。契約を交わしてやっているわけではないので、ビジネス的には付き合いにくい。特に責任の所在を追及できない点が大きな問題となる。
「しかしこれだけLinuxが普及してきて、IA-64 LinuxのようなLinuxの開発モデルが出てきたとき、我々が戦略的に取り組まない手はありません。バグをすぐにフィードバックできるという、コミュニティの協力を得られるメリットもあります。それよりなによりも、Linuxを使いたいというお客様が多いというニーズがあります。特に、ハイエンドな用途を望んでいるお客様は、オープンソースを使って自分たちで色々なことをやりたいと考えています。そこにおいて、NECは何を提供できるかのか?と、お客様から問われている状況があるのです」(川井氏)
川井氏が言うように、インターネットの流れに誰もが逆らえないのと同じように、Linuxの潮流にもメーカーは逆らえない状況になってきている。それがメーカーがLinuxに取り組む大きな理由と言えるだろう。しかもその流れは、エンジニア個人のモチベーションにも影響を与えている。
「エンジニアの視点から見ると、Linuxという共通基盤で仕事ができるのは魅力的なことです。共通基盤であれば、その上で技術的な優位点を外に対してアピールできるし、他メーカーやユーザーと技術的な内容でコミュニケーションが取れます。そして何よりも我々にとって大きいのは、そういった過程で、技術者のモチベーションを高められるだろうことです。プロプライエタリなものをメジャーにするという世界では、モチベーションの向上はないと思います。オープンソースの世界では、社内だけでなく、または日本に対してだけでもなく、世界に対して技術をアピールすることができます。エンジニア一人一人がそういう自覚を持って仕事ができる世界が、オープンソースの世界だと思っています。そして、お客様には結果的に質の高いサービスが提供できる。同じソースを持っているわけだから、お客様とつっこんだお話ができます」(姉崎氏)
[IA-64 Linux Projectに関する資料]
IA -64 Linux Projectにおける各社の役割参加企業 | タスク |
Caldera | ディストリビューション |
CERN | glibc(Cライブラリ) |
HP | カーネル、初期のgcc、gas(GNUアセンブラ)、id(GNUリンカ)、emacs(エディタ) |
IBM | 性能ツール、測定・解析ツール |
Intel | カーネル、IA-32、プラットフォーム、apache、EFI、FPSWA、SCSI、SMP、Libm |
Linuxcare | エンタープライズ用途への開発支援と開発後のサポート |
NEC | SMPや入出力のスケーラビリティ、信頼性の確保 |
Red Hat | コマンド、GNOME、ディストリビューション、GNUPro Toolkit(gcc、g++、GDB) |
SGI | コンパイラ、kdb(カーネルデバッガ)、OpenGL |
SuSE | KDE、ディストリビューション |
TurboLinux | 性能カウンタ、ディストリビューション |
VA Linux Systems | カーネル、プラットフォーム、E、E-Term、Xfree86、ブートローダ、SMP、IA-32 |
(2000.6.19現在。http://www.linuxia64.org/pressfinal.pdf
と各社プレスリリースよ り)
|
Trilian以前 | |
1998年2月 HPがIA-64 Linuxに取り組む | |
1999年1月 HPのシュミレータ上でカーネルboot成功 | |
1999年4月 CERNがCライブラリの開発でHPに協力 | |
1999年4月 VA Linux SystemsがIA-64 Linuxに取り組む | |
Trillian Project | |
1999年5月 設立 | |
1999年8月 シュミレーションでのデモ | |
1999年9月 Linux World Expo/Tokyo'99で初の実機デモ | |
1999年12月 4大ディストリビュータ(Red Hat、SuSE、TurboLinux、Caldera)が参加 | |
2000年2月 オープンソースでIA-64版カーネル公開 | |
2000年2月 RedHat gccなどの「GNUPro tools for IA-64」をリリース | |
2000年3月 TurboLinux for IA-64α版公開 | |
IA-64 Linux Project | |
2000年5月 SGI「Pro64」リリース(C、C++、Fortran 90、ライブラリなど) | |
2000年5月 RedHat Linux for IA-64開発者向け版リリース | |
2000年5月 Linuxcare参加 | |
2000年5月 NEC参加 |
Linux Square全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|