存儲技術(shù)基礎(chǔ)章-課件7_第1頁
存儲技術(shù)基礎(chǔ)章-課件7_第2頁
存儲技術(shù)基礎(chǔ)章-課件7_第3頁
存儲技術(shù)基礎(chǔ)章-課件7_第4頁
存儲技術(shù)基礎(chǔ)章-課件7_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第七章并行處理系統(tǒng)中的存儲設(shè)計7.1并行處理系統(tǒng)及其存儲設(shè)計

7.2數(shù)據(jù)一致性協(xié)議

7.3機群及其存儲系統(tǒng)

7.4非均勻存儲器存取

7.5存儲系統(tǒng)性能分析

小結(jié)

7.1并行處理系統(tǒng)及其存儲設(shè)計

7.1.1并行處理系統(tǒng)分類

對于并行處理系統(tǒng)的分類,最廣泛使用的是根據(jù)計算機系統(tǒng)中數(shù)據(jù)流和指令流的多倍性將計算機系統(tǒng)分為四類,其結(jié)構(gòu)圖如圖7.1所示。具體如下。

1.單指令單數(shù)據(jù)流(SingleInstructionSingleData,SISD)計算機系統(tǒng)

在SISD計算機系統(tǒng)中,單一處理器執(zhí)行單一的指令流以實現(xiàn)對保存在單一可訪問存儲器內(nèi)的數(shù)據(jù)操作。SISD計算機典型的例子就是單處理器系統(tǒng),在這種計算機系統(tǒng)中沒有并行處理方式。圖7.1計算機系統(tǒng)的四類結(jié)構(gòu)圖

2.單指令多數(shù)據(jù)流(SingleInstructionMultipleData,SIMD)計算機系統(tǒng)

在SIMD計算機系統(tǒng)中,單一指令可以同步控制多個處理部件,每個處理部件都有一個相關(guān)的數(shù)據(jù)存儲器,所以一條指令可以在不同的數(shù)據(jù)組上完成相同的操作。SIMD計算機典型的例子就是向量、陣列處理機。

3.多指令單數(shù)據(jù)流(MultipleInstructionsSingleData,MISD)計算機系統(tǒng)

MISD計算機系統(tǒng)可以實現(xiàn)對順序數(shù)據(jù)進(jìn)行多個處理器的操作。每個處理器執(zhí)行不同的指令序列。在實際系統(tǒng)中還沒有完全的MISD計算機出現(xiàn)。

4.多指令多數(shù)據(jù)流(MultipleInstructionsMultipleData,MIMD)計算機系統(tǒng)

在MIMD計算機系統(tǒng)中,多個處理器并行處理完成不同的指令序列,對不同的數(shù)據(jù)進(jìn)行加工操作。MIMD計算機實際上就是多處理器并行系統(tǒng),上面給出的SMP、機群系統(tǒng)和NUMA系統(tǒng)均屬此列。在MIMD組織下,各個處理器是通用的,每個處理器都能處理所有完成相應(yīng)數(shù)據(jù)運算的指令。MIMD系統(tǒng)還可以按照各處理器的通信方式進(jìn)一步進(jìn)行劃分,如果各處理器共享一個存儲器,則每個處理器存取共享存儲器中的程序和數(shù)據(jù),并經(jīng)由此存儲器相互通信。這種結(jié)構(gòu)的系統(tǒng)最普遍的形式就是SMP系統(tǒng)。SMP通過共享總線或其他方式互連實現(xiàn)多個處理器共享單一存儲器或存儲器組。在SMP存儲系統(tǒng)中,存儲器接口性能對各個處理單元基本上相同,也就是說,對共享存儲的獲取時間各個處理單元基本一致。一群獨立的處理機或SMP可以由各計算機之間通信鏈路或其他固定路徑,甚至是網(wǎng)絡(luò)設(shè)備進(jìn)行互連,從而形成機群系統(tǒng)。NUMA系統(tǒng)則對其內(nèi)部的存儲器實現(xiàn)了不同速度的讀/寫,使得存取時間與處理單元訪問的位置相關(guān)。7.1.2對稱多處理機及存儲設(shè)計

1.?SMP系統(tǒng)的定義

SMP系統(tǒng)可以定義為具有如下特征的獨立計算機系統(tǒng)。

(1)有兩個或以上多功能相似的處理器。

(2)這些處理器共享同一主存和I/O設(shè)備,以總線或其他內(nèi)部連接機制互連,其存儲器讀寫時間對每個單獨處理器基本相同。

(3)所有處理器共享對輸入/輸出設(shè)備的訪問,或通過同一通道,或通過提供到同一設(shè)備路徑的不同通道。

(4)所有處理器可以完成同樣的功能(即對稱的含義)。

(5)系統(tǒng)由一個集中式操作系統(tǒng)控制,操作系統(tǒng)提供每個處理器及程序間的作業(yè)級、任務(wù)級、文件級和數(shù)據(jù)元素級的交互。

SMP系統(tǒng)中個別數(shù)據(jù)元素能成為交互級別,于是處理器間能夠高度地相互協(xié)作。SMP操作系統(tǒng)可以跨越所有處理器來調(diào)度進(jìn)程或線程。

2.?SMP系統(tǒng)的特征

SMP具有如下潛在特點:

(1)性能。如果可以將單一計算機完成的工作重新組織,使得某些工作部分能夠并行完成,則SMP系統(tǒng)與具有同樣類型的單處理器的系統(tǒng)相比,其性能將得到極大提升。由圖7.2可見,在多處理器多進(jìn)程情況下,4個進(jìn)程完成的時間將比單處理器多進(jìn)程提前,說明性能得到了明顯提高。圖7.2多處理器SMP系統(tǒng)性能提高示例

(2)可用性。在一個對稱多處理器系統(tǒng)中,所有處理器都能完成同樣的功能,故單處理器引起的故障不會導(dǎo)致整個系統(tǒng)的停機,系統(tǒng)會在性能降低情況下繼續(xù)運行。

(3)增量式增長。用戶可以通過在系統(tǒng)中添加處理器的方式提高系統(tǒng)性能。

(4)可擴展性。SMP系統(tǒng)可以實現(xiàn)配置不同功能,因而具有不同的價格和性能。

