レベル: 中級 Cameron Laird (Cameron@Lairds.com), Vice President, Phaseit, Inc.
2003年 3月 19日 Fortran指向の数多くの開発者が、Linuxに安住の住処 (すみか) を見いだしています。新しい開発や移植作業には、アプリケーション資産に関りのある作業が驚くほどたくさん存在します。中には35年以上経つアプリケーション資産もあります。
皆さんの会社は、古いFortranプログラムを実行するのに必要なハードウェアやソフトウェアにかなりのライセンス料やサポート料金を支払っていませんか。それに、年代物のミニコンで必要とされることの多い特別な電力や空調も。そうしたプログラムはLinuxサーバーに移してみて、これらの費用をどれだけ削減できるか試してみてはいかがでしょうか。アプリケーションの性能や利用価値を高めることにもなります。
Linuxは、また、おそらく皆さんが認識されている以上に、Fortranによる数多くの新開発を受け入れています。Linuxプログラマー同士が言語に関して議論する場合、通常、Java、Python、C++、あるいはC# といった流行の言語に関してです。とすれば、皆さんは、1950年代末に考案されたCobol、Fortran、Lispといった言語を使って数多くの有用なソフトウェアが開発されていることに驚かれるのではないでしょうか。
とくにFortranは、Linuxを安住の住処としてきました。今月の「サーバー・クリニック」では、LinuxにおけるFortranの重要性の意味や、さらに詳しく研究するための方法を簡単に紹介します。
救助に現れたLinux
Fortranを扱うといっても、必ずしも回顧を意味するわけではありません。Fortranに関しては、いろいろな活動がなされています。J3国際委員会によって新しいFortran2000標準案が策定されていますし、コンパイラーの開発には重要な進展がありますし、毎年、新規アプリケーションの開発が数多く着手されています。風聞によれば、Linuxが新しい開発を受け入れる割合は増えているといいます。たとえば、高性能の科学用途のクラスターにFortranとLinuxの組み合わせがよく使われています。科学・技術開発の分野には同じようなカタログがいろいろと出されているのですが、その中のLinux4chemistryというカタログには、Fortranでコーディングされたプログラムが数多く掲載されています。Fortranは、プログラマーが慣れていて、Cよりも高い性能を発揮できるということで、技術系のプログラマーから愛用され続けています。
これに対して、それほど明瞭ではないけれども、おそらくもっと興味深いのが、アプリケーション資産に対するLinuxの役割です。35年間も使われてきたものも含め、Fortranでコーディングされた「馬車馬」のようなプログラムは、大量に蓄積されており、世界中のビジネスや研究室での日々の仕事を支えています。中には、「資産 (legacy)」という言葉から連想されるのはY2Kバブルだけだという分野もありますが、それをはるかに凌駕するものがFortranにはあります。Fortranでコーディングされた何千本ものプログラムが、金融関係の書類を作成し、工場の機械を制御し、実験データを解析し、人事記録を管理し、通信機器の交換処理を行うといったことを含め、そのような毎日の仕事に不可欠な数多くの役割を果たしています。これらのプログラムの多くは、その役割を完璧にこなしており、廃 (すた) れつつあるハードウェアで実行されていること以外、何ら変更を必要としていません。たとえば、ヒューレット・パッカード社がMPEやOpenVMSという製品シリーズを廃止したことは、この何十年かの間これらのミニコンを頼りにしてきたユーザーにとって、深刻な問題となっています。
そこで救いの手として登場するのがLinuxです。サーバー・クラスのLinuxマシンは、信頼性が高く、稼働時間の点でも優れており、異機種混合ネットワークでの相互運用性に関するものなど役に立つシステム・サービスを提供し、高品質のFortranコンパイラーを数多く稼働させることができ、かつ少なくとも他のエンタープライズ対応のシステムと同等のセキュリティーを備えています。銀行やメーカーや政府機関は、多くは「整理統合」という題目の下、旧来のプログラムの多くを黙々とLinuxに移しつつあります。
そのような移住に際して、Linuxサーバーからは、品質と使いやすさに関して高い満足度が得られます。私が直接話を伺った組織では、そうしたプロジェクトは、通常、期待以上に良い結果を生み出しています。ただし、私が直接会って話をした人々は、競争やセキュリティー上の理由、および多くは法的な理由から、誰も「オンレコ」で語ろうとはしません。金融機関やメーカーは、内部作業の詳細を公表しても、リスクがたくさん伴うことはあっても、何のメリットもないと見ています。これとは対照的に、軍事関係のコンピューティングが比較的オープンなのは興味深いところです。たとえば、兵器システムや軍事活動のシミュレーションの多くは、Fortranで書かれていることが知られています。英国防衛省は、F3 Tornadoの分析プログラムをLinuxで稼働させています。
皆さんもこうした資産の移住に従事したり、活動中のFortran開発チームをサポートする担当になることがあるかもしれませんので、以下では、Linux用のFortran資源について把握しておいたほうがよいことを紹介しておきます。
さまざまな標準やツールが用意されている
Michael Metcalfの参考文献のページから始めるとよいでしょう (以下の参考文献参照)。このページには、コンパイラーなどのツールや文献についての最も広範で最新の情報が集められています。
人気のあるLinuxディストリビューションには、通常、GNUプロジェクトのフリーのG77 Fortranコンパイラーが入っています。このコンパイラーは、コマンド・ライン引数を使って、66、77、90、95といった標準およびいくつかの派生的な仕様に準拠してコーディングされたさまざまなタイプのFortranを処理できるようにしています。G77は、性能を犠牲にしながらも柔軟性および移植性の点で優れていますので、洗練された商用コンパイラーと肩を並べても堅調な市場を維持しています。G77は、他の多くのFortranコンパイラーと同様、通常f77という名前の実行ファイルとしてインストールされます。
所有権のあるコンパイラーやツールの中にも、無料で提供されているものが多く存在します。たとえば、インテルは、Linux向けに7.0 Fortranコンパイラーをダウンロード可能な形式で提供しています。このコンパイラーは、素晴らしい性能を示しており、x86とItaniumクラスの両方のLinuxホストには明るい未来が期待されます。というのも、インテルのコンパイラー・グループには、DECやコンパックやHPで名を馳せた技術チームが結集しているからです。
何らかの形式の変換プログラムも何社かから製品化されています。こうしたツールは、たとえば、F77準拠のソース・コードをF95のテキストにマップしたりします。これらのツールは、かつては重要な役割を果たしていましたが、現在のLinuxのFortranユーザーは、そういうものをあまり利用しなくなっています。現在のプロジェクトは、Fortranコンパイラーに修正を加えることで、そうしたニーズに対応しているようです。コマンド・ライン引数では対応しきれないような大きな問題については、多くの場合、専門的な独自仕様の言語拡張が必要となります。そういう問題は、人手による熟練の技を労する変換が必要です。いずれにせよ、自動的なソース変換プログラムは、現在では、限定的な役割しか果たさなくなっています。
今では、それとは別のツールのほうに人気があるようです。AbsoftのPro Fortranなど、対話型開発環境 (IDE) でFortranを扱えるものがいろいろと現れてきています。プロファイル作成も、成熟したテクノロジーとなっており、主として性能を重視する人々から重宝されています。
謝辞
Fortranコンピューティングの現状を取り上げるよう何度も私を促してくれたArjen MarkusとSteve Lionelにとくに感謝したいと思います。また、重要な業務アプリケーションにLinuxを使っていることを公表してほしくないという各分野の開発技術者には、内輪の話をお伺いできましたことを感謝いたします。
このコラムでは、いつもは、サーバー関係のセキュリティーや開発の問題を取り上げていますが、この春の期間に少なくともあと1回は、アプリケーション資産を稼働させるためのテクノロジーについて割きたいと考えています。その間、皆さん がLinuxをどのように活用しているのかや、どんな手助けを必要としているのかをお知らせいただければ幸いです。
参考文献
著者について  | 
|  | Cameronは、Phaseit, Inc. の常勤のコンサルタントです。オープン・ソースなどの技術的なトピックについて、数々の執筆や発言を行っています。Cameronのメール・アドレスはclaird@phaseit.net です。 |
記事の評価
|