 |
米The Mathworks社は、MATLABで作成した複雑な演算処理を、複数のパソコンで分散処理できるツール「Distributed Computing Toolbox2.0」および「MATLAB Distributed Computing Engine2.0」を開発した。2004年11月に米国で発売されたもの(バージョン1.0)の改良版で、日本での販売・サポートはサイバネットシステムが行う。分散処理が可能になることで、これまでアルゴリズムの計算処理やシミュレーションの実行に膨大な時間を費やしていたようなアプリケーションにおいて、負荷を大幅に低減することができるという。処理速度は分散処理に使うパソコンの台数やCPUの性能に依存する。workerの数に制限はなく、数に比例して処理速度を速くすることができる。自動車、航空宇宙、金融、半導体、医療など、さまざまな分野のアプリケーションに向ける。
分散処理の大まかな流れは以下の通り。まず、Distributed Computing Toolboxが、複数のパソコンで分散処理するためのタスクを作成し、それをMATLAB Distributed Computing Engine側の「スケジューラ」に送信する。スケジューラは、分散処理を担う複数のパソコンのうち、どのパソコンにどのタスクを実行させるかを判定し、演算処理を分担する。分散処理を行うコンピュータは、市販のパソコンでも、スーパーコンピュータでも、どちらでも構わない。スケジューラがそれぞれの負荷を考慮して、タスクの優先度を決定する。
MATLAB Distributed Computing Engineには、「worker」と呼ばれるコンピュータクラスタ上のMATLABセッションがあり、そこでMATLAB関数を実行する。それぞれのworkerで処理した結果はスケジューラ経由でDistributed Computing Toolboxに送られ、そこでデータをまとめる。
日本で販売されなかったバージョン1.0では、専用のスケジューラを使う必要があったが、バージョン2.0では市販品やフリーのスケジューラを使うことができるようにインターフェース機能を追加した。また、業界で標準的に使われているスケジューラ「LSF(Load Sharing Facility)」との互換性も持てるようにした。また、Mathworks社のウェブサイトではインストールの手順に関して個別にサポートするサービスも行っている。
参考販売価格は、Distributed Computing Toolboxが16万5000円、Distributed Computing Engineが98万1000円(いずれも税別)。
(伊藤 達哉)
|