ネタつつき51−分散並列処理についての考察。2009-10-15 Thu 12:47
私は処理をネット上に分散して、なおかつそれをマルチコアプロセッサで並列処理するにはどうすればいいのかが気になりましたので考察する事にしました。以後この記事では、毎回「分散して・・・並列処理を・・・」と書くのは面倒なので分散並列処理と呼ぶ事にします。
考えを整理するために、まず最初に存在理由について考えてみました。ネットワークは日々進化し回線スピードが加速度的にUPしていきます。それに加えてCPUの進化も激しく、256コアのマルチプロセッサが一般的になる日も来るでしょう。そうした技術の進化に伴い、ユーザーの欲求もそれ以上に増加し、必要なデータと処理が爆発的に増えています。それらの背景を考慮すると、自然に複数のマルチコアPCを有効利用しようという発想が生まれてきます。それが分散並行処理の存在意義です。 ですが、論銀の弾丸は存在しません。分散並列処理は簡単には実現せず、利点だけではなく色々な課題も生み出します。 最初の課題は開発者に明示的に分散並列処理を指定させるのか という点です。分散OSなどの高度なシステムソフトを開発している場合にはこれは真ですが、システムソフトを開発する以外はあまり明示的には指定したくないでしょう。ですからこの課題は、普通は明示的に指定しなくてもよく、例外的に明示もできるプログラム言語を作るのがよいと私は考えます。 理由はネットワークは動的に変化するものだからです。その変化に対応しようと考えると、変化に対処するためのリソース管理オブジェクトを作ることになります。ならばコンパイラが用意しておく方が生産的です。自分でリソースマネージャを作りたい時があるとは思いますが、どんなシステムを作る時でもリソースマネージャを作るのであれば苦痛だとだれしも考えるでしょう。 これ以降はコンパイラが用意をするものという前提で話を進めます。 |
|
| 無差別に技術をついばむ鳥 | 中の人の徒然草269>>
|
この記事のコメント |
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|