(5)透明性。多個處理器的存在對用戶完全透明,由操作系統(tǒng)實現(xiàn)各個處理器上進(jìn)程或線程的調(diào)度,以及多處理器間的同步。圖7.3所示為SMP系統(tǒng)基本組織結(jié)構(gòu)。由圖中可見,SMP系統(tǒng)具有兩個或兩個以上的處理器,每個處理器是自我包含的,即包括有控制器、ALU、寄存器等,如果可能,處理器可以具有Cache。通過某種形式的互連機構(gòu),每個處理器可以訪問共享的主存系統(tǒng)和輸入/輸出設(shè)備,各處理器之間通過存儲器(位于公共數(shù)據(jù)區(qū)中的消息或狀態(tài)信息)能相互通信,處理器間也可以通過直接交換信號進(jìn)行通信。存儲器經(jīng)常組織為允許對存儲器各個塊進(jìn)行多重同時存取。有些情況下,處理器除了共享資源外,還允許具有專用主存儲器和I/O通道。圖7.3SMP系統(tǒng)基本組織結(jié)構(gòu)

3.?SMP系統(tǒng)的分類

一般,SMP系統(tǒng)可以分為分時共享或公共總線型、多端口存儲器型、中央控制單元型三種。下面簡單地對每種SMP系統(tǒng)進(jìn)行說明。

1)分時共享總線

圖7.4給出了分時共享總線的SMP基本結(jié)構(gòu)。這是一種最簡單的SMP系統(tǒng),其結(jié)構(gòu)和界面基本上與使用總線互連的單處理器系統(tǒng)一致??偩€由控制、地址和數(shù)據(jù)線組成。為方便來自I/O處理器的DMA傳送,分時共享總線SMP系統(tǒng)應(yīng)具有如下特征:

(1)尋址。必須能區(qū)別總線上各個模塊,以確定數(shù)據(jù)的源和目的。

(2)仲裁。任何I/O模塊都能臨時具備主控制器(Master)功能。并具有對總線控制的競爭請求進(jìn)行仲裁的機制。

(3)分時共享。當(dāng)一個模塊正在控制總線時,其他模塊是被鎖定的,而且還可以掛起相應(yīng)操作直到當(dāng)前的總線訪問完成。圖7.4分時共享總線的SMP系統(tǒng)總線組織方式通常具有如下的幾方面優(yōu)點:

(1)簡易性。分時共享總線SMP是多處理機系統(tǒng)組成的最簡單方式,物理接口以及每個處理器的尋址、仲裁和分時邏輯保持與單處理器系統(tǒng)一致。

(2)靈活性。可通過附加處理器到總線的方法擴充系統(tǒng)。

(3)可靠性??偩€上任何設(shè)備的故障不會引起整個SMP系統(tǒng)的失敗。

但是總線組織也有缺點,主要體現(xiàn)在其性能方面。當(dāng)所有存儲器訪問都要經(jīng)過公共總線時,系統(tǒng)速度將受限于總線周期時間。

2)多端口存儲器

圖7.5給出了多端口存儲器構(gòu)成的SMP系統(tǒng),采用多端口存儲器可以實現(xiàn)多個處理器和I/O設(shè)備直接、獨立訪問主存儲器模塊。多端口存儲器主要用于解決存儲器相關(guān)邏輯的沖突等問題。多端口存儲器通常的使用方法是按照優(yōu)先級方式實現(xiàn)每個端口的訪問,而多端口存儲器的每一個單獨端口從物理和電氣接口方面都與普通單端口存儲器一致。這就使得處理器或I/O模塊幾乎不需要進(jìn)行修改就能適應(yīng)多端口方式工作。圖7.5多端口存儲器的SMP系統(tǒng)

3)中央控制單元SMP系統(tǒng)

在中央控制單元型SMP系統(tǒng)中,各獨立模塊包括處理器、存儲器,I/O之間的數(shù)據(jù)流均匯集到中央控制單元,由中央控制單元實現(xiàn)各種請求的緩沖、仲裁和定時功能。中央控制單元還可以在處理器間實現(xiàn)狀態(tài)和控制消息的傳送,如Cache修改的通知工作。這種SMP系統(tǒng)中處理器、存儲器和I/O設(shè)備接口可以保持不變,使系統(tǒng)具有靈活性和簡易性特點。但是,其控制單元也會變得非常復(fù)雜,其速度有可能成為潛在的瓶頸?,F(xiàn)實中,IBMS/370系列中大部分都采用中央控制單元型結(jié)構(gòu)。

4.?SMP系統(tǒng)示例

在介紹了SMP系統(tǒng)的三種基本類型后,接下來給出IBMS/390大型機實現(xiàn)SMP系統(tǒng)方式,從而對SMP有一個具體認(rèn)識。圖7.6是IBMS/390SMP系統(tǒng)組織結(jié)構(gòu)。這種SMP系統(tǒng)具有較強的伸縮性,既可以由帶一個主存卡的單處理器構(gòu)成,也可以由10個處理器和4個主存卡構(gòu)成。IBMS/390SMP系統(tǒng)的主要構(gòu)成部件如下:

(1)處理器單元(PU)。

(2)?L2Cache。

(3)總線交互式網(wǎng)絡(luò)適配器(BusSwitchingNetworkAdapter,BSN)。

(4)存儲器卡。圖7.6IBMS/390SMP系統(tǒng)結(jié)構(gòu)對于IBMS/390SMP系統(tǒng)而言,交互式連接方式、共享L2Cache和L3Cache是其顯著特點,下面將逐一進(jìn)行介紹。

1)交互式連接方式

在以PC機和工作站構(gòu)成的SMP系統(tǒng)中,往往采用單一共享總線的方式進(jìn)行互連,使得總線成為整個SMP系統(tǒng)速度和擴展的瓶頸。在IBMS/390組成的SMP系統(tǒng)中,采用了兩種方式處理上述問題。第一,主存被分成4個部分(卡),每個部分都有能以高速處理方式進(jìn)行存儲器操作的控制器。這樣可以將主存的平均負(fù)荷通過4個獨立的路徑分布到4個獨立的部分中。第二,從處理器(L2Cache)到單個存儲器卡的連接采用點對點的鏈路,每個鏈路將一組3個處理器經(jīng)一個L2Cache連接到一個BSN。BSN起到開關(guān)作用,對鏈接到自己的5個鏈路(4個來自L2Cache,1個來自主存卡)實現(xiàn)數(shù)據(jù)的路由選擇。其中4個L2Cache物理鏈路被連接到一個邏輯數(shù)據(jù)總線。這樣就可以實現(xiàn)某一個L2Cache的修改直接通過邏輯數(shù)據(jù)總線通知其他三個L2Cache。從圖7.6可見,雖然具有4個分立的存儲器,但是每個PU和L2Cache在主存方向僅有2個物理端口。每個L2Cache僅高速緩存來自一半主存的數(shù)據(jù),需要一對L2Cache實現(xiàn)所有主存的緩存,這樣每個PU則需要與一對L2Cache相連接。

