見出し画像

[書評] 分散システム 第2版 -2/15-

分散システム

前回に引き続き、技術書籍の 未来へつなぐデジタルシリーズ31 分散システム 第2版 を紹介していきます。


第2章|分散システムの種類

本章では分散システムの3つの分類を紹介しています。「分散コンピューティングシステム」、「分散情報システム」、「分散パーベイシブシステム」の構成と特徴について解説されています。

2.1 分散コンピューティングシステム

分散コンピューティングシステムは、計算処理を目的とした分散システムです。計算処理の対象となるジョブ(仕事)とタスクの関係を図2-1-1にまとめました。ジョブを計算処理できる単位に分割したものがタスクです。

図2-1-1 ジョブとタスク

次に、分散コンピューティングシステムで行われる並列処理の実現方法を図2-1-2でまとめました。独立したコンピュータをクラスタ(集団、かたまり)化したものがクラスタコンピュータ(クラスタコンピューティングシステム)です。1章に記述されているように、マルチプロセッサは独立したコンピュータの内部で計算処理されるため、分散システムの定義からは外れます。

図2-1-2 並列処理の実現方法

クラスタコンピュータ(クラスタコンピューティングシステム)の種類を図2-1-3にまとめました。独立したPCでクラスタが構成されたものをPCクラスタ、独立したワークステーションで構成されたものをワークステーションクラスタと呼びます。

図2-1-3 クラスタコンピュータの種類

クラスタコンピュータ(クラスタコンピューティングシステム)の構成を図2-1-4にまとめました。複数の独立したノード(ここではPCやワークステーション)をネットワークで接続して、それらを管理するノードがマスターノードです。マスターノードがタスクを割り当てて、そのタスクを処理するノードが計算ノードです。

図2-1-4 クラスタコンピュータの構成

それぞれのノードを接続するネットワークの用途について図2-1-5にまとめました。

図2-1-5 ノード間のネットワーク

クラスタコンピュータ(クラスタコンピューティングシステム)における構成の違いとして、ホモジーニアス(同種の)クラスタコンピューティングヘテロジーニアス(異種の)クラスタコンピューティングがあります。それぞれの比較を図2-1-6にまとめました。この図で判るように、同一の企業内(データセンター内)の設備であればホモジーニアスクラスタコンピューティングは組みやすいですが、地域間をまたぐ場合や異なる企業間でクラスタを組む場合はヘテロジーニアスクラスタコンピューティングとなることが多いです。

図2-1-6 クラスタコンピュータ構成の種類

クラスタコンピューティングと異なる計算性能向上を目的とした分散処理の考え方としてグリッドコンピューティングがあります。図2-1-7にグリッドコンピューティングのイメージを掲載しました。グリッドコンピュータは、「提供され集積された計算資源(リソース)」と「提供者と利用者の集合(バーチャル組織)」です。提供者と利用者が各々でツールキット(グリッドに参加するためのソフトなど)をインストールすることで、グリッドに参加することができます。グリッドコンピューティングは通常はヘテロジーニアスな構成になります。

図2-1-7 グリッドコンピューティング

グリッドコンピューティングの規模の分類と特徴を図2-1-8にまとめました。比較の見やすさを重視して、やや誇張して表現しています。エクスターナルグリッドは論理上はインターネット接続された世界中のコンピューター資源を利用できる反面、セキュリティが低くなります。

図2-1-8 グリッドの分類と特徴


2.2 分散情報システム

分散情報システムは、独立した情報システムを統合し、利用者に対して一貫性のあるシステムとして振舞う分散システムです。分散システムのイメージを図2-2-1に記載しました。

図2-2-1 分散情報システム

分散情報システムの代表例であるトランザクション処理システムは、次から次へと投入されるトランザクション処理を継続的に完了させることが求められるシステムのことです。トランザクション処理とは不可分な処理のこと、すなわち処理の開始から完了までの途中で分割出来ない処理単位のことです。トランザクション処理のイメージを図2-2-2にまとめました。

図2-2-2 トランザクション処理

トランザクション処理Aは、読み書きを伴う処理です。①の処理開始から④の処理完了までが不可分で、①から④の処理が全て完了した場合にトランザクション処理が成功したとみなします。①から③のみ完了して④が失敗した場合はトランザクション処理が失敗したとみなします。
一方で、トランザクション処理Bは、読み込みだけの処理です。①の処理開始の次に②の処理が完了すればトランザクション処理が成功したとみなします。

