OpenFOAM事始め(はてなブログ編)

CAEにまつわるアレとかコレ

商用ソフトの価格はリーズナブルか

オープンソースソフトを、商用ソフトと同等の機能が安く使えるもの、というように捉えるのは正しいとは思えないが、ここ数年、OpenFOAMが注目を集めている理由の大半は、それを期待されてのことというのもまた事実であろう。

背景として、昨今の景気状況ではどこの企業も懐具合が厳しく、高価なソフトをホイホイ導入するわけには行かない、という事情があるのはもちろんである。

仮に10年前、15年前に現在と同等の機能を持つOpenFOAMが存在したとしても、さほど注目を集めなかったかも知れない。「そんな怪しげなソフトを使わなくても、実績があり、信頼できるサポートのついた製品を、必要な費用を払って使うべきだ」と多くの企業が考えたのではないか。

それは企業の側の体力的な問題もあるが、今のソフトウエアの価格設定にも問題がある。

科学技術計算ソフトの価格設定は悩ましい問題だが、現在はフローティングライセンス(ネットワークライセンス)が一般的。つまり、部署内のどのコンピュータにインストールして誰が使ってもいいが、同時に起動できるのは契約ライセンス数までとする。そして、1プロセス1コアを基準とし、同時に複数の計算をしたい場合(複数の人が同時に使いたい場合)、あるいは複数のCPUコアを使って並列計算をしたい場合は、料金を割増しするというものだ。

複数のプロセス同時起動の場合はともかく、問題は並列計算である。科学技術計算は一般にそうだが、特に流体解析などは計算時間が非常にかかる。ハードウエアが安価になり、ソフトウエアの並列効率もよくなった今、できれば大規模並列計算をしたいと思っても、ソフトウエアに天文学的な費用がかかってしまう。

少し前まで、コンピュータのCPUは主にクロックを上げる方向で進化してきた。たとえばコンピュータを買い替えた時、クロックが以前の2倍になっていれば、論理的には計算性能は2倍だから、計算時間は半分になる。ソフトウエアのコストは変わらなくても効率が上がったわけだ。

ところが現在はCPUのコア数が増える方向で進化している。シングルコアからデュアルコア、クアドコアと集積度はどんどん上がっているが、ソフトウエアのライセンスが1プロセス1コアのままだと、4つのコアのうち1つだけしか利用できず、残りの3コアは遊ばせることになってしまう。1コアだけを使っての計算だと、古いコンピュータと計算性能は変わらず、これではコンピュータを買い替えた意味がない。4コアすべてを活用して計算したいとなると、ライセンスを増やす必要がある、というわけだ。

こうした課金の方法は時代遅れで、僕は、プロセス数に対してはともかく、並列計算に関しては割増しなしで無制限に認めてもよいのではないかと思っている。サポートする側からいうと、プロセスが増える場合は、計算の種類が増え、ユーザー数も増えるということだから、サポートの手間も増える。なので、その分価格が上がるのには根拠があうが、同じ計算を、2並列で計算しようが8並列で計算しようが、サポートの手間が変わるわけではない。並列課金は既得権益みたいなもので、手放したくないかも知れないが、あまり正当な理由があるようには思えない。

こうした既存ベンダーの価格体系に対して不満を持っている人は少なくない。商用ベンダーはOpenFOAMを敵視する前に、まず自社製品の価格設定を見直した方がいい。実は、コストセーブを期待してOpenFOAMを使い始めても、必ずしもうまくいかないことが多い。商用ソフトがリーズナブルな価格で利用できれば、ユーザーにとっても、そしてOpenFOAMコミュニティにとっても、ハッピーだと考える。当然、商用ベンダーにとってもハッピーなはずだ。

ANSYSさん、どうですか。CD-Adapcoは並列無制限ライセンスを出していますよ。

有限要素法解析ソフトANSYS工学解析入門

有限要素法解析ソフトANSYS工学解析入門