Web教材一覧ハードウェアとソフトウェア

システム構成

キーワード

並列処理,MIMD,密結合・疎結合,マルチコアプロセッサ、デュアルシステム,デュプレックスシステム,ホットスタンバイ,クラスタコンピュータ,グリッドコンピューティング


処理の高速化のため,信頼性の向上のために,プロセッサ(CPU)を多重化するシステム構成があります。それをいくつかの角度から区分して説明します。

命令とデータとの関係による区分

SISD(Single Instruction/Single Data)
一つの命令で一つのデータを扱う処理方式。最も単純な方式です。
SIMD(Single Instruction/Multiple Data)
一つの命令で複数のデータを扱う処理方式。
スーパーコンピュータで利用されていますが,パソコンでも,マルチメディア拡張機能に利用されています。
MIMD(Multiple Instruction/Multiple Data)
1台のコンピュータに複数のプロセッサ(CPU)を搭載し,プロセッサごとに異なる命令,異なるデータを並行処理する方式。
この方式をマルチプロセッサ(multi-processor)といい,超並列コンピュータの多くが採用しています。最近はパソコンでも複数のCPUをもつものがあります。

CPUと記憶装置との結合関係による区分

密結合マルチプロセッサ(Tightly Coupled Multi-Processor)
複数のプロセッサ(CPU)が,メモリや磁気ディスクを共有する方式。一つのOSにより制御され,互いに連絡をとりながら動作します。
密結合状態のシステムでは,緊密で高速な動作が可能となるが,一方のコンポーネントが異常をきたすと,他方のコンポーネントがその影響を受けるため,保守や部品の交換などが制約を受けます。
疎結合マルチプロセッサ(Loosely Coupled Multi-Processor)
プロセッサごとに独立したOSと記憶装置を持ち,独立して動作する方式です。
互いの状況を連絡して協調するには,高速なバスが必要であり,高速処理の面では密結合に劣りますが,独立性が高いため,保守や部品の交換などが容易で,非常に多数(数百~数万)のプロセッサを持つ超並列プロセッサを構築することができます。

マルチコアプロセッサ

マルチコアプロセッサとは,原理的にはマルチプロセッサと同じですが,一つのチップにマイクロプロセッサ中核部分(コア)を複数個組み込んだものです。一つでのCPUのクロック数向上が,コスト的に限界に近付いていること,クロック数を上げると消費電力が非常に増大することから普及しました。
 現在のパソコンでは、Core 2やCore i7などのCPUが用いられており、マルチコアプロセッサになっています。

マルチコアプロセッサでは、複数のアプリケーションや、一つのアプリケーションを複数のタスク(スレッド)に分け、それぞれの処理を複数のコアに分散させ並列実行したり、個々のコアで異なるタスクを実行させたりできます。それをマルチタスク機能あるいはマルチスレッド機能といいます。それには、マルチプロセッサ対応のOSが必要です。
 WindowsやLinuxなど代表的なパソコンOSはマルチプロセッサに対応しています。

マルチコアプロセッサでの分散処理は、大きくAMPとSMPに区分されます。

コンピュータの多重化による区分

シンプレックスシステム
通常の1系統のコンピュータ構成のことをシンプレックスシステムといいます。この形態では,故障が起こると業務が止まってしまいます。

●高速化を主目的とした多重化

ロードシェアシステム
負荷分散クラスタ構成
負荷分散のために,複数のコンピュータを使用するシステムです。クラスタ構成でのロードシェアシステムを負荷分散クラスタ構成といいます。複数のサーバの前にロードバランサを置き、入力データをサーバに分散させることにより、効率を高めます。
・サーバはディスクを共有しており、常に整合性が保たれるようになっています。
・一つのサーバが故障しても、他のサーバに割り振るので、処理効率は下がりますが、処理は中断なく行われます。
・クラスタ方式では、サーバの追加が容易であり、将来の処理量の増大に対して拡張性が確保されます。
タンデムシステム
タンデムとは縦列という意味でです。例えば,通信,中核処理,データベース処理をそれぞれ専門のコンピュータで行うことにより,全体としての処理性能を高めています。

●信頼性・可用性向上を主目的とした多重化

デュアルシステム
デュアルシステムは2系統のコンピュータで同じ処理を行い,結果を照合確認しつつ処理を進めます。障害が発生しても故障したほうのシステムを切り離して正常なほうのシステムで処理を続行できます。非常に高い信頼性が要求されるシステムに採用します。
デュプレックスシステム
HAクラスタ構成
2系統のシステムを用います。一方の主系(稼働系)で重要なオンライン処理などを行ない,他方の従系(待機系)では、常に待機しているか、リアルタイム性を必要としないバッチ処理などを行ないます。近年は、多数のサーバを設置して、デュプレックスシステムを構成するようになり、HA(High Availability)クラスタ構成というようになりました。
稼動系が故障したときは,処理を稼動系サーバーから待機系サーバーへと引き継がせて、重要な業務を続行します。信頼性はデュアルシステムよりも劣りますが,比較的安価に実現できます。
なお、稼働系から待機系に切り替えることをフェイルオーバー、復旧後に元の稼動系・待機系の構成へと戻す機能をフェイルバックといいます。
ホットスタンバイ方式
稼働系への切り替えを迅速にするために,待機系は常に稼働系と同期をとっておき,即座に切り替える方式です。切り替えはシステムが自動的に行うのが一般的です。正常時には必要のない待機系を設置して同じ処理をさせているので費用がかかりますが、フェイルオーバー時間が非常に短かい(通常はシステムが自動的に行う)ので、業務への支障がほとんどない利点があります。重要な業務では、この方式が採用されています。
コールドスタンバイ方式
待機系では稼働系とは異なる動作環境にしている,あるいは,電源が入っていない状態で待機している状態です。待機系は独立した系だといえるので、実際の費用は小さくてすみますが、切替時間が非常に長くなり、その間の業務に大きな影響を与えます。
ウォームスタンバイ方式
両者の中間です。待機系は稼働系と同じ動作環境になっていますが,他の業務を行っていることもあり,稼働系の業務を起動させるなど切替時間がかかります。
フォールトトレラントシステム
1台のコンピュータですが,重要な部分を二重化することにより,その構成部品の一部が故障しても正常に処理を続行するようにしたコンピュータです。

