Posted on: Written by: K-Sato
⚠️ This article was posted over 2 years ago. The information might be outdated. ⚠️

Table of Contents

システムの構成と方式

システムの処理形態

  • バッチ処理:一定期間あるいは一定量のデータをためてから一括して処理をする形態(一括処理)。例)給与計算システム。
  • オンライントランザクション処理:データの発生と同時に処理をする形態(即時処理)。例)座席予約システム。
  • リアルタイム制御処理:モニタやセンサなどを使用して常に監視し、極めて厳しい即時性が要求される形態。例)発電所の制御システム。
  • 対話型処理:ユーザーのがコンピュータと情報のやりとりを行い、人間の判断を加えながら情報処理を進める処理形態。

集中処理と分散処理

集中処理

1台の汎用コンピュータに複数代の端末を接続し、汎用コンピュータに集中して処理をさせる処理形態。

Pros

  • 集中して対策を施す事で、データの一貫性を維持・管理しやすい。
  • 機密保護やセキュリティの確保が容易である。

Cons

  • 一部の装置の故障がシステム全体の停止に繋がる事が多い。
  • 機能の拡張や業務量の増大に対応したシステムの拡張などが困難である。

分散処理

複数代のコンピュータを接続し、分散して処理させる形態。

Pros

  • 一部の装置が故障しても、障害を局所化できる。
  • 新技術に対応したシステムの拡張が容易である。

Cons

  • システム全体を効率よく運用するための運用管理が複雑になる事が多い。
  • 機器だけでなく処理分散されるので、障害時の原因追求に時間がかかる事が多い。

クライアントサーバシステム

サービスを要求するクライアントと、要求されたサービスを提供するサーバで構成される分散型システム。

ストアドプロシージャ

利用頻度の高い命令群をあらかじめサーバ上に用意しておく事。

シンクライアントシステム(Thin Client)

クライアントは入力、表示などの必要最低限な機能しか持たない形態。

サーバの仮想化

物理的には 1 つのマシン上に、複数の OS をインストールして、それぞれ別の仮想的なサーバとして扱ったり、複数の物理的なマシンを 1 つのサーバとして扱ったりすること。

  • スケールアップ: 1つの仮想サーバに割り当てる CPU やメモリを増やす。
  • スケールアウト: 仮想サーバの台数を増やして処理を分散する。

高信頼化システム

デュプレックスシステム(Duplex System)

2系列のシステムで構成され、1方は現用系としてオンライン処理を行い、もう一方は待機系として故障に備える。 image

コールドスタンバイ

現用系に障害が発生した場合、待機系で実行していた処理を中断し、現用系で実行していたオンライン処理プログラムを起動し切り替えて、処理を続行する。

ホットスタンバイ

現用系に障害が発生した場合、現用系と同じオンライン処理プログラムをあらかじめ起動して待機している予備系のコンピュータを速やかに切り替えて、処理を続行する。

デュアルシステム(dual system)

2系列のシステムで構成され、同時に同じ処理を行い、相互に結果を照合(クロスチェック)する。

image

負荷分散システム

マルチプロセッサシステム

複数の CPU を多重化することによって、一連の処理を分散させ同時かつ独立に処理を進めて全体の処理時間を短縮する。

未結合マルチプロセッサシステム

複数の CPU が主記憶を共有し、単一の OS で制御される。

疎結合マルチプロセッサシステム

CPU ごとに独立した主記憶を持ち、それが独立した OS で制御される。

クラスタシステム

仮想化技術を利用して複数のサーバをまとめて1つのサーバーのように扱うこと。

HA クラスタ(High Availability Cluster)

高信頼化を目的とするもので、負荷分散クラスタとファイルオーバクラスタに大別可能。

負荷分散クラスタ

同じ機能の複数のサーバーを並列で稼働させる。 image

ファイルオーバ型クラスタ

