並列分散処理入門

HOME Computer Science HOME


1.並列分散処理システムとは

並列処理システム、並列処理

1つの問題を分割して複数個の計算機で高速に並列に処理するように実現したシステム。
大きな仕事を複数の小さな仕事に分割し、分割した仕事を同時に処理。
負荷分散、機能分散など。

現在のマイクロプロセッサは、並列計算機構そのもの。
・命令パイプライン
・スーパースカラ
・同時マルチスレッド
・オンチップマルチ

分散システム、分散処理

多数のユーザが一緒に仕事をするのを可能にするように設計されたシステム。
複数の計算機が物理的、論理的に処理が分離している。
かたまりの大きな単位で分担。
ユーザに対し単一のコンピュータのようなシステムに見える独立したコンピュータの集合。
分散した処理をまとめて見せることで利便性を増す。
新しい機能、サービスを実現。

例)
1、異なるコンピュータに分散したファイルのアクセス。
(どんなコンピュータでどこにあるか気にしない)
2、工場の生産ラインの部門コンピュータ間の連携
3、銀行オンラインシステム
昔は中央集権型のメインフレームで実現していた。
本店、支店、端末間での連携処理で実現。

「分散処理の目的」
・負荷分散
・処理分散(通信コスト削減、サービスの向上)
・機能分散(専用計算機群、DBサーバ、計算サーバなど)
・危険分散(センタのダウン対策)
・管理分散(異なる組織管理単位に分けて管理する場合)
・拡張分散(システムの拡張要求、技術の進歩に応じて機能を強化出来る要求の発生個所で機能の追加、新技術の取り込み拡張が容易)

並列・分散システム

並列処理と分散処理を有機的に併用したもの。

並列分散処理の身近な例:Google

・分散システムは本質的か?
1、販売店網での在庫管理
集中型より分散型に実態は向いているが、経営者は直ちに今なにが売れ筋商品かを知りたい。
これは単一プロセッサ向きのアプリケーションに見せればよい。

2、CSCW(Computer Supported Cooperative Work)コンピュータ援用共同作業
社会活動の広域化で地域的に離れた場所にいる人々のグループ作業支援。グループウェア。

3、科学技術計算
問題に並列性があり、並列処理適用が進んでいる。
近年では生体情報処理が活気。遺伝子、DNA解析、たんぱく質解析、生体モデリングなど新分野で利用拡大。
Grid:世界規模のネットワークで計算サーバ群と利用者PC群を有機的に結び共同利用、解析が試みられている。
→機能的に本来分かれているもの
→動作原理から本来同時に並列動作しているものが多い


「並列分散処理の利点」
・高信頼性:集中型に比べ本質的に高信頼
→部分的な故障が全体のダウンに結びつかない
→システム稼働率低下を防止

・段階的なシステムの成長が可能:仕事の量に応じ、スモールスタート可能
→必要に応じてシステム拡張、追加が容易
→メインフレーム時代では定期的なリプレースメントが利益の源泉

単独のパソコンと比較した場合の利点
データの共有・データベースへのアクセス。
周辺装置の共有:プリンタ、ストレージなど。

「並列分散処理の弱点」
・ソフトウェアの設計、実装、使用の経験不足:OS、プログラミング言語、アプリケーション
→システム開発者のほとんど手作り、ユーザに開発負担も。役割分担が不明確。

・ネットワークの信頼性
メッセージの紛失、回復。ソフトのオーバーヘッド。
ギガビットネットワークでも実際のスループットは低い?

・セキュリティの確保と自由度
ハッカー、ウイルス対策。データアクセスの安易な共有は危険。

並列処理と分散処理の違い

両者に本質的な違いはないが、通信コストに大きな差がある。
それで実現形態がかなり異なる。
分散処理は一般的に地域的に広がりがあり、通信のレーテンシが低いので頻繁な通信を行なう処理は不向き。
→粒度の大きい処理に分割することが重要。

並列処理と分散処理の境界ははっきりせず、広義に解釈して 「複数の計算機が接続され一緒に動作しているシステム」と捉えると両方が含まれる。
→結合の度合いによる差?

密結合型:マルチプロセッサシステム、並列マシン
祖結合型:コンピュータネットワーク、広域ネットワーク

並列処理では、低レーテンシ、高スループットを目指し、細・祖粒度を利用
分散処理では、高レーテンシな環境を扱い、祖粒度並列処理を実現

2.周辺技術の発達

マイクロプロセッサ

マイクロプロセッサ複合体はこれまで実現出来ない価格性能比を達成。
マイクロプロセッサの単体の性能向上は目覚しい。
しかし光の速度を計算は超えられない。
→そこで価格性能比で言っても、絶対性能目標で言っても並列分散処理に分がある(はず)

グロッシュの法則

「計算性能は価格の二乗に比例する」
崩壊。

ムーアの法則

「マイクロプロセッサの発達は1.5年に2倍になる」
継続。
マイクロプロセッサの発達を支えたもの
1、LSI技術の進歩
――MOS/CMOS技術は微細化(トランジスタ、配線)により低消費電力、高速化、大規模化が可能
2、並列処理の利用
――重荷命令レベルの並列生の開拓:命令パイプライン、スーパースカラ、RISC
→利用者から見れば単一のプロセッサに見える
並列性の開拓に限界も
←利用者にも複数プロセッサを意識させた並列処理の導入
同時マルチスレッド、マルチコアCPUのパソコンが一般に出回る。
3、新機能デバイス?
量子コンピュータ、DNAコンピュータ
→並列分散処理の登場(概念は古くコンピュータ誕生から考えられた)

ネットワークの発達

高速ネットワークで結ばれた多数のCPUをいかに有機的に結合し編成するか?
流れは、集中型システム(Centralized System)から分散システム(Distributed System)へ。
メインフレームから分散したサーバー群へ。

用語の説明

レーテンシ(Latency)
応答の遅延、単位は秒。Low Latency:応答が早い。High Latency:遅い反応。

スループット(Throughput)
情報/処理の通過時間、単位は秒。100Mイーサネットはピークで100Mbit/Secのスループットを持つ。

粒度(Granularity)
一塊の処理の大きさを言う。定性的。
細粒度並列処理:1つの命令処理の中での並列処理
祖粒度並列処理:数十から数千命令を単位として並列処理を適用
スケーラビリティ(Scalability)
要求性能に応じてシステムが(ほぼ)リニア―(線形的)に拡張

システムオンチップ(SOC:System On Chip)
組み込み用、ユビキタス