2)共享L2Cache

IBMS/390SMP系統(tǒng)中采用2級Cache策略,每個處理器有專用的L1Cache和專用的L2Cache。在早期的第三代S/390SMP系統(tǒng)中,IBM使用專用的L2Cache,但在以后的版本中則使用共享的L2Cache。使用共享L2Cache主要出于以下兩方面的考慮:

(1)隨著處理器速度的不斷提升,為了能夠盡量使用第三代部件則必須提升總線的帶寬,而采用共享L2Cache能夠達(dá)到這樣的目的。

(2)從工作負(fù)載分析看出,處理器之間存在大量共享的指令和數(shù)據(jù)為共享L2Cache提供環(huán)境。處理器間共享L2Cache的方式是可以提高系統(tǒng)性能,但是會要求完全重新設(shè)計現(xiàn)有的系統(tǒng)總線組織。從實際的性能分析中可見,每個BSN總線上進(jìn)行Cache共享,能夠降低總線的流通量并得到共享Cache的優(yōu)點。單從Cache命中率而言,共享方式較專有方式明顯提高命中率。

3)?L3Cache

L3Cache也是IBMS/390系統(tǒng)的重要特點。L3Cache位于BSN內(nèi),它提供了L2Cache與存儲器卡間的緩沖。當(dāng)數(shù)據(jù)不在目的處理器L1Cache和L2Cache時,L3Cache的出現(xiàn)大大減少了數(shù)據(jù)等待時間。如果所要求的Cache行數(shù)據(jù)正由其他處理器共享,但是近期沒有被請求處理器使用過,L3Cache則能夠以比主存更快速提供所要求的數(shù)據(jù)。表7.1給出了典型SMP系統(tǒng)的性能指標(biāo)情況,其中存取代價是指由數(shù)據(jù)請求到Cache層次至最早返回16字節(jié)數(shù)據(jù)塊間的等待時間。表7.1IBMS/390SMP系統(tǒng)配置參數(shù)指標(biāo)

7.2數(shù)據(jù)一致性協(xié)議

7.2.1Cache一致性協(xié)議的軟件方法

軟件解決Cache一致性問題主要依賴于編譯程序和操作系統(tǒng)實現(xiàn)并避免附加硬件電路和邏輯。這種方式將一致性負(fù)擔(dān)轉(zhuǎn)化到軟件上,使硬件系統(tǒng)相對簡單,并具有一定的適應(yīng)性。但是由于編譯系統(tǒng)會采取較為保守的處理使得軟件方法的效率不是很高。具體實施方式就是通過編譯程序的一致性檢查機制對程序代碼進(jìn)行分析,以確定有可能造成數(shù)據(jù)不一致的變量并標(biāo)記出來。這樣操作系統(tǒng)或相應(yīng)硬件就可以避免這些標(biāo)記變量寫入高速緩存中。最簡單的方式就是不準(zhǔn)許任何共享數(shù)據(jù)變量被高速緩存。這樣雖從根本上避免了數(shù)據(jù)不一致,但是效率卻是最低的,因為一個共享數(shù)據(jù)結(jié)構(gòu)可以在某些期間內(nèi)排他性使用,并在某些時刻是只讀性,那么在這些時期內(nèi)大部分不會引起數(shù)據(jù)不一致,且僅在至少一個進(jìn)程訪問并修改變量而同時另一個進(jìn)程訪問該變量時會出現(xiàn)Cache不一致的可能。較為有效的方式是可以通過分析代碼來確定共享變量的安全使用時期,并經(jīng)編譯程序在生成代碼中插入指令表示這樣的時期,在危險時期避免共享變量的高速緩存。7.2.2Cache一致性協(xié)議的硬件方法

由于軟件解決Cache一致性問題的效率不高,通常依靠硬件協(xié)議確保Cache數(shù)據(jù)的一致。這些一致性協(xié)議能夠?qū)\行時潛在的不一致條件進(jìn)行動態(tài)辨識。由于硬件方式的響應(yīng)和處理速度快,因此其性能比軟件方式的好。對于程序員而言,Cache一致性問題的透明化減輕了軟件負(fù)擔(dān)。

在具體實施硬件方法解決Cache一致性問題時,不同的方式在數(shù)據(jù)行狀態(tài)的存儲與組織以及實施一致性的機構(gòu)等方面有不同的處理方式。硬件解決方法一般可以分為目錄協(xié)議(DirectoryProtocol)和監(jiān)聽協(xié)議(SnoopyProtocol)兩種。下面分別進(jìn)行說明。

1.目錄協(xié)議

目錄協(xié)議收集并維護(hù)有關(guān)數(shù)據(jù)塊副本駐存位置信息。比如,系統(tǒng)中有一個集中式控制器作為主存控制器的一部分,收集的目錄就存放于主存中。目錄含有關(guān)于各個局部Cache內(nèi)容的全局性狀態(tài)信息。當(dāng)別的Cache控制器產(chǎn)生一個請求時,集中式控制器檢查此請求并發(fā)出必要的命令,以實現(xiàn)在存儲器和Cache之間或Cache相互傳輸數(shù)據(jù),同時集中式控制器也負(fù)責(zé)保持狀態(tài)信息的更新。那么所有能影響行的全局狀態(tài)的局部操作必須經(jīng)過集中式控制器??刂破鞅3种P(guān)于哪個處理器具有哪個數(shù)據(jù)行復(fù)制的信息。在處理器向局部行復(fù)制寫入之前,必須向控制器請求排他性存取操作權(quán)。在得到同意進(jìn)行排他性存取之前,控制器發(fā)送一個消息給所有高速緩存有該行數(shù)據(jù)副本的處理器,強迫其他處理器的副本數(shù)據(jù)無效。這些處理器在將數(shù)據(jù)置無效后,會向控制反饋認(rèn)可信息,控制器才將排他性存取權(quán)交給請求的處理器。當(dāng)一行已授權(quán)給某處理器獨有后,而其他處理器試圖進(jìn)行讀此行時,控制器將接收一個來自讀要求處理器的未命中指示,那么控制器將要求專有行的處理器將內(nèi)容寫回到主存中,以方便其他處理器共享該行數(shù)據(jù)。由上面的描述可見,目錄協(xié)議的關(guān)鍵在于中央控制器的設(shè)置和操作,這樣會造成中央控制器有可能成為整個遷移的瓶頸,并且各Cache控制器和中央控制器間的通信開銷也將會增大。

