ワークロード (Work load) とは、計算機資源の利用状況を示す抽象的な指標である。UNIXオペレーティングシステムでは、ワークロードの指標に長くロードアベレージという統計値を採用していた。これは当時、計算機資源に対して要求される資源が大きく、実行中とスケジューラの実行待ち状態にあるプロセスの数を数える事で、ワークロードを推し量る事ができた。しかしながらロードアベレージは正確にはワークロードを示している訳ではない。実行待ちにある理由がページフォールトによる物である可能性もあれば、Linux等であれば単にI/O待ちをしている可能性もある。ロードアベレージはシステムがどれだけのワークロードを持っているかを知る事は出来るが、個々のワークロードの軽重を示す指標にはならない。当時の技術水準では、その違いは実際の所どうでも良かった。アウトプットを得るのにかかる所要時間はシステム全体の負荷であるロードアベレージで一意に判断できたからである。しかしマイクロプロセッサの性能が向上し、またI/Oサブシステムのインテリジェント化、なにより計算機資源に対して要求される資源が下回る様になってからは、ロードアベレージでワークロードを正確に推し測る事が出来ない事をシステムエンジニアは認識するようになった。それからは、後述のCPU利用率によってワークロードを見積もるようになった。CPU負荷率、CPU効率ともいわれる。ある一定時間、アイドル時間を消費する為だけのアイドルプロセスと、そうではないプロセスの実行時間の比率である。Windows等ではタスクマネージャでこの数値を観察する事ができる(UNIXではtopプログラムがよく使われる)。この数値には、CPUが計算機資源として提供した能力を正確に示し、その数値にはI/Oサブシステムによって消費された時間は指標から外されている。計算機資源に対して要求される資源が下回った現在では、ワークロード、しかも実行しているプログラムがCPU資源をいかに効率的に使っているかを推し量る指標として使われる。CPU利用率はそのコンピューターシステムに対する投資に対する実績そのものだからである。例えば、I/Oサブシステムにアクセスしている間に他の処理を並列して進めるマルチスレッドプログラミングは計算機資源の利用効率を高め、その実績がCPU利用率として反映される。逆をいえば効率の悪いプログラムはCPU利用率の成績が悪く、設計を改めなければならない対象となる。今日マルチプロセッサシステムが当たり前となった時代では、並列性が乏しいソフトウエア設計は投資を無駄にする事が多い。ロードアベレージが1を示し、プロセッサに対して見掛け上の要求した資源が100%であったとしても、CPU利用率ではプロセッサの数で割った値しか示さず、例えばデュアルコアプロセッサでは50%が無駄になってしまう事が良く観察される。これらの問題に対する解決策として、同時に多数のプロセスを実行し、無駄な時間を埋め尽くすという戦略もある。これはトランザクションベースのアプリケーション(例えばウエブサーバ等)などでは有効な戦略であろう。またこのような使い方に特化したプロセッサ(例えばSunのナイアガラアーキテクチャ)等もある。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。