4. Mengapa Simulasi (1) ?
• Asumsi-asumsi diperlukan pada model analitis
supaya mudah ditangani (tractable) …
– Simple job scheduling
– Buffer tak hingga
– Single resource digunakan untuk satu job
– Timing dan sinkronisasi sederhana
– Macam-macam resource berbeda independent
– Waktu antar kedatangan dan waktu pelayanan independen
– Proses kedatangan
– Distribusi waktu pelayanan (panjang paket)
5. Mengapa Simulasi (2) ?
• Tidak begitu abstrak dibandingkan model analitis,
shg mungkin memerlukan waktu pengembangan
lebih sedikit
• Model dp dibangun untuk level detail yg diinginkan
• Tetapi …
– Model simulasi masih dp menyita waktu
– Waktu eksekusi simulasi dp sangat besar
– Simulasi adalah, secara esensial, suatu proses eksperimen
yg memerlukan perencanaan yg hati-hati
6. Simulasi vs Komputasi
• Utk tujuan kita, otomatisasi code utk menentukan
solusi numerik utk model analitis adalah bukan
simulasi
• Utk tujuan kita, simulasi meniru kelakuan sistem,
tetapi dlm cara stochastic
– Functional simulation: memverifikasi kelakuan fungsional
dari suatu sistem (mis. menggunakan VHDL)
– Stochastic simulation: menentukan performansi suatu
sistem berdasarkan eksperimen dg event “random”
– Dimungkinkan utk mempunyai model hybrid yg melakukan
keduanya
7. Stochastic Discrete Event
Simulation
A simulation is the imitation of the operation of a
real-world process or system over time. Whether
done by hand or on a computer, simulation involves
the generation of an articial history of a system
[...] to draw inferences concerning the operation
characteristics ofthe real system."
• Simulasi dijalankan pada komputer
• Simulasi adalah model dari suatu sistem, dengan
software memodelkan sistem, dan ukuran numerik
performansi diturunkan dari output simulasi
8. Tipe-Tipe Sistem
• statis vs. dinamis: pada sistem statis output hanya
tergantung input saat ini dan tidak pada input-
input sebelumnya
• discrete-state vs. continuous-state: pada suatu
sistem continuous-state paling sedikit satu
komponen (input, state) mempunyai rentang
uncountable
• stochastic vs. deterministic: pada suatu sistem
stochastic paling sedikit satu komponen dari input
atau state sistem adalah random
• komputer dan sistem komunikasi umumnya dinamis
dan stochastic discrete state stochastic
discrete event simulation
9. Stochastic Discrete Event
Simulation - Generalities
• Beberapa bagian dari beban/workload atau internal
state adalah “random", diperlukan:
– Metoda utk karakteristisasi statistik dari korespondensi
proses real-world, utk membangung model stochastic
darinya
– Metoda utk membangkitkan bilangan/proses random (mis
sbg workload)
– Metoda untuk intepretasi output simulasi (random)
• Simulasi adalah suatu program komputer:
– Ditulis dalam suatu bahasa pemrograman (general purpose
atau dedicated)
– memerlukan runtime – kadang besar
10. Teknik-Teknik Simulasi (1)
• State Space …
– Continuous space: state pada simulasi adalah kontinyu
(mis. arus melalui suatu resistor)
– Discrete state: state pada simulasi adalah diskrit (mis.
jumlah paket dlm antrian)
• Events …
– Continuous time: event-event sistem dp terjadi pd
sembarang waktu (mis. kedatangan adalah Poisson)
– Discrete time: event-event sistem dp terjadi hanya pd
waktu-waktu tertentu (mis. kedatangan merupakan
Bernoulli process)
11. Teknik-Teknik Simulasi (2)
• Bagaimana simulasi berjalan …
– Time-driven: simulasi berjalan pd interval waktu
tertentu/fixed (mis. state ditentukan pada saat t, t + t,
t + 2 t, …)
– Event-driven: simulasi berjalan dari event-ke-event (mis.
state ditentukan pd titik waktu dari event berikutnya)
• Biasanya simulasi jaringan …
– Discrete state
– Discrete time atau continuous tetapi “quantized” time
– Event-driven
12. Events dan Efisiensi (1)
• Suatu event adalah sembarang aktivitas dlm
jaringan yg dp, secara potensial, menuju ke
perubahan state atau ke event lain yg menuju ke
perubahan state
– Kedatangan paket pd suatu antrian
– Penyelesaian transmisi
– Kegagalan (failure) suatu link
• Utk setiap event, simulator harus meniru operasi
sistem utk …
– Update state sistem
– Update statistics
– Menentukan event kedepan yg baru
13. Events dan Efisiensi (2)
• Time-driven simulation harus menentukan jika
suatu event baru muncul pd setiap langkah waktu
diskrit, dan jika suatu event telah terjadi, proses
event tsb.
• Event-driven simulation hanya perlu proses event
pd titik waktu dimana suatu event terjadi
• Simulasi event-driven dp secara substansial lebih
efisien secara komputasi dibandingkan dg simulasi
time-driven
14. Contoh Sederhana
• Perhatikan simulasi dari sistem antrian tunggal
• Mungkin tdk dp ditangani secara analitis (mis,. Krn
trafik, waktu pelayanan dan/atau waktu pelayanan)
• State sistem adalah jumlah dlm sistem, N(t)
• Ukuran performansi adalah waktu rata-rata
pelanggan dlm sistem dan jumlah rata-rata
pelanggan dlm sistem
15. Simulasi dari State Sistem
• State sistem dp disimulasikan berdasarkan pd
waktu antar kedatangan dan waktu pelayanan
– Waktu antar kedatangan dan waktu pelayanan dp
berharga sembarang
– Urutan pelayanan dp lain selain FIFO
– Tdk dibatasi pd kedatangan Poisson dan waktu pelayanan
eksponensial atau asumsi serupa utk model analitis
• Events adalah
– Kedatangan
– Kepergian (penyelesaian pelayanan)
22. Isue-Isue Implementasi
• Waktu antar kedatangan dan waktu pelayanan
– Pseudo-random number generator
• Next event queue
– Harus efisien dlm hal ukuran dan waktu pencarian
– Diurut shg event berikutnya mudah diidentifikasi
– Tergantung pd berbagai usulan utk struktur data yg
efisien
• Waktu awal dan akhir
– more later
• Tambahan statistik kadang diinginkan
23. Pseudo-Random Number
Generation (1)
• Deretan angka pseudo-random digunakan utk
menentukan kelakuan „stochastic‟ dari sistem, spt ..
– Waktu antar kedatangan
– Waktu pelayanan
– Level prioritas
– Routing
– Packet loss
– Bit Error
– Link failure
24. Pseudo-Random Number
Generation (2)
• Algoritman pseudo-random number generation yg
umum membangkitkan uniform random variables,
asumsi dlm interval [0, 1)
– U[0,1)
• Kadang menginginkan distribusi lain F(s), mis.
Binomial atau Eksponensial
• Perlu menggunakan inverse function utk
menentukan F(s) diberikan U[0,1)
27. Inverse Functions (3)
• Shg, ambil Y bilangan pseudo-random dari U[0,1)
• Ambil x = -ln(1-Y)/, maka x adalah bilangan
pseudo-random eksponensial
28. Inverse Functions (4)
• Mis. Kedatangan terjadi dg probabilitas a dan tidak
terjadi dg probabilitas 1-a
• Ambil Y sbg bilangan pseudo-random dari U[0,1)
• Tentukan bilangan pseudo random Z …
– Ambil Z = 1, jika ada dlm interval
– Ambil Z = 0, jika tdk ada dlm interval
• Algoritma
– Z = 1, jika Y < a
– Z = 0, lainnya
29. Stochastic Nature dari Simulasi
• Krn bilangan pseudo-random digunakan dlm model,
hasilnya juga random
• Hasil akan bervariasi dari run ke run, mis.
Bergantung pada panjang dari run simulasi
• Hasil adalah suatu statistical experiment!
• Isue …
– Bagaimana kita tahu sistem dlm steady-state?
– Bagaimana kita tahu sistem sdh dlm steady-state cukup
lama utk mengeliminasi efek dari kelakuan initial
transient?
– Bagaimana kita tahu hasil dari sample (eksperimen) ini
valid?
30. Transient vs Steady-State
• Ukuran performansi yg tergantung pd initial state
dari simulasi adalah ukuran transient
– kadang yg menjadi titik perhatian, mis. bagaimana respon
sistem thd link failure
• Jika perhatian adalah performansi steady-state
atau jangka panjang
– Simulasi hrs cukup lama shg efek initial state pd ukuran
performansi dp diabaikan
– Buang hasil dari perioda initial transient (tapi perlu
identifikasi akhir dari durasi perioda ini)
31. Transient/Steady State
• Transient/Steady State
– Transient behavior : Suatu tipikal kelakuan sistem yg
tergantung pd kondisi inisial (mis. booting up atau
recovering dari suatu kegagalan komponen)
– Steady state behavior : kelakuan operasi normal dari
sistem independent terhadap kondisi inisial
Simulasi packet loss
pd suatu antrian
router
32. Confidence Intervals
• X% confidence interval (a,b) dari pengukuran Y
berarti jika simulasi sistem bbrp kali, hasil Y akan
jatuh antara a dan b X% dari waktu
• Membangun confidence intervals memerlukan,
secara efektif, multiple samples
– Memperhitungkan variabilitas
– Bagaimana kita mendpkan multiple samples?
33. Teknik-Teknik Utk Confidence
Intervals (1)
• Pengulangan Independen
– Jalankan simulasi n kali utk mendpkan n sample
independen
– Komputasi utk transien period adalah “wasted” utk n run
• Batch berarti
– Satu single run dibagi kedlm N perioda sama panjang,
memberikan N sample
– Phase initial transient hanya dibuang satu kali
– Sulit utk menentukan harga yg pas utk N utk secara
efektif mengeliminasi korelasi antar batch
34. Teknik-Teknik Utk Confidence
Intervals (2)
• Simulasi Regenerative
– Regeneration point dari suatu simulasi adalah titik dimana
distribusi dari event kedepan adalah independen dari
state saat ini
– Ukuran dari tiap perioda diantara regeneration points
membentuk samples independen
– Kesulitan dlm identifikasi regeneration points yg terjadi
secara sering
35. In-Class Exercise (1)
• Perhatikan sistem antrian tunggal yg didiskusikan
seblmnya. Di bawah kondisi apa indikasi waktu
dibawah adalah regeneration points (Usulan
regeneration points adalah dimana suatu paket
departs dan meninggalkan sistem kosong)
36. Workload: Traffic Models
• Model trafik sangat penting terhadap hasil
simulasi
• Contoh:
– Waktu antar kedatangan
– Ukuran paket (waktu transmisi)
• Berbagai model trafik dikembangkan
37. Langkah-Langkah Simulasi (1)
• Pahami persyaratn simulasi dan batas-batas sistem
• Identifikasi
– Faktor-faktor
– Parameter-parameter
– Ukuran-ukuran
• Bangun model
– Sistem
– Workload
• Implementasi
38. Lankah-Langkah Simulasi (2)
• V&V
– Validasi: apakah sistem secara akurat menangkap
performansi sistem yg menjadi perhatian? Apakah model
ini valid?
– Verifikasi: apakah implementasi secara akurat
mengimplementasikan model
• Perencanaan eksperimen initial
– Tentukan bagaimana faktor-faktor akan divariasikan,
termasuk relasi satu dg lainnya
• Analisa sensitivitas
– Tentukan faktor-faktor yg memp efek terbesar
• Perbaiki disain eksperimen
40. Tools (1)
• Standar high-level programming language spt Java,
C, C++, FORTRAN
– Simulasi diprogram spt aplikasi standar
– Biasanya memerlukan waktu pengembangan yg paling lama
• Bahasa simulasi, spt SIMSCRIPT
– Bahasa sdh dirancang utk memudahkan pemrograman utk
simulasi mis., libraries utk event queuing
– Tujuan pengurangan waktu pengembangan
41. Tools (2)
• Paket simulasi jaringan yg fleksibel, spt OPNET
Modeler
– Memungkinkan programming utk membangun modul-modul
– Modul-modul di-assembly menggunakan graphical user
interface
– Domain specific
• Rigid network simulation, spt OPNET‟s IT Decision
Guru
42. Speeding-Up Simulation
• Hierarchical Decomposition dan Teknik Hybrid
– Dekompoisisi sistem kedlm suatu hierarki
– Gunakan agregated, low fidelity dan/atau submodul
analitis
– Sbg contoh, analisa suatu LAN dan gantikan dg sumber
trafik tunggal utk simulasi suatu WAN
• Reduksi Variansi
– Gunakan properties dari sistem utk mengurangi variasi