• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Teknik Simulasi
 

Teknik Simulasi

on

  • 4,368 views

 

Statistics

Views

Total Views
4,368
Views on SlideShare
4,328
Embed Views
40

Actions

Likes
1
Downloads
243
Comments
0

2 Embeds 40

http://materikuliah.info 21
http://materikuliah.org 19

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Teknik Simulasi Teknik Simulasi Presentation Transcript

    • Metoda Simulasi Hendrawanhend@telecom.ee.itb.ac.id
    • Outline• Motivasi ………. Mengapa simulasi?• Teknik-teknik simulasi• Operasi dasar suatu simulasi• Pseudo-random number generator• Stochastic nature dari simulasi• Steady-state behaviour – Confidence intervals – Langkah-langkah simulasi• Mempercepat (speeding up) simulasi
    • Teknik Evaluasi (Ulangan)
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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)
    • State Sistem• State sistem sbg fungsi waktu …
    • Ukuran Performansi (1)• Jumlah rata-rata dlm sistem adalah waktu rata- rata dari N(t) – Area dari t = 0 ke t = T dibagi dg T
    • Ukuran Performansi (2)• Waktu rata-rata dlm sistem – Area dari t = 0 sampai t = T dibagi dg n, jumlah total pelanggan
    • Algoritma Simulasi (1)
    • Algoritma Simulasi (2)
    • Algoritma Simulasi (3)
    • 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
    • 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
    • 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)
    • Inverse Functions (1)• Mis. Random variables X terdistribusi eksponensial …
    • Inverse Functions (2)• Kita memp. Y ~ U[0,1) dan memerlukan FX(x)
    • 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
    • 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
    • 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?
    • 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)
    • 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 inisialSimulasi packet losspd suatu antrianrouter
    • 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?
    • 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
    • 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
    • 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)
    • Workload: Traffic Models• Model trafik sangat penting terhadap hasil simulasi• Contoh: – Waktu antar kedatangan – Ukuran paket (waktu transmisi)• Berbagai model trafik dikembangkan
    • Langkah-Langkah Simulasi (1)• Pahami persyaratn simulasi dan batas-batas sistem• Identifikasi – Faktor-faktor – Parameter-parameter – Ukuran-ukuran• Bangun model – Sistem – Workload• Implementasi
    • 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
    • Langkah-Langkah Simulasi (3)• Koleksi data simulasi• Analisa data dan interprestasi• Presentasi hasil
    • 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
    • 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
    • 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