SMP (Symmetric Multi-Processing)
対称型マルチプロセッシング
SMPとは
SMPは、共有メモリ型マルチプロセッシング(shared-memory multiprocessing)または対称型マルチプロセッシング(symmetric multiprocessing)の略称です。同一仕様のCPUを2基以上搭載し、それらが同じ主記憶を共有するとともに、すべての入出力デバイスへ均等にアクセスできるマルチプロセッサアーキテクチャを指します。各CPUはCPU間を区別しない単一のOSによって制御されます。各CPUが複数のコアを持つ場合、SMPアーキテクチャでは個々のコアを独立したCPUとして扱います。
現在のマルチプロセッサシステムの多くは、最適なパフォーマンスを実現するために何らかのSMPアーキテクチャを採用しています。SMPでは、主記憶に格納された任意のタスクをどのCPUでも処理できるためです。SMPシステムはタスクを複数のプロセッサに割り当てることで、コンピューティングリソースを最大限に活用し、より効果的に負荷を分散できます。また、少数のプロセッサで大規模なデータ計算や分析を完了する必要があるアプリケーションにも適しています。
現在のマルチプロセッサシステムの多くは、最適なパフォーマンスを実現するために何らかのSMPアーキテクチャを採用しています。SMPでは、主記憶に格納された任意のタスクをどのCPUでも処理できるためです。SMPシステムはタスクを複数のプロセッサに割り当てることで、コンピューティングリソースを最大限に活用し、より効果的に負荷を分散できます。また、少数のプロセッサで大規模なデータ計算や分析を完了する必要があるアプリケーションにも適しています。
SMPが必要な理由
SMPのメリットとしては、システムアーキテクチャがシンプルで管理しやすいこと、コスト効率よくスループットを向上できること、並列コンピューティングプログラムを容易にコンパイルできることが挙げられます。一方で、スケーラビリティが低い、拡張コストが高いといった課題もあります。また、SMPアーキテクチャの性能を最大限に引き出すには、OSとソフトウェアプログラムを最適化する必要があります。
このため、SMPアーキテクチャはパーソナルコンピュータではあまり採用されませんが、マルチタスクや複数プログラムの同時実行が求められるサーバーシステムでは広く利用されています。サーバーで複数のプログラムを同時に実行する場合、SMPアーキテクチャは単一プロセッサ搭載システムよりも一貫して高いパフォーマンスを発揮します。スケーラビリティの課題は、多くの場合、革新的なサーバー設計によって緩和できます。
このため、SMPアーキテクチャはパーソナルコンピュータではあまり採用されませんが、マルチタスクや複数プログラムの同時実行が求められるサーバーシステムでは広く利用されています。サーバーで複数のプログラムを同時に実行する場合、SMPアーキテクチャは単一プロセッサ搭載システムよりも一貫して高いパフォーマンスを発揮します。スケーラビリティの課題は、多くの場合、革新的なサーバー設計によって緩和できます。
GIGABYTEはどのように役立ちますか?
複数のCPUを搭載するGIGABYTEのサーバーソリューションでは、その多くでSMPアーキテクチャを採用しています。例えば、ラックサーバーRシリーズのR282-Z9Gは、AMD EPYC™ 7003シリーズプロセッサーを2基搭載しています。HPCやデータ分析の用途において、CPU間、さらにはCPUとGPUアクセラレータ間の高速通信を実現する、非常に高いスループットを提供します。R292-4S1もその一例です。第3世代Intel® Xeon® スケーラブル・プロセッサーを4基搭載し、高い柔軟性によってスケーラビリティの課題を効果的に軽減します。クラウドコンピューティングやエッジコンピューティングにおけるサーバーワークロードに適しています。