Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Contoh: Time-shared computer and multi- teller bank Catatan diambil dari “Simulation Modeling and Analysis” by A. Law and W. Kelton, Third edition, McGraw.

Presentasi serupa


Presentasi berjudul: "1 Contoh: Time-shared computer and multi- teller bank Catatan diambil dari “Simulation Modeling and Analysis” by A. Law and W. Kelton, Third edition, McGraw."— Transcript presentasi:

1 1 Contoh: Time-shared computer and multi- teller bank Catatan diambil dari “Simulation Modeling and Analysis” by A. Law and W. Kelton, Third edition, McGraw Hill, 2000.

2 2 Tujuan r Contoh simulasi m Model komputer time-shared m Multi-teller bank dengan jockey m Model job shop

3 3 Model komputer Time-Shared

4 4 Spesifikasi masalah r Terminal “berpikir”, kemudian meng-isukan job r Think time terdistribusi eksponensial - 25 detik r Job service time juga terdistribusi eksponensial detik r Aturan pemrosesan job processing rule: round-robin m Waktu setiap kali diproses CPU  q = 0.1 detik. (quantum) Jika sisa waktu pemrosesan > q detik, akan diberikan q detik, kemudian dikeluarkan kembali Jika sisa waktu pemrosesan  q detik, akan diberikan selama yang diperlukan, kemudian dikembalikan ke terminalnya m Cara lain pemrosesan job: FIFO, SJF, LIFO dsb. r Swap time:  = 0.15 detik. Diperlukan pada saat job memasuki CPU sebelum pemrosesan dimulai

5 5 Spesifikasi masalah r Waktu Respon satu job = (waktu job kembali ke terminal) – (waktu job meninggalkan terminalnya). r Pada awalnya, komputer kosong dan tidak bekerja, seluruh n job pada think state di terminal mereka. r Aturan penghentian: dikumpulkan 1000 waktu respon r Output: m Rata-rata waktu respon m Rata-rata jumlah job pada antrian CPU m Utilisasi CPU r Pertanyaan: berapa terminal (n) dapat dimuati job dan memiliki waktu respon rata-rata di bawah 30 detik?

6 6 Mengubah spesifikasi menjadi program Kedatangan Job Pemrosesan CPU Akhiri simulasi Terminal

7 7 Event, list r Event 1 = Kedatangan job di komputer (di akhir think time) 2 = Job meninggalkan CPU (selesai atau dikeluarkan sementara) 3 = Akhir simulasi (dijadwalkan setelah job ke-1000 selesai) r list, atribut: 1 = queue, attributes = [waktu kedatangan job pada komputer, waktu layanan yang tersisa] 2 = CPU, attributes = [waktu kedatangan job pada komputer, waktu layanan yang tersisa] Dalam CPU, jika waktu layanan yang tersisa > 0 maka job membutuhkan waktu CPU sebesar ini setelah lewat di CPU terakhir kali; jika waktu layanan yang tersisa  0, job akan selesai setelah lewat di CPU kali ini 25 = event list, attributes = [event time, event type]

8 8 Variable, random stream r variable: waktu respon r Random-number stream: m 1 = think time, 2 = service time

9 9 arrive() function Function arrive() Letakkan job pada antrian CPU idle? Ya Tidak Return Start CPU run

10 10 start_CPU_run() function

11 11 end_CPU_run() function

12 12 Multi-teller Bank r Kedatangan baru: m Jika ada teller yang idle (tidak bekerja), pilih teller idle yang paling kiri m Jika semua teller sibuk, pilih antrian paling pendek r Pada awalnya kosong dan idle r Penghentian: Pintu tutup setelah 480 menit. m Jika semua teller idle pada saat itu, langsung stop. m Jika ada teller yang masih bekerja, tetap beroperasi hingga semua nasabah meninggalkan pelayanan. Waktu antar kedatangan: Exp (mean = 1 mnt.) Waktu layanan: Exp (mean = 4.5 mnt.)