2.監(jiān)聽協(xié)議

監(jiān)聽協(xié)議采用分布式管理的方式將維護(hù)Cache的一致性責(zé)任分散到多個處理器的各Cache控制器上。這樣,對于每個處理器的Cache,則需要能夠識別出其自身的數(shù)據(jù)行與其他Cache是否共享。當(dāng)對共享的Cache行完成一個修改動作時,必須通過廣播機制通知到其他所有Cache。同時,要求各個Cache控制器能夠監(jiān)聽網(wǎng)絡(luò),以得到廣播消息進(jìn)行相應(yīng)處理。監(jiān)聽協(xié)議適用于基于總線的多處理機系統(tǒng),可以通過總線共享進(jìn)行廣播和監(jiān)聽各種信息。但是需要考慮局部Cache和共享總線間數(shù)據(jù)通信量的平衡,以防止造成不必要的擁塞。

目前,監(jiān)聽協(xié)議有兩種,即寫—無效(Write-Invalidate)和寫—更新(Write-Update)。對于寫—無效協(xié)議,在系統(tǒng)中任何時刻可以有多個讀者,但只有一個寫者。開始時,一個數(shù)據(jù)可能在幾個Cache中實現(xiàn)讀共享,當(dāng)某一個Cache要對此行進(jìn)行一次寫操作時,該Cache則要先發(fā)出一個通知,使得其余Cache中此行變?yōu)闊o效,這樣該行數(shù)據(jù)將被寫Cache獨享。當(dāng)實現(xiàn)了數(shù)據(jù)行的獨享,操作處理器可以進(jìn)行本地寫操作,直到其他處理器要求存取該行數(shù)據(jù)。對于寫—更新協(xié)議,也稱為寫—廣播(Write-Broadcast)協(xié)議,在這種方式下,系統(tǒng)可以有多個寫者和多個讀者,當(dāng)一個處理器試圖修改一個共享行時,被修改的具體數(shù)據(jù)字被廣播到所有其他Cache,造成了擁有此行的數(shù)據(jù)同時修改。

這兩種方式從性能上看各有特點,取決于局部Cache的數(shù)量和存儲器讀寫操作的樣式。其中的寫—無效協(xié)議廣泛用于Pentium4和PowerPC等處理器中。寫—無效協(xié)議采用Cache標(biāo)記中的兩位表示每個Cache行的狀態(tài):修改(Modified)、專有(Exclusive)、共享(Shared)或者無效(Invalid),所以寫—無效協(xié)議也稱為MESI協(xié)議。下面我們對MESI協(xié)議進(jìn)行具體說明。7.2.3MESI協(xié)議

如上所述,在MESI協(xié)議中,數(shù)據(jù)Cache采用兩位標(biāo)記來表示每行所處的4種狀態(tài)之一,具體為:

(1)修改狀態(tài)(Modified):此Cache行已被修改,即與主存中內(nèi)容不一致,并僅在該Cache中可用。

(2)專有狀態(tài)(Exclusive):此Cache行與主存內(nèi)容一致,但不出現(xiàn)在任何其他Cache中。

(3)共享狀態(tài)(Shared):此Cache行與主存內(nèi)容一致,但可以出現(xiàn)在其他Cache中。

(4)無效狀態(tài)(Invalid):此Cache行不含有效數(shù)據(jù)。

表7.2具體說明了Cache中行在不同狀態(tài)的含義。表7.2MESI協(xié)議下Cache行的狀態(tài)圖7.7給出了MESI協(xié)議的狀態(tài)轉(zhuǎn)移情況。圖7.7(a)說明由于連接Cache的處理器發(fā)起動作而發(fā)生的狀態(tài)。圖7.7(b)說明由于監(jiān)聽到公共總線上的事件而發(fā)生的狀態(tài)轉(zhuǎn)換。對于Cache行任何時刻只處于單一狀態(tài),如果下一個事件來自連接的處理器,則狀態(tài)轉(zhuǎn)換由圖7.7(a)給出;如果下一個事件來自總線,則轉(zhuǎn)換由圖7.7(b)給出。接下來給出較為詳細(xì)的解釋。圖7.7MESI狀態(tài)轉(zhuǎn)換機制

1.讀丟失

當(dāng)一個局部Cache出現(xiàn)讀未命中時,處理器啟動一個主存讀操作,以獲取包含此未命中地址的主存行。處理器在總線上發(fā)布一個信號,通知所有其他處理器/Cache單元進(jìn)行監(jiān)聽此事務(wù)。那么有下面幾種可能出現(xiàn):

(1)如果另一個處理器有此行的干凈副本(即從主存讀入后沒有修改)并處于專有態(tài),則由該處理器返回一個信號,指示共享此行。響應(yīng)的處理器然后將其副本狀態(tài)由專有狀態(tài)變換為共享狀態(tài),啟動的處理器由主存讀入該行,并將此行的狀態(tài)由無效轉(zhuǎn)換為共享。

(2)如果一個或多個Cache有處于共享狀態(tài)的此行干凈副本,則它們中每個都指示共享此行。啟動處理器由主存讀入此行,并將此行的狀態(tài)由無效轉(zhuǎn)換為共享。

(3)如果另一Cache有此行修改的副本,則此Cache阻塞存儲器讀,并將此行經(jīng)總線提供給請求Cache,響應(yīng)Cache則把該行的狀態(tài)從無效改變?yōu)楣蚕頎顟B(tài)。這種情況下,也可以由修改行的Cache通知啟動處理器重試。在重試期間,有修改行的處理器捕獲總線將修改行寫回主存,并在其Cache中將此行狀態(tài)由修改變?yōu)楣蚕?。然后,啟動處理器再次重試時發(fā)現(xiàn),一個或多個處理器有此行處于共享態(tài)的干凈副本,變成了上述的情況。

(4)如果任何其他Cache都沒有此行的副本(新的或修改過),則沒有信號返回。啟動處理器讀入此行,并將此行狀態(tài)由無效轉(zhuǎn)換成專有狀態(tài)。

2.讀命中