同じ機能の複数のサーバを稼働させルガ、現用系と予備系の二系統に分けて運用し、現用系の異常時に予備系に切り替える。 image

HPC クラスタ(High Performance Computing Cluster)

高性能化を目的とするもので、複数のサーバの演算処理を連携させて高い演算能力を引き出す。

RAID

複数台の磁気ディスク装置を使用し、アクセスの高速化高信頼性を実現する技術。

RAID(Redundant Arrays of Inexpensive Disks)の記録方式

RAID0: データをブロック単位に複数の磁気ディスクに分散して記録する (ストライピング)=> アクセスの高速化 RAID1: 同じデータを同時に別々の磁気ディスクに書き込む(ミラーリング)=> 高信頼性 RAID3: データをバイト単位でストライピングし、1 台をエラー訂正用のパリティ情報記録用として記録する=> アクセスの高速化・高信頼性 RAID5: RAID3 のパリティ情報記録用の磁気ディスクを固定せず、データと同様にパリティ情報もブロック単位に分散してアクセスが特定の磁気ディスクに集中しないようにする=> アクセスの高速化・高信頼性

高信頼化技術

フォールトアボイダンス(Fault Avoidance)

障害が起きないように対策するもの。

フォールトトレランス(Fault Tolerance)

障害が起きてもシステムを動かし続けるための対策。

  • フェールセーフ(fail safe): システムの一部が故障した時にシステム全体に致命的影響を与えないよう、あらかじめ定めた安全な状態に移行します(故障した際は安全重視)。
  • フェールソフト(fail soft): システムの一部が故障した時に機能を低下させてもシステムの運転を継続する(故障した際は継続重視)。
  • フールプルーフ(fool proof): 誤動作が起こりにくいように設計する。
石油ストーブは倒れると火が消える → フェールセーフ
飛行機はエンジンがいくつか止まっても飛べる → フェールソフト
消火器はピンを外さないと出てこない → フールプルーフ

システムの性能評価

MIPS(Million Instructions Per Second)

1秒間に実行される命令回数を百万単位で表したもの。

FLOPS(Floating Operations Per Second)

1秒間に実行される浮動小数点演算の回数。

ベンチマーク

プログラムの実行時間を相対比較することでシステムの性能を評価する。

命令ミックス

よく使用される命令をピックアップしてセットにしたもの。

  • ギブソンミックス: 科学計算でよく使用される。
  • コマーシャルミックス: 会計・実務などの商業部門で使用される。

稼働率

平均故障間隔と平均修理感覚を使用して表すことができる。

平均故障間隔(Mean Time Between Failures)

システムが故障してから、次に故障するまでの平均時間。 平均故障間隔の値が大きいほど、信頼性が高いシステムである。

平均修理時間(Mean Time To Repaire)

システムが故障して修理に要する時間のこと。 平均修理時間の値が小さいほど、保守性が高いシステムである。

稼働率

稼働率は以下の式で求めることができる。

稼働率 = (MTBF + MTTR) / MTBF

直列システムと並列システムの稼働率

直列システムの稼働率

システム A と B が直列で接続されている場合、直列システムが稼働するのは A と B が両方とも稼働している場合。 システム A の稼働率をa、システム B の稼働率をbとすると、直列システムの稼働率は a * b で求める事ができる。

並列システムの稼働率

システム A と B が並列で接続されている場合、並列システムが稼働するのは A と B のどちらかが稼働している場合。 システム A の稼働率をa、システム B の稼働率をbとすると、並列システムの稼働率は1 - (1 - a)(1 - b)で求める事ができる。

(1 - a) = システムAが故障している確率
(1 - b) = システムBが故障している確率
(1 - a)(1 - b) = システムAとBが両方故障している確率
1 - (1 - a)(1 - b) = システムAとBのどちらかが故障している確率

About the author

I am a web-developer based somewhere on earth. I primarily code in TypeScript, Go and Ruby at work. React, RoR and Gin are my go-to Frameworks.