pulpul 日本の試験

応用情報技術者 概念書 · 組込み・コンピュータシステム

CPU性能と待ち行列の評価

コンピュータの性能は、命令数・CPI(1命令当たりのクロック数)・クロック周期の積で決まる。並列処理の高速化や待ち行列による評価では、利用率や待ち時間を式で表して比べる。ここでは性能を求める基本の式と、試験で使われる評価手法を整理する。

CPUの処理時間と命令セット

処理時間は、命令数にCPIとクロック周期を掛けて求まる。同じ命令セットで同じプログラムを実行するならば命令数は共通なので、一命令当たりの時間であるCPIとクロック周期の積で比べられる。クロック周期が1ナノ秒でCPIが4.0のコンピュータは、一命令当たり4ナノ秒を要する。クロック周期が4ナノ秒でCPIが0.5のコンピュータは、一命令当たり2ナノ秒である。よって前者の処理時間は後者の2倍になる。

VLIWは、コンパイル時に同時実行できる複数の動作を一つの長い命令にまとめ、並列に実行する方式である。並列性を決めるのがコンパイラであり、実行時に依存関係を解く仕組みを減らせる点が特徴になる。CISCは複雑な命令を持つ設計、RISCは単純な命令を用いる設計である。MIMDは複数のプロセッサがそれぞれ異なる命令を同時に実行する並列方式であり、命令を一つにまとめる方式とは区別する。

並列処理の高速化と限界

並列化できる割合をrとし、プロセッサの台数をnとすると、高速化率は1を(1−r)+r/nで割った値になる。並列化で速くなるのは並列化可能な部分だけであり、直列に実行する部分が残る限り高速化には上限がある。r=0.9のものとr=0.3のものの高速化率の比が3になるのは、台数が6台のときである。0.7+0.3/nと0.1+0.9/nを比べて解くと、0.4=2.4/nとなりnが6と求まる。

マルチプロセッサの性能Pを、台数nとオーバーヘッドの定数aで表した式では、nをいくら大きくしてもPは一定の値を超えない。nを無限に近づけると、Pは1/aに近づく。aが0.1の場合、Pの上限は10である。台数を増やして得られる効果は、どこかで頭打ちになることを前提に設計を考える必要がある。

待ち行列モデルによる評価

M/M/1の待ち行列では、利用率をρとしたとき、サービス時間を含まない平均待ち時間はρ/(1−ρ)×Tsで表される。二つの支店のATMを一台に統合すると、利用者数が合計になるため到着率は二倍となり、統合後の利用率は2ρになる。このとき平均待ち時間は、分子と分母の両方に2ρを使って2ρ/(1−2ρ)×Tsとなる。分子だけ、または分母だけを置き換えた式は誤りである。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む