當(dāng)讀命中出現(xiàn)在當(dāng)前局部Cache行時,處理器簡單地讀取所需數(shù)據(jù)項,沒有任何狀態(tài)改變:狀態(tài)仍保留在修改、共享或?qū)S袪顟B(tài)。

3.寫丟失

局部Cache出現(xiàn)寫沒有命中時,處理器啟動一個存儲器讀,來讀取包含此未命中地址的主存行。為了寫修改目的,處理器在總線上發(fā)出一個表示“讀用于修改”RWITM(Read:With-Intent-To-Modify)信號。當(dāng)此行裝入后,立即標(biāo)志為修改態(tài)并進(jìn)行寫修改。這時根據(jù)其他Cache狀態(tài),在進(jìn)行數(shù)據(jù)行裝入時可能有以下兩種情況出現(xiàn)。

(1)其他某個Cache有此行的修改副本(狀態(tài)為修改)。這種情況下,接收通知的處理器告訴啟動處理器有此行修改過的副本,那么啟動處理器放棄總線并等待,而接收通知的處理器獲得總線訪問權(quán)并將其修改的副本寫回主存,并將此Cache行狀態(tài)轉(zhuǎn)換為無效(因為啟動處理器要修改此行)。接著,啟動處理器再一次在總線上發(fā)出RWITM信號,然后從主存中讀取該行,修改Cache中的行,并把該行標(biāo)識為修改態(tài)。

(2)任何其他Cache都沒有所要求行修改過的副本,也就沒有信號返回,啟動處理器就會進(jìn)行行讀入并修改的操作。在此期間,如果一個或多個處理器有此行的干凈副本并處于共享態(tài),則每個處理器都要將其副本無效;如果一個處理器有此行的干凈副本而處于專有狀態(tài),則同樣要將此副本作廢。

4.寫命中

當(dāng)寫命中出現(xiàn)在當(dāng)前局部Cache行上時,其結(jié)果取決于局部Cache中此行的當(dāng)前狀態(tài),具體如下:

(1)共享狀態(tài)。完成寫修改之前,處理器必須先得到此行的專有權(quán)。處理器在總線上通告該處理器的動作,其余Cache中含有此行共享副本的各個處理器將各自的Cache行狀態(tài)由共享轉(zhuǎn)為無效。然后,啟動處理器完成寫修改,并將其行副本狀態(tài)由共享轉(zhuǎn)換成修改態(tài)。

(2)專有狀態(tài)。處理器已有對此行的排他性控制,所以只需要簡單地完成寫修改,并將此行的狀態(tài)由專有改為修改。

(3)修改狀態(tài)。處理器已有對此行的排他性控制,并已標(biāo)志此行為修改狀態(tài),則處理器只簡單地完成寫修改。 7.3機群及其存儲系統(tǒng)

作為對稱多處理機的更新,機群系統(tǒng)具有更高的性能和高可用性等特點,可以廣泛應(yīng)用在服務(wù)器場合。機群系統(tǒng)定義為一組完整的計算機互連并作為統(tǒng)一的計算資源一起工作,對外則提供一臺機器的邏輯接口。一般將機群系統(tǒng)中的每臺計算機稱為節(jié)點。普遍認(rèn)為,只有機群系統(tǒng)達(dá)到了以下四個設(shè)計要求才能達(dá)到高性能處理的目的。

(1)絕對的可擴展性(absolutescalability)。大規(guī)模的機群系統(tǒng)處理能力應(yīng)遠(yuǎn)超過最大的獨立計算機。機群系統(tǒng)中單獨計算機節(jié)點甚至可以是一個多處理機系統(tǒng)。

(2)增量的可擴展性(incrementalscalability)。機群系統(tǒng)可以小量增加方式把新節(jié)點添加到機群系統(tǒng)中。最初用戶可以采用一個適度規(guī)模的系統(tǒng),隨著需求的增長則只需不斷地對其進(jìn)行擴展,而不用重新采用較大系統(tǒng)進(jìn)行更新升級。

(3)高可用性(highavailability)。在機群系統(tǒng)中應(yīng)具備較強的容錯性能,一個節(jié)點的失效不會使整個業(yè)務(wù)丟失。

(4)優(yōu)異的性價比(superiorprice/performance)。將一般商業(yè)性計算機作為節(jié)點組成機群系統(tǒng),其計算能力可等于或大于單一大型機器,但成本卻要低于單一大型機器。7.3.1機群系統(tǒng)配置

對于機群系統(tǒng)而言,可以根據(jù)是否共享磁盤存儲進(jìn)行分類。圖7.8(a)表示一個兩節(jié)點的機群系統(tǒng),高速鏈路是兩個節(jié)點的唯一連接通路,可以利用該通路進(jìn)行高速信息交換和協(xié)調(diào)系統(tǒng)的工作。此鏈路可以是與其他非機群系統(tǒng)計算機共享的LAN,或是專用的互連設(shè)施。在專用互連通路情況下,機群系統(tǒng)中的一個或多個計算機將有與LAN或WAN連接的鏈路保證服務(wù)器機群系統(tǒng)與遠(yuǎn)程客戶系統(tǒng)間的連接。圖中的節(jié)點可以由多處理機或單處理機計算機構(gòu)成。圖7.8機群系統(tǒng)的簡單分類在另一類共享磁盤的機群系統(tǒng)中,通常在節(jié)點間仍保留一條消息鏈路;此外,還有一個直接連接到系統(tǒng)內(nèi)多臺計算機的磁盤子系統(tǒng)。其中磁盤系統(tǒng)一般是由RAID構(gòu)成的。使用RAID或某種類型的冗余磁盤技術(shù),可以使多臺計算機所實現(xiàn)的高可用性不被單故障點的共享磁盤所傷害。表7.3是機群系統(tǒng)較為詳細(xì)的分類及特點。表7.3機群分類詳細(xì)列表被動式備用是較早的機群系統(tǒng),在這種系統(tǒng)中,一臺計算機作為主服務(wù)器處理所有工作,而另一臺計算機不工作,但作為輔助服務(wù)器時刻準(zhǔn)備接替主服務(wù)器的工作。主服務(wù)器會定期發(fā)送“心跳”消息給備用服務(wù)器。當(dāng)長期接收不到這些消息,備用服務(wù)器則認(rèn)為主服務(wù)器出現(xiàn)故障,就立即投入運行。這種方式能提高可用性但性能不會提高。備用系統(tǒng)只是交換心跳信息,不能與主機共享磁盤,即備用者提供了功能上的備份不可以存取主機管理的數(shù)據(jù)庫。