トランザクション処理は、正常な完了を保証するための4つの特性があります。これらの特性(ACID特性)を、図2-2-3にまとめました。

図2-2-3 ACID特性

「原子性」は、トランザクションを分割できない原子のイメージで捉えると理解しやすいです。図2-2-2で示したようにトランザクションAは①②③④を分割することができません。また、トランザクション処理は成功か失敗の2種類のみで、途中まで成功して終わるような中途半端な状態には決してなりません。
「一貫性」を図2-2-2で見た場合、トランザクションAの処理が4回連続で行われた場合はA≧0(Aは0以上)という普遍性が変化してしまうため、トランザクション処理を完了(成功)させてはいけません。
「独立性」を図2-2-2で見た場合、トランザクションAとトランザクションBがお互いに影響しないことが判ります。トランザクションAの実行中にトランザクションBが実行されても独立性が満たされています。
「耐久性」を図2-2-2で見た場合、トランザクションAを1度実行して成功した後は、データAの値が20から元の30に戻ることはないという性質です。処理完了直後のシステム障害で処理結果が消失してしまうようなケースがある場合は、障害発生時に「耐久性」を満たすための対策が必要になります。

トランザクション処理システムの発展形として、エンタープライズアプリケーション統合(EAI:Enterprise Application Integration)があります。EAIのイメージを図2-2-4に記載しました。

図2-2-4 エンタープライズアプリケーション統合

図に示すように、EAIはエンタープライズ(企業内)で使用されている各種のシステムを統合し経営の効率化や判断の迅速化を目的とした分散システムです。EAIは通常ミドルウェアで提供されます。ミドルウェアは様々なアプリケーションソフトウェアから共通利用される機能群を提供するソフトウェアです。ミドルウェアのイメージを図2-2-5に掲載しました。

図2-2-5 ミドルウェア

EAIのミドルウェアに求められる機能は大きく4点あります。これを図2-2-6にまとめました。

図2-2-6 EAIの機能

アダプタ機能は、異なるアプリケーションやシステム間を接続するためのインターフェースを提供します。各アプリケーションやシステムから見るとEAIとだけ接続すれば済むようにミドルウェア側で吸収しています。
フォーマット変換は、各システムで異なるプロトコルやデータ形式を変換します。それぞれのシステムで話されている母国語を通訳するような役割です。
ルーティング機能は、各システム間でやりとりするデータを中継し振り分ける役割を担います。フォーマット変換機能によって変換されたデータを中継します。
プロセス制御機能は、新しい業務フロー(業務内容や業務手順)が発生した場合や業務フローが変更になった際に、どのような順番で各システムと連携するか等のワークフローを設計・設定したりする機能です。

2.3 パーベイシブシステム

パーベイシブシステム(Pervasive System)またはパーベイシブコンピューティングは、普及・浸透したシステムという意味をもつ用語です。似た用語に、ユビキタスコンピューティングやIoTがあります。これらの用語の関係性を図2-3-1にまとめました。

図2-3-1 パーベイシブシステム

ユビキタス(Ubiquitous)は偏在(いつでもどこでも存在する)を表す用語ですが、パーベイシブ(Pervasive)と同じものと理解して差し支えありません。パーベイシブシステムの特徴である『あらゆる場所に通信機器が存在して人々の生活を支援する』という実例としてM2MやIoTがあります。M2M(Machin to Machine)は人が仲介せずに機器同士で通信します。IoTは物理的なモノが全てインターネットに繋がるという意味ですが、M2Mと類似した用語です。
分散情報システムの代表例として、高度道路交通情報(ITS:Intelligent Transport Systems)やエネルギー管理システム(EMS:Energy Management System)があります。ITSは人や道路や自動車との情報通信を行うことで、事故・渋滞の解消など道路交通の最適化を行います。EMSは家庭やオフィスビルなどのエネルギー(ガス・電気など)の使用状況を管理・最適化し省エネを実現しています。
また、スマートシティ(Smart City)やスマート(Smart Home)のように、都市や建物のスマート化(都市インフラや建物に情報システムや通信機能を持たせて管理・制御すること)も進んでいます。

これらは全て分散システムの一種です。スマートフォンやタブレット端末の普及やクラウドコンピューティングの普及により、人々が場所を問わずにコンピュータやネットワークを利用できるユビキタス社会の第一歩が実現されています。

ー この書評は、次回(3/15)に続きます ー-

この記事が気に入ったらサポートをしてみませんか?