離散系統模擬
在離散系統中,系統狀態的變化是不連續的,系統狀態的每一次變化都稱為一個事件。離散系統模擬中使用的模型有一組數字來表示系統狀態,稱為狀態描述符。本章中,我們還將學習排隊模擬,這是離散事件模擬中一個非常重要的方面,以及分時系統的模擬。
以下是離散系統模擬的行為圖形表示。
離散事件模擬 ─ 主要特徵
離散事件模擬通常由用高階程式語言(如 Pascal、C++ 或任何專門的模擬語言)設計的軟體執行。以下是五個主要特徵:
實體 − 這些是真實元素的表示,例如機器部件。
關係 − 意味著將實體連線在一起。
模擬執行器 − 它負責控制時間推進和執行離散事件。
隨機數生成器 − 它有助於模擬進入模擬模型的不同資料。
結果與統計 − 它驗證模型並提供其效能指標。
時間圖表示
每個系統都依賴於時間引數。在圖形表示中,它被稱為時鐘時間或時間計數器,最初設定為零。時間根據以下兩個因素更新:
時間切片 − 這是模型為每個事件定義的時間,直到沒有事件為止。
下一個事件 − 這是模型為下一個要執行的事件定義的事件,而不是時間間隔。它比時間切片更有效。
排隊系統的模擬
佇列是系統中所有正在被服務的實體以及那些正在等待輪到的實體的組合。
引數
以下是排隊系統中使用的引數列表。
| 符號 | 描述 |
|---|---|
| λ | 表示到達率,即每秒到達的次數 |
| Ts | 表示每個到達的平均服務時間,不包括在佇列中的等待時間 |
| σTs | 表示服務時間的標準差 |
| ρ | 表示伺服器時間利用率,包括空閒和繁忙時 |
| u | 表示交通強度 |
| r | 表示系統中專案的平均數 |
| R | 表示系統中專案的總數 |
| Tr | 表示系統中專案的平均時間 |
| TR | 表示系統中專案的總時間 |
| σr | 表示r的標準差 |
| σTr | 表示Tr的標準差 |
| w | 表示佇列中等待專案的平均數 |
| σw | 表示w的標準差 |
| Tw | 表示所有專案的平均等待時間 |
| Td | 表示在佇列中等待專案的平均等待時間 |
| N | 表示系統中的伺服器數量 |
| mx(y) | 表示第y個百分位數,這意味著x值小於y的百分比為y% |
單伺服器佇列
這是最簡單的排隊系統,如下圖所示。系統的核心元素是一個伺服器,它為連線的裝置或專案提供服務。專案請求系統進行服務,如果伺服器空閒,則立即服務,否則加入等待佇列。伺服器完成任務後,專案離開。
多伺服器佇列
顧名思義,該系統由多個伺服器和所有專案的公共佇列組成。當任何專案請求伺服器時,如果至少有一個伺服器可用,則分配給它。否則,佇列開始啟動,直到伺服器空閒。在這個系統中,我們假設所有伺服器都是相同的,即選擇的伺服器對哪個專案沒有區別。
利用率有一個例外。設N為相同的伺服器,則ρ為每個伺服器的利用率。考慮Nρ為整個系統的利用率;則最大利用率為N*100%,最大輸入率為:
$λmax = \frac{\text{N}}{\text{T}s}$
排隊關係
下表顯示了一些基本的排隊關係。
| 一般術語 | 單伺服器 | 多伺服器 |
|---|---|---|
| r = λTr Little 公式 | ρ = λTs | ρ = λTs/N |
| w = λTw Little 公式 | r = w + ρ | u = λTs = ρN |
| Tr = Tw + Ts | r = w + Nρ |
分時系統的模擬
分時系統的設計方式是,每個使用者使用系統上共享的一小部分時間,從而導致多個使用者同時共享系統。每個使用者的切換速度非常快,每個使用者感覺就像在使用自己的系統一樣。它基於 CPU 排程和多程式設計的概念,在該概念中,可以透過在系統上同時執行多個作業來有效地利用多種資源。
示例 − SimOS 模擬系統。
它由斯坦福大學設計,用於研究複雜的計算機硬體設計、分析應用程式效能以及研究作業系統。SimOS 包含現代計算機系統所有硬體元件的軟體模擬,即處理器、記憶體管理單元 (MMU)、快取等。