ハードウェアセキュリティの最新動向
ある処理は、投機的実行への対策を入れる前に10秒かかり、その間にシステムコールを500万回呼んでいた。対策を入れると、システムコール1回あたりの処理時間が0.4 µsから0.6 µsに増え、それ以外の部分の時間は変わらないとする。処理全体の時間の増加の割合はどれか。
- A約10%
- B約30%
- C約50%
答えと解説を見る
正解:A. 約10%
システムコールにかかる時間は、対策の前は 500万回 × 0.4 µs = 2秒、対策の後は 500万回 × 0.6 µs = 3秒です。増えるのは1秒なので、全体は10秒から11秒になり、増加の割合は 1 ÷ 10 = 10% です。システムコール1回が1.5倍(50%増)に遅くなっても、全体への影響は、その部分が占める時間の割合(ここでは20%)で決まります。このため、KPTIのような対策では、システムコールや割り込みの多いデータベースや入出力の処理ほど、性能の低下が大きくなります。
- A. 正しい。(3 − 2) ÷ 10 = 10% です。
- B. 対策の後のシステムコールの時間の合計(3秒)を、増えた時間と取り違えた値です。
- C. システムコール1回あたりの増加の割合(0.2 ÷ 0.4)で、処理全体の増加の割合ではありません。