# 強スケーリングと弱スケーリング Navigation: [[../index|index]] | [[../overview|overview]] ## 定義 並列アプリケーションをノード数(プロセッサ数)を増やして動かすときの、問題サイズの取り方による 2 つの極限である。 - **弱スケーリング**: ノード数が増えても、ノードあたりの局所データ量(局所体積)をおおむね一定に保つ。問題全体はノード数に比例して大きくなる。 - **強スケーリング**: 問題全体の大きさを固定し、ノード数を増やすほど各ノードの局所体積を小さくする。 実際のアプリケーションはこの 2 つの極限の中間に位置する。Blue Gene/L の設計者は、国立研究所のアプリケーションは弱スケーリング側に、商用の HPC アプリケーションは強スケーリング側に寄ると述べる。(Source: [[@2005__IBM JRD__Overview of the Blue Gene/L system architecture]]) ## 拡張性を制限する要因 同論文の表 1 は、両スケーリングで拡張性を制限し得る要因を次のように整理する。 - 共通: [[アムダールの法則]](逐次部分)、負荷不均衡、大域通信、メモリフットプリント、ファイル I/O。 - 強スケーリングに固有: 表面対体積比の通信支配、小メッセージ。 - 弱スケーリングに固有: 問題分割の限界。 強スケーリングでは局所体積が縮むため、計算量は体積に比例し通信量は表面に比例することから、通信対計算の比が上がる。全対全型の通信では、ノード数を 2 倍にすると各ノードが送るメッセージ数は 2 倍、各メッセージの大きさは 1/4 になり、総量はほぼ変わらない。このため小メッセージと大域通信への対処が拡張性の鍵になる。(Source: [[@2005__IBM JRD__Overview of the Blue Gene/L system architecture]]) ## 未解決の問い - 調査した限りの表 1 は 2005 年時点の HPC アプリケーションの調査に基づく。GPU 上の大規模モデル学習など、近年のワークロードでどちらの限界が支配的かは本ページの範囲では未確認である。 ## 未編纂の観察 - [弱スケーリングの速度向上指標] 弱スケーリング側の速度向上は、並列機上の時間を 1 に固定し並列部分を N 倍に拡大する拡大速度向上 N + (1 - N)×s で測られる。この指標を提示したのが Gustafson である。(Source: [[@1988__CACM__Reevaluating Amdahl's law]]) ## 関連 - 概念: [[アムダールの法則]] / [[スーパーコンピュータ]] / [[相互結合網]] / [[グスタフソンの法則]] - ソース: [[@2005__IBM JRD__Overview of the Blue Gene/L system architecture]] / [[@1988__CACM__Reevaluating Amdahl's law]] ## 出典 - [[@2005__IBM JRD__Overview of the Blue Gene/L system architecture]](表 1 と「Limits to scalability」節)