延遲 (工程學)
延遲(英語:Latency)也譯潛伏時間,它是指做出觸發動作與得到回應之間的時間間隔。[1]延遲實際上是任何物理相互作用在有限速度內傳播產生的結果。該速度始終低於或等於光速。因此,不論觸發的性質,任何空間維度不為零的物理系統都將存在某種延遲。
延遲的精確定義取決於被觀察系統與產生觸發的物質。在通訊系統中,等待時間的下限由通訊的媒介確定。在可靠的雙向通訊系統中,等待時間受到資訊傳輸最大速率的限制,即處在傳輸中的資訊總量有限。在人機互動領域,可察覺的延遲對使用者滿意度和可用性有很大影響。
通訊延遲
[編輯]封包交換網路
[編輯]網路延遲(Network latency)在封包交換網路中可指單向(來源傳送分組到目標接收到分組所需時間)或來回通訊延遲(源傳送分組到目標的單向延遲+目標向源發回分組的單向延遲)。更常使用的是往返通訊延遲,因為它可以通過單個點完成測量。注意,往返通訊延遲不包括目標系統處理分組或花費的時間量。大多數軟體平台提供稱為ping的服務,它可以用作測量往返通訊延遲。Ping不對分組進行處理,它只是在收到一個分組時傳送一個回應(即無操作),因此它是一個粗略的測量延遲的方法。Ping不能完成精確的測量,[2]尤其因為它使用為診斷與控制目的的ICMP協定,不同於TCP等實際通訊用網路協定。此外,路由器和網際網路服務提供者(ISP)可能對不同的協定採用不同的流量整形策略。[3][4]
對於更精確的測量,最好使用專門的軟體,例如:lft、paketto、hping、superping.d、NetPerf、IPerf。 延遲限制了可靠的雙向通訊系統中的總吞吐量,描述見頻寬時延乘積。
光纖
[編輯]延遲主要受到光速的限制,它在真空中的速度為299,792,458米/秒,這等同於每公里路徑長度需3.33µs。大多數光纖電纜的折射率約為1.5,這意味著光在真空中的傳播速度比在電纜中快約1.5倍。根據計算可以得出大約每公里5.0µs的延遲。在較短的都會網路中,延遲會因為建設立管和交叉連接和略微上升,比每公里5.0µs略微提高一點。
因此,為計算連接的延遲,必須知道光行進的距離。光纜很少呈為直線,因為它必須穿越地理輪廓和障礙物,例如道路、鐵軌或其他限制條件。由於光纖本身的缺陷,當光透射通過時,它會產生損耗。因此對於大於100公里的線路,需要部署放大器或再生器。無源放大器通常以複合衰減成本增加比再生器更少的延遲時間,儘管這兩種情況都可能是高度可變的,應仔細考慮。尤其是,傳統跨度更可能使用較高延遲時間的再生器。
衛星傳輸
[編輯]新聞主播與遠距離的記者進行遠端連線可以說明一些問題。訊號將從演播室通過位於地球同步軌道的通訊衛星傳送給記者,以及一路返回到地球同步軌道、演播室,全程超過十萬公里。整個鏈路所耗費的時間很容易察覺。即使訊號以光速行進,這樣的距離仍需花費半秒的時間(不包括通訊裝置內微小的處理延遲)。
近地軌道有時有利於削減這種延遲,代價是在地面上進行更複雜的衛星跟蹤,並需要更多的衛星形成衛星星座以確保連續覆蓋。
音訊延遲
[編輯]音訊延遲是指音訊訊號輸入與系統輸出之間的延遲。音訊系統中潛在的延遲包括類比數位轉換器、緩衝器、數位訊號處理、傳輸時間、數位類比轉換器以及空氣中的聲音傳播速度。
操作延遲
[編輯]任何系統中的單個工作流程都可能受到某種類型的操作延遲影響。取決於參與者的類型和目標結果,單個系統甚至可能受到多種類型的延遲影響。下面以航空旅行的兩個例子作為說明。
消費者視角
[編輯]從乘客角度說,等待時間可以描述如下:假設乘客從倫敦飛往紐約,他的旅行延遲是他從英國的住宅到達紐約的酒店的時間。這獨立於倫敦-紐約空中鏈路的吞吐量,無論是每天有100個或10000個乘客出行,行程的延遲都保持不變。[需要解釋]
生產者視角
[編輯]從航空業角度來看,延遲則完全不同。考慮到倫敦和紐約機場的工作人員有限,只能有有限數量的飛機進行跨大西洋之旅。所以當一架飛機落地時,他們必須儘快為回程做好準備。它可能需要例如:
- 35分鐘清潔飛機
- 15分鐘給飛機加油
- 10分鐘裝載旅客
- 30分鐘裝載貨物
假設上述流程是逐個完成,最少需要時間:
- 35 + 15 + 10 + 30 = 90 分鐘
不過,清潔、加油和裝載貨物可以同時進行。清潔完成後就可以裝載乘客。因此,延遲被減少為:
- 35 + 10 = 45
- 15
- 30
- 最小延遲 = 45 分鐘
參與上述周轉的人員只對他們參與的環節所花費的時間感興趣。當所有環節完成時,等待時間減少為最長任務所花費的長度{{what}}。如果某些環節具有先決條件,則並列執行所有步驟更加困難。在上述例子中,在裝載乘客前清潔飛機的要求將導致比單個任務還長的最小等待時間。
機械延遲
[編輯]任何機械過程都受到經典力學模型的限制。碟盤儲存的行為提供了機械延遲時間的例子。在此例中,它是指碟片旋轉移動至讀寫磁頭適合讀取已編碼資料位置的時間,以及將讀寫磁頭從當前位置到轉移到適當位置的時間(並可能包含讀寫磁頭的致動器臂轉移到適當軌道上方所需的時間)。這也被稱為旋轉延遲和尋道時間,因為基本術語潛伏時間(latency)也指電腦的電子器件(例如主記憶體)和軟體執行輪詢、中斷和直接記憶體存取所需要的時間。
電腦硬體和作業系統延遲
[編輯]電腦執行一系列行程所發出的指令。在作業系統中,如果有行程正在執行,則其他行程的指令被推遲處理。此外,作業系統可以排程何時執行行程所發出的指令。在嵌入式系統上,底層嵌入式作業系統通常支援指令的即時執行。
在模擬器與類比中
[編輯]在類比類應用程式中,潛伏時間指延遲時間,通常的測量單位為毫秒(千分之一秒)。在初始輸入與模擬器受訓者或模擬器主體獲得清晰可辨的輸出之間的延遲時間,有時也被稱作「傳輸延遲」。
參見
[編輯]參考資料
[編輯]- ^ "What is Latency?". [2017-01-10]. (原始內容存檔於2020-10-25).
- ^ Don't misuse ping!. [29 April 2015]. (原始內容存檔於2017-10-12).
- ^ Shane Chen. Network Protocols Discussion / Traffic Shaping Strategies. 2005. (原始內容存檔於2007-01-09).
- ^ Basic QoS part 1 – Traffic Policing and Shaping on Cisco IOS Router. The CCIE R&S. [29 April 2015]. (原始內容存檔於2015-04-12).
- M. Brian Blake. Coordinating Multiple Agents for Workflow-Oriented Process Orchestration (PDF). Information Systems and e-Business Management Journal (Springer-Verlag). December 2003. (原始內容 (PDF)存檔於2006-09-01).