這種被動式備用系統(tǒng)方式一般不會看成是機群系統(tǒng)。機群系統(tǒng)應(yīng)具有以下的特點:每個計算機節(jié)點都是主動進(jìn)行處理,而對外維護(hù)一個單一系統(tǒng)映像。機群方式具有三種形式:單獨服務(wù)器、沒有共享存儲器和共享存儲器。圖7.8(a)給出了單獨的服務(wù)器機群方式,各個計算機之間沒有共享磁盤。在這種方式下,機群系統(tǒng)提供了高性能和高可用性。為了實現(xiàn)各個節(jié)點負(fù)載平衡和高利用率,單獨服務(wù)器方式機群需要采用特定管理或調(diào)度軟件以將客戶請求指派給適當(dāng)?shù)姆?wù)器。同時這種機群系統(tǒng)要求系統(tǒng)具有故障處理能力,一臺計算機在執(zhí)行應(yīng)用程序期間出現(xiàn)故障,其他計算機能接替并完成相應(yīng)任務(wù)。為了達(dá)到這種目的,數(shù)據(jù)必須在計算機之間連續(xù)不斷地被復(fù)制,以使各臺計算機都能存儲其他計算機的數(shù)據(jù)。為此,系統(tǒng)付出了很大代價,但系統(tǒng)的可用性卻得到了較大的提升。圖7.8(b)則給出了連接到公共磁盤的服務(wù)器構(gòu)成的機群系統(tǒng)。這種方式也可以實現(xiàn)“無共享”的系統(tǒng),公共盤劃分成不同卷,每個卷被單獨計算機所擁有。當(dāng)某計算機出現(xiàn)故障,機群系統(tǒng)能夠重新配置,以使其他計算機可以使用失效計算機的卷。

當(dāng)然也可以使用多臺計算機同時共享同一磁盤,即構(gòu)成“共享磁盤”機群系統(tǒng)。在這種機群系統(tǒng)中每一臺計算機可以存取所有磁盤上的所有卷。7.3.2機群系統(tǒng)和SMP系統(tǒng)的區(qū)別

機群系統(tǒng)和對稱多處理機均可提供采用多個處理器支持高需求應(yīng)用的配置,相對而言SMP系統(tǒng)出現(xiàn)的更早些。

SMP比機群系統(tǒng)容易配置和管理,更接近原來的單處理器模型,這樣對應(yīng)用而言就比較簡單。從單處理器到SMP,主要增強了調(diào)度程序的性能。SMP相較而言占用較少的物理空間和較低的功耗,而且SMP產(chǎn)品已很好建立并且比較穩(wěn)定。

隨著應(yīng)用的不斷發(fā)展,機群系統(tǒng)的優(yōu)勢逐漸顯現(xiàn),并逐步占領(lǐng)了高性能服務(wù)器的市場。在增量和絕對可擴展性方面,機群系統(tǒng)優(yōu)于SMP,在可用性方面,因為機群系統(tǒng)中部件可以做到高冗余度,其性能也占有優(yōu)勢。 7.4非均勻存儲器存取

隨著對多處理機系統(tǒng)研究的不斷發(fā)展,在已有兩種多處理機系統(tǒng)方式,即SMP和機群系統(tǒng)基礎(chǔ)上的非均勻存儲器存取的方法逐漸成為了研究熱點并已有了成熟的產(chǎn)品。在具體說明非均勻存儲器結(jié)構(gòu)之前,首先說明三個基本概念,即均勻存儲器存取(UniformMemoryAccess,UMA)、非均勻存儲器存取(Non-UniformMemoryAccess,NUMA)以及與Cache一致的NUMA(Cache-CoherentNUMA,CC-NUMA)。

(1)均勻存儲器存?。褐杆刑幚砥鞫伎梢允褂醚b入和存儲指令對主存空間的全部進(jìn)行訪問。一個處理器對任何存儲區(qū)域的存儲器存取時間是相同的,不同處理器所經(jīng)歷的存取時間也一致。前面SMP系統(tǒng)組織就是UMA。

(2)非均勻存儲器存取:指所有處理器同樣能通過裝入和存儲指令訪問主存空間任何部分。但是一個處理器所用存取時間會依照正被訪問存儲區(qū)域而有所不同。那么在多處理機系統(tǒng)中,每個處理器訪問存儲的模式都相似,但是具體哪個處理器訪問哪個區(qū)域比較快,哪個區(qū)域比較慢則不會一致。

(3)?Cache一致的NUMA:每個系統(tǒng)中的Cache間保持有Cache一致性的NUMA系統(tǒng)。當(dāng)無Cache一致性的NUMA系統(tǒng)則可以看做機群系統(tǒng)。目前較為成功的商業(yè)系統(tǒng)均使用CC-NUMA進(jìn)行標(biāo)識。為此,我們的討論也會以CC-NUMA為目標(biāo)。在SMP系統(tǒng)中,性能會受限于處理器數(shù)目。雖然有效的Cache策略能夠減少處理器和主存間的總線流通量,但隨著處理器數(shù)目的增長,總線流通量也會不斷增長。而且用于維持Cache一致性的協(xié)議也必須在總線上設(shè)置相應(yīng)的信號從而增加其負(fù)擔(dān)。這樣的話,總線會隨著處理器數(shù)目的增大而成為系統(tǒng)的瓶頸。因此,SMP中配置處理器數(shù)目在16~64之間,如果超過這個范圍其性能必然下降。在這種矛盾的制約下,機群系統(tǒng)不斷得到發(fā)展。然而機群系統(tǒng)中是每個節(jié)點有自己的局部主存;應(yīng)用程序則看不到大的全局存儲器。通常會采用軟件方式而非硬件維護(hù)存儲一致性。那么存儲器粒度會影響系統(tǒng)性能,為此多采用專用軟件進(jìn)行存儲維護(hù)。非均勻存儲方式的初衷就是希望同時能夠獲得機群系統(tǒng)處理器和SMP結(jié)構(gòu)兩者的特點。如SiliconGraphic公司研制的OriginNUMA系統(tǒng)可以支持1024個MIPSR10000處理器,SequentNUMA-Q系統(tǒng)則支持多達(dá)252個PentiumⅡ處理器。NUMA系統(tǒng)的目標(biāo)就是維護(hù)一個透明的、覆蓋系統(tǒng)范圍內(nèi)的存儲器,并允許擁有多個處理器節(jié)點,每個處理器節(jié)點也擁有自己的總線或其他內(nèi)部互連系統(tǒng)。

