マルチプロセッサは、複数のプロセッサで処理を進める構成です。本記事では、複数のCPUパッケージを搭載する構成と、一つのパッケージに複数コアを搭載するマルチコアを区別して説明します。広い意味ではマルチコアもマルチプロセッシングに含まれます。
CPUパッケージ・コア・スレッドの違い
| 単位 | 意味 | 注意点 |
|---|---|---|
| CPUパッケージ | プロセッサを搭載する物理的なパッケージ | 一つに複数のコアを含む場合がある |
| コア | 命令を実行する処理の中核 | コア数とCPUパッケージ数は別 |
| ハードウェアスレッド | OSから論理CPUとして利用される実行の文脈 | 一つのコアで複数を扱う場合もあるが、資源を共有する |
例:CPUパッケージ2個に、それぞれ8コアがある構成なら合計16コアです。各コアが2ハードウェアスレッドを利用可能なら合計32論理CPUになります。2スレッドだから性能が必ず2倍、という意味ではありません。
マルチプロセッサとマルチコアは組み合わせられる
複数のCPUパッケージを載せる構成と、一つのCPUに複数のコアを載せる構成は排他的ではありません。複数パッケージがそれぞれマルチコアであるサーバーも考えられます。問題文がCPU・プロセッサ・コアをどの意味で使うか確認しましょう。
SMPと非対称型を比較
| 方式 | 着目点 |
|---|---|
| SMP(対称型) | 複数のプロセッサ・コアを対等に扱い、OSがスレッドを割り当てる構成 |
| AMP/ASMP(非対称型) | 処理要素ごとに役割や担当を分ける構成。個別のOSなどを動かす場合もある |
OSや製品によって用語・対応範囲に違いがあります。対称・非対称という処理の役割分担と、コアの種類が同じか異なるかは別の観点です。
ホモジニアスとヘテロジニアス
ホモジニアスは同種、ヘテロジニアスは異種の構成を指します。CPUでは、同じ種類のコアを複数使う構成と、性能や消費電力特性が異なるコアなどを組み合わせる構成を区別します。IT環境全体で異なるOS・機器が混在する場合にも使われる言葉です。
効果が出る条件と制約
複数の仕事を同時に実行したり、一つの仕事を分割して処理したりできると、処理能力の向上を期待できます。一方、逐次処理の割合、同期・通信、共有データの競合、メモリ帯域などが制約になります。コア数だけで実行時間は決まりません。
構成の複雑さ、冷却、消費電力、ソフトウェアの対応やライセンスなども検討します。電力はコア数に加え、動作周波数・電圧・負荷・製造技術などで変わります。
確認問題:2パッケージ×6コア×2スレッドなら?
合計12コア、24ハードウェアスレッドです。物理コアが24個あるわけではなく、24倍の速度を保証する数字でもありません。
noteでCPUの性能指標を復習する
構成を区別できたら、CPU・メモリ計算教材でクロック周波数・CPIなどの計算を練習しましょう。個別CPU製品の仕様や、並列処理システムの設計だけを解説する専門教材ではありません。


コメント