
204
|
第六章
延遲、抖動以及期限
延遲
(
latency
)是指從事件發生到進行回應所經過的時間。如果延遲小於或等於操作期
限,則系統可以正確運作。在許多硬性即時系統中,延遲等於操作期限—系統會定時處
理事件。在軟性即時系統中,所需要的反應時間較不確切,而且延遲呈現相當程度的變
化—目標很簡單,就是在期限之內發生回應。
延遲往往難以量測,因為它的估算需要知道事件發生的時間。然而,為事件記錄時間的
能力往往取決於回應事件的能力。因此,對延遲進行的許多量測,所量測到的往往不是
延遲;事實上,所量測到的是回應之間在時間在差異。連續事件之間在時間上的差異稱
為
抖動
(
jitter
)而不是延遲。
舉例來說,假設一個事件每 10 毫秒發生一次。為了量測我們的系統的效能,我們會記
錄回應的時間,以確定它們每 10 毫秒發生一次。然而,與此目標值的差異並非延遲—
這是抖動。我們所量測到的是連續回應中的差異。如果不知道事件是何時發生的,我
們也無法知道事件與回應在時間上的實際差異。就算知道事件每 10 ms 發生一次,我們
仍舊不知道
第一次
是何時發生的。或許令人驚訝的是,對延遲所做的許多量測產生了
這個錯誤,並且所回報的是抖動,而不是延遲。可以肯定的是,抖動是一個有用的指標
(metric),而且這樣的量測工具可能會相當有用。然而 , 我們必須稱鴨子為鴨子!
硬性即時系統往往呈現非常低的抖動,因為它們會在一個確切的時間之後—而不是之
內—回應事件。此類系統的目標是零抖動,以及延遲等於操作期限。如果延遲逾越期
限,表示系統失敗。
軟性即時系統易受抖動影響。在這些系統中,回應時間理想上是在操作期限之內—往往 ...