資格勉強のメモ2

2022-10-05

はじめに

とにかく覚えたことを書き出してどこまで理解できているのかの確認に使っていこう。どうせアクセス数の少ないブログだ。自由に書けばいい。

プロセッサの高速化技法

色々あるんですね。

CISC(Complex Instruction set Computer)

Intelのx86プロセッサのような汎用コンピュータに使用されている。 複雑な処理も行う高機能な命令セットを持ち1つの命令で高度な計算を行うことで、CPUの命令あたりの処理を向上させる。

RISC(Reduced Instructionm Set Computer)

命令を使用頻度の高い基本的なものに絞り命令長さを固定化することで、各命令の実行速度を高速化する。 CPU実行プロセスレベルで並列処理を行うパイプラインに適している。

プロセッサの処理方式

MIMD(Multiple Instruction Multiple Data)

マルチプロセッサ制御方式の一つ。複数あるプロセッサが個別の命令を並列で実行させることができる。

SISD(single instruction/single data)

単一の命令で単一のデータを処理できる。

類似でSIMDとかがある。

VLIW(Very Long Instruction Word)

コンパイルの段階で、依存関係の無い複数の命令を1つの複合命令として実行し高速化を図る方式。 コンパイラによる最適化を行うため、プロセッサごとに最適なコードを用意する必要がある。

主記憶のブロックに対してキャッシュメモリ割当方式

キャッシュメモリは、CPUとメモリの間に置かれる高速なメモリ装置。 主記憶装置(メモリ)に書き込むときにブロック単位。

ダイレクトマップ方式

ハッシュ演算を行い、キャッシュメモリと主記憶に書き込む位置を決定する。 空いてる場所から詰め込むのではなく、計算結果のいちにデータを格納するためヒット率が下がる。

フルアソシエイティブ方式

任意のキャッシュメモリブロックを主記憶のどの部分にでも割り当てることのできる方式。 キャッシュメモリへの格納位置を決める際に、空いている場所を探してその位置にデータを格納する。

ヒット率は上がるが、探索に時間がかかるため速度面でダイレクマップに劣ります。

セットアソシエイティブ方式

キャッシュを連続したブロックごとにまとめ、そのブロック内ならどこでも格納ができる方式。 ダイレクトマップとフルアソシエイティブ方式中間にあるようなやつ。

アムダールの法則

複数プロセッサを使用しても、並列化できない処理や計算順序が決まっている処理があると並列化ができず速度向上に寄与しないことがわかっている。 並列可能なプロセスの割合と、プロセッサ数、性能向上の比率から割り出したものをアムダールの法則という。 以下の関係式で表す。

$$ E=\frac{1}{ (1-P)+ \frac{P}{N}} $$

$E$ 処理高速化比率 $N$ プロセッサ数 $P$ 並列化可能な割合

ホットスタンバイシステム

障害発生を検知してすぐにバックアップのシステムに切り替える手法。 メインシステムをサブシステムから死活監視を行うことで実現することがポピュラー。 一定時間おきに監視することからハートビートと呼ばれている。

自動車の制御でこの死活監視を実装していたことがあるけど、すぐに停止するとそれはそれで危険なので 路肩などに移動できる分ぐらいの余力は残して死んでいこうって思想だった。 ここはシステムによって色が出るところだとは思う。

システムの信頼性を示す指標(故障や稼働時間)

MTBF(Mean Time Between Failures)

平均故障間隔。どれだけシステムが壊れずに稼働していたかの指標 この稼働時間を伸ばす手法としては下記が挙げられる。

  • 記憶装置のビット誤り補正
  • 命令再試行機能
  • 予防安全(部品交換など)

MTTR(Mean Time To Repair)

平均復旧時間。システムが壊れてから復旧するまでの時間。 短くする手法としては、下記が挙げられる

  • エラーログを残す

稼働率計算問題

よく出てる。

$$ 稼働率=\frac{MTBF}{(MTBF+MTTR)} $$

耐ダンパ性(tamper resistant)

改竄や解析、システム干渉、意図せぬ操作に対する防御力を示す。

主な対策としては下記がある。

  • HSM(Hardware Security Module)などチップに暗号鍵や暗号アルゴリズム、専用のメモリ領域などがセットになった専用のチップがある。
  • 分解などによるリバースエンジニアリングを試みた際に破壊する
  • 電波傍受による盗聴を防ぐため、金属の箱に格納するなど

CAP定理(ブリュワーの定理)

クラウドアプリの分散環境において設計と展開に関するシステム要件の関係性を示した定理。

  • Consistency(整合性)
  • Availability(可用性)
  • Partition-tolerance(分断耐性)

これらの要件は同時に全て満たすことができないことを示唆している。

UIのユーザビリティ評価に関する

  • アンケート インタビューなどで質問して調査を実施する

  • 回願法 利用者にタスクを実行させたあと、考えていることを発話してもらいながら問題点を記録する方法

  • 思考発話法 利用者にタスクを実行し考えていることを発話してもらいながら問題点を記録する方法

  • ヒューリスティック評価法 経験則に基づく基準によって専門家が評価する方法

  • 認知的ウォークスルー法 専門家が利用者になったつもりでタスクを実行し、問題点を指摘する

まとめ

怪しいところはとにかく書き出して後で読み返すということをやってみよう。 ブログの更新頻度を上げるという目的も達成できる。