Symulacja systemu dyskretnego
W systemach dyskretnych zmiany stanu systemu są nieciągłe, a każda zmiana stanu systemu nazywana jest event. Model używany w symulacji systemu dyskretnego zawiera zestaw liczb reprezentujących stan systemu, zwany jakostate descriptor. W tym rozdziale dowiemy się również o symulacji kolejek, która jest bardzo ważnym aspektem w symulacji dyskretnych zdarzeń wraz z symulacją systemu podziału czasu.
Poniżej przedstawiono graficzną reprezentację zachowania symulacji systemu dyskretnego.
Symulacja dyskretnych zdarzeń ─ Kluczowe cechy
Symulacja zdarzeń dyskretnych jest zazwyczaj przeprowadzana za pomocą oprogramowania zaprojektowanego w językach programowania wysokiego poziomu, takich jak Pascal, C ++ lub dowolnym specjalistycznym języku symulacji. Oto pięć kluczowych funkcji -
Entities - Są to reprezentacje rzeczywistych elementów, takich jak części maszyn.
Relationships - Oznacza łączenie podmiotów razem.
Simulation Executive - Odpowiada za kontrolowanie czasu wyprzedzenia i wykonywanie dyskretnych zdarzeń.
Random Number Generator - Pomaga symulować różne dane wchodzące do modelu symulacyjnego.
Results & Statistics - Sprawdza model i dostarcza miary wydajności.
Reprezentacja wykresu czasu
Każdy system zależy od parametru czasu. W reprezentacji graficznej jest określany jako czas zegarowy lub licznik czasu i początkowo jest ustawiony na zero. Czas jest aktualizowany na podstawie następujących dwóch czynników -
Time Slicing - Jest to czas określony przez model dla każdego wydarzenia, aż do braku jakiegokolwiek wydarzenia.
Next Event- Jest to zdarzenie zdefiniowane przez model dla następnego zdarzenia, które ma zostać wykonane zamiast przedziału czasu. Jest bardziej wydajny niż podział czasu.
Symulacja systemu kolejkowego
Kolejka to połączenie wszystkich podmiotów w obsługiwanym systemie i tych, które czekają na swoją kolej.
Parametry
Poniżej znajduje się lista parametrów używanych w systemie kolejkowania.
Symbol | Opis |
---|---|
λ | Oznacza wskaźnik przybycia, który jest liczbą przyjazdów na sekundę |
Ts | Oznacza średni czas obsługi dla każdego przyjazdu z wyłączeniem czasu oczekiwania w kolejce |
σTs | Oznacza odchylenie standardowe czasu obsługi |
ρ | Oznacza wykorzystanie czasu serwera, zarówno gdy był bezczynny, jak i zajęty |
u | Oznacza natężenie ruchu |
r | Oznacza średnią pozycji w systemie |
R | Oznacza całkowitą liczbę elementów w systemie |
Tr | Oznacza średni czas elementu w systemie |
TR | Oznacza całkowity czas elementu w systemie |
σr | Oznacza odchylenie standardowe r |
σTr | Oznacza odchylenie standardowe Tr |
w | Oznacza średnią liczbę pozycji oczekujących w kolejce |
σw | Oznacza odchylenie standardowe w |
Tw | Oznacza średni czas oczekiwania wszystkich pozycji |
Td | Oznacza średni czas oczekiwania pozycji oczekujących w kolejce |
N | Oznacza liczbę serwerów w systemie |
mx (y) | Oznacza y ty percentyl co oznacza, że wartość Y, poniżej której występuje x y procent |
Pojedyncza kolejka serwera
To najprostszy system kolejkowy przedstawiony na poniższym rysunku. Centralnym elementem systemu jest serwer obsługujący podłączone urządzenia lub przedmioty. Elementy żądają obsłużenia systemu, jeśli serwer jest bezczynny. Następnie jest obsługiwany natychmiast, w przeciwnym razie dołącza do kolejki oczekujących. Po wykonaniu zadania przez serwer element wyjeżdża.
Kolejka na wielu serwerach
Jak sama nazwa wskazuje, system składa się z wielu serwerów i wspólnej kolejki dla wszystkich pozycji. Gdy jakikolwiek element żąda od serwera, jest przydzielany, jeśli przynajmniej jeden serwer jest dostępny. W przeciwnym razie kolejka zaczyna się uruchamiać, dopóki serwer nie będzie wolny. W tym systemie zakładamy, że wszystkie serwery są identyczne, tj. Nie ma różnicy, który serwer jest wybrany dla której pozycji.
Istnieje wyjątek dotyczący użytkowania. PozwolićN być identycznymi serwerami ρto wykorzystanie każdego serwera. RozważaćNρbyć utylizacją całego systemu; wtedy maksymalne wykorzystanie wynosiN*100%, a maksymalna wielkość wejściowa wynosi -
$ λmax = \ frac {\ text {N}} {\ text {T} s} $
Relacje w kolejce
W poniższej tabeli przedstawiono kilka podstawowych relacji kolejkowania.
Ogólne warunki | Pojedynczy serwer | Wiele serwerów |
---|---|---|
r = λTr Wzór Little'a | ρ = λTs | ρ = λTs / N |
w = λTw Wzór Little'a | r = w + ρ | u = λTs = ρN |
Tr = Tw + Ts | r = w + Nρ |
Symulacja systemu podziału czasu
System współdzielenia czasu jest zaprojektowany w taki sposób, że każdy użytkownik wykorzystuje niewielką część czasu współdzielonego w systemie, co powoduje, że wielu użytkowników współdzieli system jednocześnie. Przełączanie każdego użytkownika jest tak szybkie, że każdy użytkownik ma ochotę korzystać z własnego systemu. Opiera się na koncepcji planowania procesora i programowania wieloprogramowego, w którym wiele zasobów można efektywnie wykorzystać, wykonując jednocześnie wiele zadań w systemie.
Example - System symulacji SimOS.
Został zaprojektowany przez Uniwersytet Stanforda w celu badania złożonych projektów sprzętu komputerowego, analizowania wydajności aplikacji i badania systemów operacyjnych. SimOS zawiera programową symulację wszystkich komponentów sprzętowych współczesnych systemów komputerowych, tj. Procesorów, jednostek zarządzania pamięcią (MMU), pamięci podręcznych itp.