密結合マルチプロセッサ【TCMP】Tightly Coupled Multi-Processor
概要

単一のコンピュータシステムを複数のCPUで構成する手法を「マルチプロセッサ」(multiprocessor)という。密結合方式では同一の主基盤や筐体に複数のCPUを実装し、電子回路のレベルで緊密に統合されている。各CPUはメインメモリを共有し、単一のOSがすべてのCPUを対等に扱いながらスケジューリングを行い、実行単位を各プロセッサへ分配する。一つの処理を細かく分割して複数のプロセッサに分散させることが可能になる。
このような統合を実現するには、各プロセッサが持つキャッシュメモリとメインメモリの間でデータの整合性を保つ「キャッシュコヒーレンシ」制御が不可欠であり、MESI方式などのプロトコルによって各キャッシュの状態が同期される。すべてのCPUが同等の権限でメモリとI/Oにアクセスする「対称型マルチプロセッシング」(SMP:Symmetric Multiprocessing)は、密結合方式の代表的な実装形態である。
一方、すべてのプロセッサが同一のメインメモリへ同時にアクセスしようとすると、メモリバスの帯域幅がボトルネックとなり、プロセッサの台数を増やしても性能が期待通りに向上しなくなる課題がある。キャッシュの同期制御も複雑になるため、数台から数十台程度の構成で利用されることが多い。一つのCPUに複数のCPUコアを集積した「マルチコアプロセッサ」も、密結合方式が微細なチップ構造として実装されたものとみなすことができる。
これに対し、各CPUがそれぞれ固有のメインメモリとOSインスタンスを持ち、ネットワークなどを介して通信を行う構成は「疎結合マルチプロセッサ」(LCMP:Loosely Coupled Multi-Processor)と呼ばれる。密結合と疎結合の特徴を組み合わせ、CPUごとに固有のメモリを配置しつつ全体として一つのメモリ空間を共有し、アクセスするメモリの物理的な距離によって速度が異なる構成は「NUMA」(Non-Uniform Memory Access)と呼ばれ、大規模なサーバなどで採用されている。