CC-NUMA體系結(jié)構(gòu)如圖7.9所示。該結(jié)構(gòu)中存在多個獨立的節(jié)點,每個節(jié)點是一個SMP組織。那么,每個節(jié)點有多個處理器和主存,每個處理器有獨立的L1Cache和L2Cache。節(jié)點是CC-NUMA組織的基本構(gòu)造單位,在Origin系統(tǒng)中每個節(jié)點包括兩個MIPSR10000處理器,而Sequent系統(tǒng)中節(jié)點則包括4個PentiumⅡ處理器。節(jié)點之間通過特定通信設(shè)施互連,這些設(shè)施種類豐富,例如開關(guān)方式、環(huán)或者其他某種網(wǎng)絡(luò)設(shè)備。圖7.9CC-NUMA體系結(jié)構(gòu)

CC-NUMA系統(tǒng)各節(jié)點均包括主存子系統(tǒng)。但是對處理器而言,僅有單一系統(tǒng)范圍地址唯一可尋址的存儲器。當(dāng)單個處理器啟動一個存儲器讀寫時,如果所請求的存儲位置不在此處理器的Cache內(nèi),則L2Cache會啟動一次存取操作。如果所請求的行在主存的本地部分中,經(jīng)由本地總線可以獲取該行數(shù)據(jù)。如果所請求的行在主存的遠(yuǎn)程部分中,則輸入/輸出節(jié)點會自動送出一個請求經(jīng)由互聯(lián)網(wǎng)絡(luò)獲取對應(yīng)行數(shù)據(jù)傳遞給本地總線,然后輸入/輸出節(jié)點遞交給總線上請求的Cache。以上動作均可自動完成,對處理器和Cache是透明的。在這種配置中,Cache一致性具有核心作用。雖然在實現(xiàn)細(xì)節(jié)上會有區(qū)別,但一般情況下可以認(rèn)為每個節(jié)點必須維護(hù)某種類型的目錄,用于指示各個存儲器部分的位置和相應(yīng)Cache狀態(tài)信息。例如,如果節(jié)點2上的處理器3(P2-3)要求訪問存儲器位置798,而此位置在節(jié)點1的存儲器內(nèi)。那么會出現(xiàn)如下順序:

(1)??P2-3在節(jié)點2的監(jiān)聽總線發(fā)出一個對位置798的讀請求;

(2)節(jié)點2上的目錄檢測到請求并判斷出此位置在節(jié)點1中;

(3)節(jié)點2的目錄把一個請求發(fā)送到節(jié)點1,節(jié)點1的目錄接收此請求;

(4)節(jié)點1的目錄作為P2-3代理作用,請求讀取798的內(nèi)容;

(5)節(jié)點1的主存響應(yīng)此請求,將所要的數(shù)據(jù)放到總線上;

(6)節(jié)點1的目錄由總線獲取數(shù)據(jù);

(7)數(shù)據(jù)被傳回到節(jié)點2的目錄;

(8)節(jié)點2的目錄將數(shù)據(jù)放回到總線,起到代理保存此數(shù)據(jù)的作用;

(9)數(shù)據(jù)被獲取并放入P2-3的Cache中,然后遞交給P2-3。以上順序給出了如何由遠(yuǎn)程存儲器讀數(shù)據(jù)的步驟,這一過程完全由硬件實現(xiàn),因此對處理器是透明的。為了確保Cache的一致性,內(nèi)部會采用一定的協(xié)議。例如,首先,節(jié)點1的目錄應(yīng)保持那些遠(yuǎn)程Cache中有位置798所在行副本的記錄。其次,需要一種協(xié)同操作的協(xié)議對修改進(jìn)行監(jiān)督。當(dāng)一個Cache發(fā)生了修改,這個事實能廣播到其他Cache。各個節(jié)點的目錄收到廣播后,確定本節(jié)點的各局部Cache中是否有該行副本,如果有,則置無效。實際修改的存儲位置所在節(jié)點收到此廣播通知后,該節(jié)點目錄維護(hù)一個記錄項指示此存儲器行已經(jīng)無效,并一直保持直到回寫發(fā)生。如果任何其他處理器(本地或遠(yuǎn)程)請求此無效行,則本地目錄必須強迫發(fā)生一個回寫過程,修改存儲器后才可以提供數(shù)據(jù)。

CC-NUMA的主要特點是:相對于SMP,它能夠提供更高應(yīng)用級別上的有效性能,而不改變主要軟件。由于有多個NUMA節(jié)點,因此任何單個節(jié)點上的總線流通量被限制到總線能處理的需求程度上。然而,如果多數(shù)存儲器訪問是對遠(yuǎn)程節(jié)點,性能則會變差。但是我們可以認(rèn)為性能變差不會有嚴(yán)重影響,一方面L1Cache和L2Cache的使用被設(shè)計成減少所有存儲器訪問,包括遠(yuǎn)程的訪問。如果大量的軟件都有較好的時間局部性,則遠(yuǎn)程存儲器訪問應(yīng)該不會過多。第二,如果使用了虛擬存儲器,并且軟件具有較好的空間局部性,則應(yīng)用所需要的數(shù)據(jù)將駐留在經(jīng)常使用的有限頁面上,那么就可以在初始化裝入時將這些頁面寫入運行應(yīng)用程序所在節(jié)點的本地存儲器上。以進(jìn)一步確保不會頻繁出現(xiàn)對遠(yuǎn)程的讀寫。但是CC-NUMA方法也有不足之處,例如CC-NUMA并不像SMP那樣透明,操作系統(tǒng)和應(yīng)用從SMP向CC-NUMA系統(tǒng)移植也會要求軟件進(jìn)行修改。此外,CC-NUMA系統(tǒng)的可用性比較復(fù)雜,這也形成了一定的使用困難。 7.5存儲系統(tǒng)性能分析

7.5.1Amdahl定律

并行存儲系統(tǒng)性能分析可以通過簡單的性能模型展開,這其中主要就是Amdahl定律。Amdahl定律是一個非常簡單而通用的并行處理性能模型。這里以程序的并行運行為例說明該定律,其他情況較容易進(jìn)行推導(dǎo)分析。由于單個程序內(nèi)部不一定全部可以實現(xiàn)并行處理,那么假設(shè)f為程序中必須進(jìn)行串行操作的部分比率,其余的1-f部分則認(rèn)為可以完全在硬件上并行執(zhí)行,而且P表示硬件的并行度。P在不同形式的計算機系統(tǒng)中代表著不同的含義:

