處理器配置
本節包含專用處理器邏輯分割區與共用處理器邏輯分割區的處理器配置準則。
與執行巨大訊框 (MTU 9000) 的乙太網路相比,執行大小為 1500 個位元組的 MTU 的乙太網路會耗用較多的處理器週期,所以每一個狀況的準則都不同。 通常,巨大訊框上大型封包工作量的處理器使用率,大約是 MTU 1500 所需要的一般。
如果 MTU 設為 1500,則為每個十億位元乙太網路配接卡提供一個處理器 (1.65 Ghz),以協助達到最大頻寬。 如果您是使用較小的網路,這等於十個 100-Mb 乙太網路配接卡。 針對較小的交易工作量,計劃使用一個完整處理器,讓十億位元乙太網路工作量達到最大傳輸量。 比方說,如果將要使用 2 個十億位元乙太網路配接卡,則為邏輯分割區配置兩個處理器。
如果 MTU 設為 9000(巨大訊框),則為每個十億位元乙太網路配接卡提供一個處理器 (1.65 Ghz) 的 50%,以達到最大頻寬。 小型封包工作量必須計劃使用一個完整處理器,來驅動十億位元乙太網路工作量。 巨大訊框對小型封包工作量情況沒有影響。
使用專用處理器邏輯分割區的 共用乙太網路配接卡
提供的大小劃分為兩種工作量類型:TCP 串流與 TCP 要求及回應。 MTU 1500 與 MTU 9000 網路都用於設定大小,這是以每個串流傳輸量位元組的機器週期數,或者每個要求/回應工作量交易的機器週期數表示。
下表中的資料是使用下列公式衍生的:
(處理器數 × 處理器使用率 × 處理器時鐘頻率) / 每秒傳輸率(以位元組為單位)或每秒交易數 = 每個位元組或交易的週期數。
為了進行此測試,這些數字是在具有一個 1.65 Ghz 處理器,且已啟用同時多執行緒作業 (SMT) 的邏輯分割區上測得。
針對其他處理器頻率,可以由處理器頻率的比例來調整這些表格中的數字,以作為要設定大小所使用的估計值。 例如,針對 1.5 Ghz 處理器速度,使用 1.65/1.5 × 表格中每個位元組的週期數。 此範例將產生表格中值 1.1 倍的值,因此還需要另外 10% 的週期,來調整 1.5 Ghz 處理器的 10% 較緩慢時鐘速率。
若要使用這些值,請將必要的傳輸率(以位元組或交易數為單位)乘以下表中每個位元組值的週期數。 此結果將為您提供 1.65 Ghz 速度工作量的必要機器週期數。 然後,以實際機器速度與這個 1.65 Ghz 速度的比例調整這個值。 若要得到處理器的數目,請將結果除以 1,650,000,000 個週期(或者週期率,如果您已調整為不同速度的機器)。 您將需要算出的處理器數目,以驅動工作量。
例如,如果 Virtual I/O Server 必須遞送 200 MB 串流傳輸量,則會使用下列公式:
200 × 1024 × 1024 × 11.2 = 2,348,810,240 個週期 / 每個處理器 1,650,000,000 個週期 = 1.42 處理器。
在整數中,它將需要 Virtual I/O Server 中的 1.5 個處理器來處理此工作量。 然後,可以由邏輯分割區使用兩個專用的處理器,或者由邏輯分割區使用 1.5 處理器的共用處理器,來處理這種工作量。
下表顯示 TCP 串流工作量的每個位元組機器週期數。
| 串流類型 | MTU 1500 速率及處理器使用率 | MTU 1500,每個位元組的週期數 | MTU 9000 速率及處理器使用率 | MTU 9000,每個位元組的週期數 |
|---|---|---|---|---|
| 單形法 | 112.8 MB,80.6% 的處理器 | 11.2 | 117.8 MB,37.7% 的處理器 | 5 |
| 雙工 | 162.2 MB,88.8% 的處理器 | 8.6 | 217 MB,52.5% 的處理器 | 3.8 |
| 串流類型 | MTU 1500 速率及處理器使用率 | MTU 1500,每個位元組的週期數 | MTU 9000 速率及處理器使用率 | MTU 9000,每個位元組的週期數 |
|---|---|---|---|---|
| 單形法 | 112.8 MB,66.4% 的處理器 | 9.3 | 117.8 MB,26.7% 的處理器 | 3.6 |
| 雙工 | 161.6 MB,76.4% 的處理器 | 7.4 | 216.8 MB,39.6% 的處理器 | 2.9 |
下表顯示要求及回應工作量的每筆交易機器週期數。 交易是定義為來回要求及回應大小。
| 交易的大小 | 每秒交易數及 Virtual I/O Server 使用率 | MTU 1500 或 9000,每筆交易的週期數 |
|---|---|---|
| 小型封包(64 個位元組) | 59,722 TPS,83.4% 的處理器 | 23,022 |
| 大型封包(1024 個位元組) | 51,956 TPS,80% 的處理器 | 25,406 |
| 交易的大小 | 每秒交易數及 Virtual I/O Server 使用率 | MTU 1500 或 9000,每筆交易的週期數 |
|---|---|---|
| 小型封包(64 個位元組) | 60,249 TPS,65.6% 的處理器 | 17,956 |
| 大型封包(1024 個位元組) | 53,104 TPS,65% 的處理器 | 20,196 |
上表示範共用乙太網路的執行緒作業選項,針對 MTU 1500 串流,每筆交易再新增大約 16% - 20% 機器週期;針對 MTU 9000,每筆交易再新增大約 31% - 38% 機器週期。 因為已針對每一個封包啟動執行緒,所以執行緒作業選項會以較少的工作量,對每筆交易新增更多的機器週期。 工作量比率(例如,全雙工或要求及回應工作量)較高時,執行緒可以執行較長時間,而不會等待或重新分派。 您可以使用 Virtual I/O Server 指令來配置每一個共用乙太網路配接卡的執行緒選項。 如果共用乙太網路單獨在 Virtual I/O Server 邏輯分割區中執行 (在相同邏輯分割區中沒有虛擬「小型電腦序列介面 (SCSI)」) ,請停用執行緒選項。
您可以使用 mkvdev 指令的 -attr thread 選項來啟用或停用執行緒作業。 若要啟用執行緒作業,請使用 -attr thread=1 選項。 若要停用執行緒作業,請使用 -attr thread=0 選項。 例如,下列指令會停用 共用乙太網路配接卡 ent1的執行緒作業:
mkvdev -sea ent1 -vadapter ent5 -default ent5 -defaultid 1 -attr thread=0調整共用處理器邏輯分割區上共用乙太網路的 Virtual I/O Server 大小
如果 Virtual I/O Server 正在執行速度較慢的網路 (例如 10/100 Mb) ,且不需要完整處理器邏輯分割區,則可以為 Virtual I/O Server 建立共用處理器邏輯分割區。 建議僅在 Virtual I/O Server 工作量小於半個處理器或工作量不一致時才執行此動作。 將 Virtual I/O Server 邏輯分割區配置為不受限也可能容許它在需要時使用更多處理器週期,以處理不一致的傳輸量。 例如,如果僅在其他處理器閒置時才使用網路,則 Virtual I/O Server 邏輯分割區可能可以使用其他機器週期,並且可以使用最小處理器來建立,以在白天處理輕量型工作量,但不受限處理器可能在晚上使用更多機器週期。
如果您要在共用處理器邏輯分割區中建立 Virtual I/O Server ,請新增其他授權處理器作為調整大小應急。