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