(1)在MIMD系統(tǒng)中,P是處理器數(shù)目;

(2)在SIMD系統(tǒng)中,P是正在處理的數(shù)據(jù)數(shù)目;

(3)在流水方式工作的SIMD系統(tǒng)中,P是矢量速度與標(biāo)量速度的比;

(4)在流水方式工作的MIMD系統(tǒng)中,P是流水線功能段的數(shù)目。

設(shè)T(P)表示并行度為P的硬件系統(tǒng)執(zhí)行時間。如果程序中順序處理部分的時間是S,連續(xù)并行處理的部分工作時間是Q,即S和Q分別表示單處理器上串行和并行工作的時間。那么整體時間為從上面簡單模型可以得到相關(guān)的結(jié)論。為了在并行度P的硬件上獲得50%以上的效率,串行操作部分比率不能超過1/(P-1)。隨著P的增加,相應(yīng)條件也越來越難以滿足。最早應(yīng)用Amdahl定律對串行處理進(jìn)行性能評價,但是在各種并行工作環(huán)境中Amdahl定律也非常有用。例如:在并行度很高的系統(tǒng)中,輕微的非并行代碼會對系統(tǒng)效率帶來很大影響;快速的矢量處理器必須具有一個快速的標(biāo)量處理器以獲得其峰值性能的相當(dāng)大部分能力;對當(dāng)前串行執(zhí)行的小部分代碼進(jìn)行并行化的努力可以獲得較大性能的增益;硬件中哪怕是一小部分新增的工作采用并行完成也可以增加相當(dāng)大的效率。雖然Amdahl定律建立了一個非常簡單的性能模型,但也不能過于簡單化使用。系統(tǒng)規(guī)模,特別是處理器數(shù)目P通常為了處理更大的問題而不斷增加,而通常問題規(guī)模的增加并不能顯著增加串行工作量。這種情況下,f與問題大小成反比。如果問題大小隨并行度P增加而增大,從上面的加速比與效率的公式能得到較為悲觀的結(jié)論:隨著問題和系統(tǒng)規(guī)模的增大,性能表現(xiàn)呈現(xiàn)出收縮性。以上是對Amdahl定律從公式上進(jìn)行的分析,那么在計算機系統(tǒng)中,Amdahl定律也可表述為,對系統(tǒng)內(nèi)某部分的并行化改進(jìn)造成的整體性能提升量取決于該部分在整體過程中執(zhí)行的時間,即經(jīng)常性事件或其部分的改進(jìn)將使整體性能得到較大提升。加速比也可以表示為未使用改進(jìn)方式完成整個任務(wù)時間與采用改進(jìn)方式完成整個任務(wù)時間的比值。實際上有兩個主要因素影響加速比,第一個因素是需要改進(jìn)提高速度部分在總?cè)蝿?wù)執(zhí)行時間中所占的比例。譬如,1s完成的任務(wù)其中有200ms可以改進(jìn),那么該比例就是20%,可以稱為改進(jìn)比例。第二個因素就是采用改進(jìn)方式后相應(yīng)部分速度提高的程度。可以用未改進(jìn)情況下該部分執(zhí)行時間與改進(jìn)后該部分執(zhí)行時間的比值衡量。改進(jìn)加速比一般都大于1。那么改進(jìn)的后任務(wù)的總時間為沒有改進(jìn)的部分執(zhí)行時間和改進(jìn)部分執(zhí)行時間的和,即那么,總加速比就是7.5.2Little定律

在存儲系統(tǒng)性能分析中,可以利用數(shù)學(xué)中的排隊論進(jìn)行分析。這種方法比系統(tǒng)仿真的工作量小并且可以獲得較為精確的結(jié)果。基于存儲系統(tǒng)讀寫事件概率以及存儲資源的共享,可以采用簡單的運算公式計算整個存儲系統(tǒng)的響應(yīng)時間和吞吐率。當(dāng)然,針對排隊論(QueuingTheory)的專業(yè)研究非常豐富,在這里僅對該理論作以簡單說明,使得能夠利用已有模型推導(dǎo)系統(tǒng)性能。為了簡化說明,我們將計算機系統(tǒng)中的存儲系統(tǒng)看做如圖7.10所示的黑盒子。處理器發(fā)出到達(dá)存儲設(shè)備的訪問命令,當(dāng)存儲設(shè)備完成相應(yīng)的操作發(fā)出“離開”命令。在這種模型中,如果系統(tǒng)處于穩(wěn)定狀態(tài),那么進(jìn)入系統(tǒng)的任務(wù)數(shù)量一定等于離開系統(tǒng)的任務(wù)數(shù)量。這種流平衡狀態(tài)是穩(wěn)定狀態(tài)的必要條件,而非充分條件。系統(tǒng)只有經(jīng)過足夠長時間的觀測,而且平均等待時間穩(wěn)定,才能說明達(dá)到了穩(wěn)定狀態(tài)。在這種系統(tǒng)中我們需要長期或穩(wěn)定狀態(tài),為此可用系統(tǒng)仿真的手段得到其特性,這里則將給出采用Little定律為基礎(chǔ)的數(shù)學(xué)方法。圖7.10存儲系統(tǒng)簡化結(jié)構(gòu)首先,假設(shè)上述系統(tǒng)中多個獨立讀/寫服務(wù)請求是均衡的,也就是輸入速率與輸出速率相同。同時假設(shè)不管單個讀/寫等待時間是多少,其執(zhí)行速度都是固定的。則系統(tǒng)平均任務(wù)數(shù)、新任務(wù)的平均到達(dá)速率和任務(wù)平均執(zhí)行時間應(yīng)滿足以下公式:

系統(tǒng)平均任務(wù)數(shù)?=?到達(dá)速率?×?平均響應(yīng)時間

這就是Little定律的基本關(guān)系,它可以應(yīng)用于任何均衡系統(tǒng)。注意,到達(dá)速率和響應(yīng)時間要使用同一時間單位,如果時間單位不一致則會引起錯誤。

Little定律可以通過以下方法推導(dǎo):假設(shè)觀測一個系統(tǒng)的時間為Timeobserve分鐘。在此期間,記錄下系統(tǒng)為每個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論