跳到內容

通過並行處理實現高吞吐量

擴大系統性能通常需要添加計算機硬件。目標(尤其是使用數據庫之類的共享資源時)的目標是添加可以並行運行的組件(硬件和軟件)。如果將系統分成相互阻塞或互相干擾的部分,則不會獲得任何收益。並行性是關鍵,如果並行單元不妨礙其他單元,則可以提高總吞吐量。
 

這是一種用於硬件和軟件配置的建議體系結構,以在使用RDM數據庫引擎時允許最大並行度。

高通量

 

硬件

建議的體系結構為每個磁盤驅動器包含一個單獨的磁盤控制器。為什麼?因為即使有多個CPU內核在不同的磁盤文件上執行多個獨立的進程,單個磁盤控制器也最終會序列化磁盤訪問,從而造成瓶頸。因此,該計算機是一台多核計算機,每個磁盤控制器/驅動器具有2個核。對於此示例,具有4個控制器/驅動器的8個內核。

軟件

給定此硬件配置,需要為並行操作設計軟件配置。並行軟件操作的必要組成部分是分區的數據庫,這樣每個分區都可以獨立於其他分區進行更新。

 

上圖中的應用程序將在4個不同的“任務”結構中打開4個不同的數據庫,然後基於主鍵確定記錄所屬的數據庫。它將在此處找到它或在其中創建它。閱讀是不同的。在一個“任務”結構中,應使用數據庫聯合功能在一個調用中打開所有4個數據庫,並且應使用MVCC(多版本並發控制)只讀事務在沒有鎖定的情況下進行讀取。

 

還要注意,CPU內核被描繪為好像已分配給應用程序進程,但實際情況是它們通常以SMP的形式運行,因此將安排它們執行可用的進程。在這種情況下,可能全部是4個TFS和最多4個應用程序進程。

 

使用類似於該RDM的體系結構,開發人員可以設計應用程序以利用現代硬件和操作系統。通過在數據引擎中提供支持並行性的功能,RDM允許開發人員創建可以隨所提供的硬件進行擴展的應用程序。

立即嘗試配置