CSS環境でのシステム構成に関するトピックス

汎用コンピュータ時代では、多重化とはいえ、せいぜい2台か3台の多重化でした。現在では、パソコン(CPU)を数十・数百台束ねた多重化になっています。

クラスタコンピュータ
多数のパソコンを結合して,あたかも1台の大型コンピュータのように利用できる技術が発展しました(一つの筺体に格納したものもあります)。その技術をクラスタリング,それによるコンピュータをクラスタコンピュータといいます。
 前述の負荷分散クラスタ構成やHAクラスタ構成がこれにあたります。
 クラスタ構成にすると,対象業務の拡大や処理データの増加により,サーバにより大きな性能が必要になったとき,構成する安価なパソコンを追加するだけで対応できる利点があります。その技術をスケールアウトといいます(なお、構成するパソコンのCPUやメモリを高性能化することはスケールアップといいます)。
グリッドコンピューティング
インターネットなどのネットワークで非常に多数のコンピュータを接続することにより,使っていないコンピュータの資源を活用して,大規模な処理能力を実現する形態です。インターネットに接続している不特定多数のパソコンを利用して,宇宙人からの通信の解析処理を分担しようというボランティアのプロジェクトなどから始まりましたが,現在ではLAN接続のパソコンを活用した企業内での利用が注目されています。
クラウドコンピューティング
近年,プロバイダが業務の一部分(サービス)を提供するSaaSが注目されています。また,表計算ソフトやグループウェアなどをインターネットで利用できるサービスもあります。このような環境では,ユーザ企業は,ソフトウェアもサーバも所有せず,クライアントだけをもてば,業務システムを運用することができます。すなわち,インターネットの側で情報処理を行うことから,クラウドコンピューティングといわれています。
NAS(Network Attached Storage)
ファイルサーバの形態の一つで,大容量の記憶装置をネットワークに直接接続したものです(高速なネットワークが必要で,そのネットワークを特にSAN(Storage Area Network)ということがあります)。
ネットワークを通じて複数の利用者で共有ディスクとして使用できるので,データの共有化を図るのに効果的ですし,バックアップ用としても利用されます。
仮想化技術
仮想化とは,物理的なハードウェア構成を論理的な構成にすることです。
LANやインターネットには,データサーバやWebサーバなど多様なサーバ機能があります。それらの機能ごとに物理的なパソコンや記憶装置を設定したのでは,一方では資源不足なのに他方では余裕があるといったアンバランスが生じます。また,ある機能を他のサーバに移し替えたり,データを保管機器を変更するときには,システムを変更したり,利用者に通知する必要が生じます。
物理的なハードウェアではなく,論理的なディレクトリのような体系にして,それらを変更するだけでよいようにできれば,資源の有効利用にもなりますし,サービスレベルの向上にも役立ちます。このような仮想化技術は,汎用コンピュータ環境ではかなり確立していたのですが,オープン環境では遅れていました。分散環境での運用の重要性が高まるのに伴い,オープン環境での仮想化技術が急速に発展してきました。
 利用者が用いるパソコンをシンクライアントにし、それをサーバと接続して処理を行う分野での仮想化技術には、大きく3つの方式があります。いずれもシンクライアントはブラウザ画面のような表示部を担当し、演算部(処理機能)はセンターに設置したサーバが担当します。それにより、利用者や利用頻度の増加への対応を容易にしています。
  • サーバーベース方式
    複数のシンクライアントが1台のサーバに接続します。サーバの余力資源は相互に有効利用できます。
  • 仮想PC方式
    専用のソフトを使ってサーバ上に仮想的に複数のパソコンを形成し、このパソコンをシンクライアントから操作します。すなわち、物理的には「1対多」の接続ですが、論理的には「1対1」の接続になります。
  • ブレードPC方式
    ブレードPCとは、パソコンの本体構成部品(CPU、メモリ、内蔵ディスクなど)を「ブレード」という基板に取りつけ、複数のブレードを専用筐体に集積して搭載したパソコンのことです。ブレードPC方式では、サーバがブレードPC構成になっており、シンクライアントがサーバに接続すると1枚のブレードが独占的に割り当てられます。同時接続中のシンクライアント数だけのプレートがあればよいので経済的です。また、この方式はOSやアプリケーションを通常のパソコンと同じものを使用するため、パソコンからシンクライアント・システムへ移行が容易にできる利点があります。