13 13 Aturan Jockey r Misalkan teller i (i tertentu) selesai melayani — misalnya, i = 3 pada gambar di atas. r Maka teller i menjadi idle, atau antrian i berkurang 1. r Mungkin seorang nasabah pada antrian lain, j (  i) pindah ke teller i (jika sekarang idle) atau ke ujung antrian i yang sekarang lebih pendek r Untuk setiap teller/antrian k, n k = jumlah nasabah yang menghadapi (antri + yang dilayani) teller k segera setelah teller i selesai melayani r Prosedur: m Jika n j > n i + 1 untuk j  i, maka jockey akan terjaadi m Jika n j > n i + 1 untuk beberapa nilai j  i, pilih j yang paling dekat (min |j – i|) m Jika n j > n i + 1 untuk dua nilai j  i yang sama dekat (kiri dan kanan), pilih yang kiri (nilai j yang lebih kecil )

14 14 Ukuran Kinerja r Estimasi m Rata-rata jumlah nasabah pada (semua) antrian per satuan waktu m Rata-rata dan maksimum delay nasabah pada antrian r Bagaimana efek jumlah teller?

15 15 Event, list r Event 1 = Kedatangan nasabah ke bank 2 = Kepergian nasabah dari teller (harus diketahui teller #) 3 = Tutup pintu pada menit ke-480. (mungkin merupakan Akhir, mungkin juga belum) (Gunakan juga “utility” non-event function jockey jika ada yang ingin jockey, dan, jika ya, lakukan) r list, atribut (n = jumlah teller): 1, …, n = queues, attributes = [waktu kedatangan pada antrian] n + 1, …, 2n = tellers, no attributes = (dummy list untuk utilisasi) 25 = event list, attributes = [event time, event type, nomer teller jika event type = 2]

16 16 Variabel, stream r variable: 1 = delay nasabah pada antrian (s) r Random-number streams: 1 = interarrival time, 2 = service time

17 17 arrive() function

18 18 depart() function

19 19 jockey() function

20 20 Model Job Shop Model r Lima workstation m Jumlah mesin yang identik pada setiap workstation seperti pada gambar m Jaringan antrian multiserver r Tiga type job m Waktu antar kedatangan (semua type job digabungkan) exp. (mean = 0.25 jam) m Type job ditentukan setelah kedatangan Type 1, 2, 3 w.p. 0.3, 0.5, 0.2 m Rute workstation untuk type job: Type 1: 3  1  2  5 (lihat gb.) Type 2: 4  1  3 Type 3: 2  5  1  4  3 m Mean service time (2-Erlang distrib.): Type 1: 0.50  0.60  0.85  0.50 Type 2: 1.10  0.80  0.75 Type 3: 1.20  0.25  0.70  0.90  1.0 Pada awalnya kosong dan idle Stop pada waktu 365  8 jam

21 21 Model Job Shop (lanjutan) r Estimasi m Total delay rata-rata pada antrian untuk setiap type job secara terpisah m Total delay rata-rata pada antrian secara menyeluruh meliputi semua type job, dibebani oleh probabilitas kejadian (yang telah diketahui) m Untuk setiap kelompok mesin secara terpisah: Delay rata-rata pada antrian (semua type job dikumpulkan) Jumlah rata-rata job pada antrian per satuan waktu (semua type job) Utilisasi grup = Jumlah mesin dalam grup r Pertanyaan: Jika Anda dapat menambahkan satu mesin ke shop, ke grup mana mesin tersebut harus ditambahkan? Rata-rata jumlah mesin yang bekerja per satuan waktu Jumlah mesin dalam grup

22 22 Event, list, dst r Event 1 = Kedatangan job pada sistem 2 = Kepergian job dari satu station tertentu 3 = Akhir simulasi r list, atribut: 1, …, 5 = queues, attributes = [waktu kedatangan pada station, job type, task number ] 25 = event list, attributes = [event time, event type, job type (jika event type = 2), task number (jika event type = 2)] (Task number sebuah job adalah jarak pada rutenya, diukur dalam stations, sehingga mulailah dari 1, kemudian di-inkremen sebesar 1 untuk setiap station)

23 23 variable r variable: delay antrian pada grup mesin 1, …, 5 total delay antrian untuk type job 1, 2, 3 Jumlah mesin busy pada grup mesin 1, …, 5 r Random-number stream: 1 = interarrival time, 2 = job-type coin flip, 3 = service time


Download ppt "1 Contoh: Time-shared computer and multi- teller bank Catatan diambil dari “Simulation Modeling and Analysis” by A. Law and W. Kelton, Third edition, McGraw."

Presentasi serupa


Iklan oleh Google