SMP (Symmetric Multi Processing),對稱多處理系統(tǒng)內有許多緊耦合多處理器,在這樣的系統(tǒng)中,所有的CPU共享全部資源,如總線,內存和I/O系統(tǒng)等,操作系統(tǒng)或管理數(shù)據(jù)庫的復本只有一個,這種系統(tǒng)有一個最大的特點就是共享所有資源。多個CPU之間沒有區(qū)別,平等地訪問內存、外設、一個操作系統(tǒng)。操作系統(tǒng)管理著一個隊列,每個處理器依次處理隊列中的進程。如果兩個處理器同時請求訪問一個資源(例如同一段內存地址),由硬件、軟件的鎖機制去解決資源爭用問題。Access to RAM is serialized; this and cache coherency issues causes performance to lag slightly behind the number of additional processors in the system.
所謂對稱多處理器結構,是指服務器中多個 CPU 對稱工作,無主次或從屬關系。各 CPU 共享相同的物理內存,每個 CPU 訪問內存中的任何地址所需時間是相同的,因此 SMP 也被稱為一致存儲器訪問結構 (UMA : Uniform. Memory Access) 。對 SMP 服務器進行擴展的方式包括增加內存、使用更快的 CPU 、增加 CPU 、擴充 I/O( 槽口數(shù)與總線數(shù) ) 以及添加更多的外部設備 ( 通常是磁盤存儲 ) 。
SMP 服務器的主要特征是共享,系統(tǒng)中所有資源 (CPU 、內存、 I/O 等 ) 都是共享的。也正是由于這種特征,導致了 SMP 服務器的主要問題,那就是它的擴展能力非常有限。對于 SMP 服務器而言,每一個共享的環(huán)節(jié)都可能造成 SMP 服務器擴展時的瓶頸,而最受限制的則是內存。由于每個 CPU 必須通過相同的內存總線訪問相同的內存資源,因此隨著 CPU 數(shù)量的增加,內存訪問沖突將迅速增加,最終會造成 CPU 資源的浪費,使 CPU 性能的有效性大大降低。實驗證明, SMP 服務器 CPU 利用率最好的情況是 2 至 4 個 CPU 。