【基本情報技術者試験】RAIDと信頼性設計、システムの性能評価と信頼性評価

基本情報技術者試験

用語

  • RAID:複数の磁気ディスクを組み合わせて1台の仮想的な磁気ディスクとして扱う技術
  • RAID0:複数の磁気ディスクにデータを分散
  • RAID1:ミラーリングをする
  • RAID3:データを分散し、パリティは1台に集約
  • RAID5:データとパリティを分散
  • 各信頼性設計:←押して確認
  • スループット:単位時間当たりに処理される仕事の量
  • ターンアラウンドタイム:システムへの処理要求を始めてから結果の出力が終えるまでの時間
  • レスポンスタイム:システムへの処理要求を終えてから処理結果が出力が始まるまでの時間
  • ベンチマークテスト:標準的なプログラムを実行させ得た数値から処理性能を相対的に評価
  • 命令ミックス:CPUによく使われる様々な種類の命令を組み合わせたもの
  • MIPS:1秒間に何百万回の命令を実行できるかの単位
  • RASIS:←を押して確認、システムの評価特性の5つの頭文字をとっている
  • MTBF:正常に稼働している平均時間
  • MTTR:平均修理時間
  • 稼働時間:正常に稼働している時間の割合

RAID

 複数の磁気ディスクを組み合わせて1台の仮想的な磁気ディスクとして扱う技術のことをRAIDといい、アクセスの高速化や高信頼性を実現することができます。ここでは4種類のRAIDについて説明していきます。また、下記のパリティとは、磁気ディスクが故障した際にデータを修復するための情報のことを指します。

・RAID0:データをブロック単位に複数の磁気ディスクに分散して書き込みます(ストライピング)。また、アクセスを並列に行うことで、読み込み・書き込みの高速化ができます。しかし。冗長性がないことからRAID内の磁気ディスクが1台でも故障した際にはファイルの復旧ができなくなります。

・RAID1:同じデータを複製して、2つの磁気ディスクに書き込みます(ミラーリング)。これにより信頼性が上がりますが、使用効率が低くなります。

・RAID3:データをビット/バイト単位に複数の磁気ディスクに分散して書き込み、1台の磁気ディスクにパリティを書き込みます。これにより、1台が故障しても残ったデータとパリティからデータの復旧が行えるようになります。

・RAID5:データをブロック単位に複数の磁気ディスクに分散して書き込み、複数の磁気ディスクにパリティを分散して書き込みます。これにより、1台が故障しても残ったデータとパリティからデータの復旧が行えます。しかし、パリティを演算することでCPUに負荷がかかってしまいます。

信頼性設計

 信頼性とはシステムが正常に稼働し、サービスを提供し続けられるかの指標であり、ここからはシステムの信頼性を高める設計手法を5つ説明していきます。

  • フォールトアボイダンス:構成要素の信頼性を高め、障害自体が起こらないよう事前に対策を行う設計です。品質の高い構成部品を利用したり、製品に対してテストや検証を行います。
  • フォールトトレランス:構成要素の冗長化することで、障害が起きてしまった場合でも必要な機能は維持する設計です。また、システムが部分的に故障しても必要な機能を維持するシステムのことをフォールトトレラントシステムといいます。
  • フェールセーフ:システムの一部が故障しても、被害を最小限にとどめられるような構造や仕組みを導入する設計です。安全を重視した考え方です。
  • フェールソフト:故障が発生したときに、一部のサービスレベルを低下させても正常な部分だけで稼働を継続する設計です。継続を重視した考え方です。また、システムを部分的に停止させた状態で稼働を継続することを縮退運転といいます。
  • フールプルーフ:ユーザが誤った操作や取り扱いができないような構造や仕組みをシステムに組み込む設計です。誤った操作をしても故障させないという考え方です。

システムの性能評価

 ここからはシステムの性能評価について説明していきます。まず性能を評価する指標について以下のようなものがあります。

  • スループット:単位時間当たりに処理される仕事の量
  • ターンアラウンドタイム:利用者がシステムへの処理要求を始めてから結果の出力が終えるまでの時間
  • レスポンスタイム:利用者がシステムへの処理要求を終えてから処理結果が出力が始まるまでの時間

ベンチマークテスト:標準的なプログラムを実行させて、得られた測定数値から処理性能を相対的に評価する方法のことをベンチマークテストといいます。この中でも、整数演算の性能を測定するSPECintステックイントSPECfpスペックエフピー、磁気ディスクの入出力やDBMSの性能まで評価するTPCベンチマークなど種類があります。

MIPSミップス(Million Instructions Per Second):1秒間に何百万回の命令を実行できるかの単位であり、CPUなどの評価に使われます。

命令ミックス:CPUによく使われる様々な種類の命令を組み合わせたものを命令ミックスといいます。また、それぞれの命令の実行速度と出現率から、どれくらい命令が実行できているのかを算出し、上記で説明したMIPSで表すことでCPUの性能を見ることができます。例として下図を挙げます。下図でいう「命令の種類」の上から計算していくと

4 × 0.3 + 8 × 0.6 + 10 × 0.1 = 7.0

となり1命令につき7クロックかかります。動作クロック周波数を700MHzとして考えると、1秒当たりに実行される命令数は100 × 10の6乗となり、10の6乗で百万ですので100MIPSとなります。

システムの信頼性評価

 システムの評価には、信頼性、可用性、保守性、保全性、安全性があり、合わせてRASISラシスといいます。それぞれについてまとめたものが以下になります。

  • 信頼性(Reliability):正常に稼働していることを示し、指標としてMTBF(後述)が使われる。
  • 可用性(Availability):障害などで停止することなく稼働し続けることを示し、指標として稼働率(後述)が使われる。
  • 保守性(Serviceability):故障のときに容易に修復ができることを示し、指標としてMTTR(後述)が使われる。
  • 保全性(Integrity):情報の一貫性があり、不整合性がないことを示す。
  • 安全性(Security):気密性が高く、情報漏洩や紛失、不正使用を防止することを示す。

MTBF:平均故障間隔のことをMTBF(Mean Time Between Failures)といい、システムが故障してから次に故障するまで、つまり正常に稼働している平均時間のことを指します。MTBFが高いと信頼性が高いといえます。

MTTR:平均修理時間のことをMTTR(Mean Time To Repair)といい、システムが故障して修理にかかる平均時間のことを指します。MTTRが小さいほど、保守性が高いといえます。

稼働率:システムが正常に稼働している時間の割合であり、MTBFとMTTRを使って下記のように求めます。

また、複数システムの稼働率を求める場合について考えましょう。

  • 直列システム:1つのシステムが稼働しなくなると、システム全体が稼働しなくなります。そのため、稼働率は各システムの稼働率を掛けることで求めることができます。システムAとシステムBを直列で接続していて、システムAの稼働率をa、システムBの稼働率をbとすると、a × bがシステム全体の稼働率となります。
  • 並列システム:1つでもシステムが稼働しているとシステム全体で稼働することができます。そのため、稼働率は(1-各システムの故障率を掛けたもの)で求めることができます。上記同様2つのシステムを並列に接続したものを使用したとすると、1 – (1 – a)(1 – b)がシステム全体の稼働率となります。

まとめ

 以上がRAIDと信頼性、システムの性能評価とシステムの信頼性評価について説明したものでした。MTBFやMTTR、稼働率の計算は基本情報技術者試験ではよく出題されます。

コメント

タイトルとURLをコピーしました