「スケーラビリティ」の版間の差分

削除された内容 追加された内容
m編集の要約なし
19行目:
'''スケールアップ'''または'''垂直スケール'''とはシステムの単一の[[ノード]]にリソースを追加することを意味し、[[主記憶装置|メモリ]]を増やす、[[ハードディスクドライブ]]をより高速なものに換える、または[[コンピュータ]]自体を買い換える、などである。'''スケールアウト'''または'''水平スケール'''とはシステムにノードを追加することを意味し、コンピュータを[[コンピュータ・クラスター|クラスタ]]化された[[アプリケーションソフトウェア]]に追加するなどである。
 
システム[[設計]]では処理能力をあげることよりもハードウェアに関するスケーラビリティを高めることに力を入れろとよく言われる。システムのノードを増やして高いパフォーマンスを得るほうが、パフォーマンス・チューニングで個々のノードの処理能力を上げるよりも、大抵は安くつくからである。しかし、この手法ではノード数の増加に伴って利益が鈍化していってしまう。この問題は[[パフォーマンス工学]]で扱われる。例として部分的な[[並列コンピューティング|並列化]]によって高速化が可能なプログラムを仮定する。並列化可能な部分は全体の70%とし、CPUを1個から4個にスケールアウトする。Fを逐次的な部分の割合とすると、(1 - F)が並列化される割合となる。P個のプロセッサを稼動して得られる最大の高速化(倍)は次の式となる。
:<math>\frac{1}{F + \frac{1 - F}{P}}</math>
仮定した数値を代入すると、