Slide sebagian besar diambil dari: Model Antrian Slide sebagian besar diambil dari: 1. The Art of Computer Systems Performance Analysis” by Raj Jain, Wiley 1991. 2. Computer Systems Analysis Using Network Models, Edward Lazowska, John Zahorjan, Scott Graham, and Kenneth Sevcik, Prentice-Hall, 1984.
Outline Hukum Operasional Dasar teori antrian Proses stokastik Hukum Utilisasi Hukum Little Response Time Law Forced Flow Law Dasar teori antrian Proses stokastik Analisis satu antrian
Hukum Operasional “Operasional” => langsung terukur Asumsi operasional (Misalnya: jumlah kedatangan == jumlah yang selesai) dapat diveifikasi dengan pengukuran Kuantitas operasional dapat langsung diukur dalam satu periode observasi tertentu Kedatangan Selesai Sistem Sistem sebagai Black box Many day-to-day modeling problems can be solved using laws/relationships that make no assumption about the arrival process or service time distribution. These are the so-called Operational laws – the name owing to the fact that they are based on assumptions that can be easily verified by measurements. These laws almost always serve as “first cut” models or “validation” tools.
Notasi A := jumlah kedatangan := kecepatan kedatangan = A/T T := waktu observasi A := jumlah kedatangan := kecepatan kedatangan = A/T C := jumlah yang selesai X := throughput = C/T B := busy time / waktu sibuk U := utilisasi = B/T S := mean service time=B/C R := mean time pada sistem (residence time) Z := think time pada terminal user D := service demand V := number of visits N := mean number in system
Hukum Ulitisasi Utilisasi adalah porsi waktu kerja / sibuk sistem. U selalu bernilai antara 0 dan 1. Utilisasi sistem (atau sumber daya) sama dengan throughput dikalikan waktu pelayanan rata-rata
Hukum Utilisasi – Contoh 1 Sebuah disk melayani 50 request/detik; setiap request membutuhkan waktu layanan 0.005 detik. 1) Berapa nilai utilisasinya? U = 50x0.005 = .25 (25%) 2) Kecepatan servis maksimum yang dimungkinkan? U = 1 = (0.005)X X = 200 request/detik
Hukum Utilisasi – Contoh 2 Sebuah router menyalurkan 100 paket/detik ke sebuah link. Waktu transmisi (yaitu, waktu yang diperlukan untuk meletakkan paket pada link), rata-rata, adalah 1 ms. Berapa nilai utilisasi link? Link throughput: X = 100 paket/detik Service time: S = 0.001 detik U = XS = 0.1 (10%) Kapasitas link?
Hukum Little (1) Asumsikan Job Flow Balance : jumlah kedatangan sama dengan jumlah yang selesai Job baru tidak dibangkitkan oleh sistem Job tidak hilang (selamanya) pada sistem Jika job hilang dalam sistem (misalnya, karena kapasitas yang terbatas), hukum ini berlaku dengan kecepatan kedatangan yang disesuaikan (adjusted arrival rate) Mean # pada system = arrival rate x mean response time N = R = X R Secara intuitif, kita akan menurunkan hukum ini …
Hukum Little (2) Nomer pada sistem 1 2 3 4 7 8 5 Waktu Nomer Job 1 2 3 4 7 8 Kedatangan Kepergian 5 Waktu Gb 1: J = Area antara garis “kedatangan” dan “kepergian” Gb 2 & 3: J=area di bawah kurva = waktu total yang diperlukan job dalam sistem Dari Gb 3, mean time pada sistem = J/A Dari Gb 2, mean number pada sistem = J/T = A/T x J/A N = R = XR (Hukum Little) Gb. 1 # Job Waktu pada sistem 1 2 3 J/T (multiply both numerator and denominator by A) = A/T x J/A Gb. 3
Hukum Little (3) Kedatangan Kepergian Jumlah pada sistem = N Gb: Hukum Little R Jumlah rata-rata pada sistem sama dengan hasil kali throughput sistem dengan residence time rata-rata customer.
Hukum Little – Contoh 1 Pada jam sibuk, sekitar 20 klien mendatangi sebuah barbershop. Setiap klien, rata-rata, membutuhkan waktu 15 menit di tempat tersebut. Berapa klien ada pada saat yang sama di tempat tersebut? Dari hukum Little: N = R = 20 klien/jam x (15/60) = 5 klien
Hukum Little – Contoh 2 disk antrian kepergian kedatangan Sistem 1 Sistem 2 Hukum Little dapat diterapkan pada banyak subsystem Satu disk melayani 50 request/detik; setiap request membutuhkan waktu layanan 5 ms; waktu rata-rata untuk memenuhi satu request adalah 20 ms; Lihat subsystem 1: X = 50, S = 0.005; U = .25. Dalam hal ini, N = U dan S = R. Kenapa? Lihat subsystem 2: X = 50, R = 0.02; N = XR N = 1 (antri + pada server); # rata-rata yang menunggu palayanan = ?
Model Time Sharing System Response Time Law (1) Terminal Subsistem Box 1 Box 2 R Z X N = # rata-rata terminal; Z = think time rata-rata; R = Resp. time sistem rata; Dengan menggunakan hukum Little pada sistem (lihat gambar di bagian bawah RHS): N = X(R+Z) R = (N/X) - Z Subsistem + Terminal X R+Z Model Time Sharing System
Model Time Sharing System Response Time Law (2) Hukum Little berlaku pada Box 1 dan Box 2 Hukum Little pada Box 2: NS = XR Hukum Little pada Box 1: NT = XZ Perhatikan bahwa: N = NT + NS Terminal Subsistem Box 1 Box 2 R Z X Ns := avg. # trying to obtain service; NT := avg. # users in think mode Model Time Sharing System
Response Time Law – Contoh 1 Terminal Subsistem Box 1 Box 2 R Z X 64 user interactif; think time rata-rata = 15 detik; system throughput = 4 interaksi/detik. Hitung R? R = (N/X) – Z = 1 detik
Response Time Law – Contoh 2 Sebuah Web server diukur selama periode satu jam. Selama periode ini, 50 klien diobservasi. Demand waktu CPU rata-rata terukur sebesar 5ms, dengan utilisasi CPU sebesar 0.25. Response time rata-rata untuk request adalah 0.25 detik. Berapa rata-rata client think time (dalam detik)?
Response Time Law – Contoh 2 N = 50; Scpu = 0.005s; Ucpu = 0.25; R = 0.25s Dengan menggunakan hukum utilisasi: X = Ucpu/Scpu = 50 req./s Dengan menggunakan hukum response time: Z = (N/X) – R = 0.75s Pada satu saat, berapa banyak klien yang melakukan “thinking”?
Forced Flow Law 2 1 3 Setiap “system-level” request dapat membutuhkan lebih dari satu kali layanan “sumber daya” sistem. Contoh: Suatu transaksi basis bisa memerlukan beberapa kali aksis disk; Visit ratio (Visit count) – rasio jumlah selesai pelayanan subsistem terhadap jumlah pelayanan sistem Vk := Ck/C
Forced Flow Law Jika diperlukan Vk layanan pada sumber daya K dalam waktu T dan total X selesainya layanan system-level yang terobservasi pada waktu T, maka: Xk := VkX Uk := XkSk = X VkSk = XDk Sk := mean service time per layanan di sumber daya K Dk := total service demand pada sumber daya K
Forced Flow Law – Example 1 Sebuah server basis data dimonitor selama 15 menit. Pada waktu itu, CPU server berstatus sibuk selama 12 menit. Kemudian diketahui bahwa setiap transaksi membutuhkan rata-rata 2 kali layanan CPU, dan membutuhkan layanan selama 1 milidetik setiap kalinya. Berapa throughput sistem (dalam transaksi per detik)? T = 15 menit; BC = 12 menit; VC = 2; SC = 1 milidetik UC = B/T = 0.8 UC = X VCSC => X = 0.8/(2x0.001) = 400 transaksi/detik
Forced Flow Law – Contoh 2 Sebuah sistem interaktif memiliki karakteristik sebagai berikut: jumlah terminal: 18 think time rata-rata: 10 detik layanan pada disk tertentu per interaksi: 20 utilisasi disk ini: 0.3 Kebutuhan rata-rata per layanan pada disk: 20 milidetik Tentukan: 1) disk throughput ? 2) system throughput ? 3) response time ?
Outline Hukum Operasional Dasar teori antrian Proses Stokastik Definisi Notasi Kendal Aturan untuk semua antrian Proses Stokastik Analisis satu antrian
Model Antrian Dasar (1) Disiplin layanan Proses kedatangan Antrian Server Populasi pelanggan Yang berikut ini harus ditentukan (untuk memungkinkan dilakukannya analisis): Populasi pelanggan Proses kedatangan Jumlah server Disiplin (aturan) layanan Distribusi waktu layanan Kapasitas sistem
Model Antrian Dasar (2) Ukuran Populasi Proses kedatangan Pelanggan potensial yang dapat memasuki antrian Sistem riil memiliki populasi berhingga Bagaimanapun, jika populasi besar, asumsikan tak hingga untuk kemudahan analisis. Proses kedatangan Pelanggan datang pada waktu t1,t2,…,tj Waktu antar kedatangan j := tj-tj-1 Asumsikan waktu antar kedatangan j merupakan variabel acak IID Misalnya, proses Poisson, Erlang, hipereksponensial, umum. Distribusi waktu layanan Asumsikan variabel acak IID Misalnya, proses Poisson, Erlang, hipereksponensial, umum. Disiplin layanan FIFO (atau FCFS) paling umum Random Round Robin Prioritas … Jumlah server Satu/banyak (identik) server Kapasitas sistem Ruang tunggu + jumlah yang sedang dilayani Asumsikan tak hinggan jika kapasitas besar
Notasi Kendal Notasi Kendall Beberapa singkatan umum A/S/m/B/K/SD A adalah distribusi waktu antar kedatangan S adalah distribusi waktu layanan m adalah jumlah server B adalah jumlah buffer (kapasitas sistem) K adalah ukuran populasi SD adalah disiplin layanan Beberapa singkatan umum M (Markov): menunjukkan distribusi eksponensial (berarti “tidak membutuhkan memori”) D (Deterministik): nilai-nilai bersifat konstan Ek (Erlang): Distribusi Erlang dengan k fase G (General/umum): menunjukkan bahwa distribusi tidak dispesifikasi, hasil valid untuk semua distribusi Bulk arrival (kedatangan yang berjumlah banyak) dilambangkan dengan menggunakan superscript. Misalnya, M[x]
Contoh M/M/3/20/1500/FCFS adalah sistem antrian tunggal dengan: Waktu antar kedatangan yang terdistribusi eksponensial Waktu layanan terdistribusi eksponensial Tiga server Kapasitas sistem 20; ukuran antrian adalah 20 – 3 = 17 Ukuran populasi 1500 Disiplin layanan adalah FCFS M/M/3: Biasanya, mengasumsikan kapasitas sistem tak hingga, populasi tak hingga, dan layanan FIFO. Pada kasus seperti ini, tiga parameter terakhir tidak dipakai.
Variabel Acak untuk Antrian Server Kedatangan sebelumnya Layanan dimulai Layanan selesai w s r = waktu antar kedatangan = mean arrival rate (kecepatan kedatangan rata-rata) = 1/E[] Bergantung pada # job pada sistem s = waktu layanan per job = mean service rate (kecepatan layanan rata-rata) per server = 1/E[s]; total service rate = m nq = # job yang antri ns = # job yang dilayani n = # job pada sistem n = nq + ns adalah panjang antrian r = response time (waktu tanggap) Waktu antri plus dilayani w = waktu tunggu Waktu mulai layanan dikurangi waktu datang All variable except and are random
Aturan untuk semua Antrian (1) Kondisi Stabilitas Untuk kestabilan, mean arrival rate harus lebih kecil dari mean service rate: < m Tidak berlaku untuk sistem polulasi berhingga dan sistem kapasitas berhingga Antrian untuk sistem populasi berhingga tidak dapat bertambah tanpa batas Per definisi, antrian untuk sistem buffer berhingga tidak dapat bertambah tanpa batas.
Aturan untuk semua Antrian (2) Jumlah pada Sistem versus Jumlah pada Antrian Jumlah job pada sistem sama dengan jumlah yang sedang antri dan sedang dilayani n = nq + ns E[n] = E[nq]+E[ns] Yaitu, jumlah rata-rata (mean) job pada sistem sama dengan jumlah rata-rata pada antrian ditambah jumlah rata-rata yang sedang dilayani. Jika service rate server tidak bergantung pada jumlah job pada antrian, maka Var[n] = Var[nq]+Var[ns] Cov(nq,ns) = 0
Aturan untuk semua Antrian (3) Jumlah versus Waktu Jika job tidak hilang karena buffer penuh, job rata-rata (mean) berhubungan dengan waktu tanggap (response time) sebagai berikut: mean # job pada sistem = arrival rate x mean resp. time mean # job pada antrian = arrival rate x mean waktu tunggu Hubungan di atas didapat dengan menggunakan Hukum Little Hukum Little dapat dipakai untuk sistem buffer berhingga dengan menganggap effective arrival rate
Aturan untuk semua Antrian (4) Waktu pada sistem versus Waktu pada Antrian Waktu yang dihabiskan sebuah job pada sistem adalah jumlah waktu tunggu dan waktu layanan. Yaitu, r = w + s Mean response time sama dengan jumlah mean waiting time dan mean service time. E[r] = E[w] + E[s] Jika service rate tidak bergantung pada # job pada antrian Cov(w,s) = 0 Var[r] = Var[w] + Var[s]
Outline Hukum Operasional Dasar teori antrian Proses stokastik Status diskrit vs. Status kontinu Markov Birth-Death Poisson Analisis Antrian Tunggal
Proses Stokastik Pemodelan analitik banyak menggunakan variabel acak yang merupakan fungsi waktu. # job n(t) pada CPU sistem komputer # job w(t) yang menunggu pada antrian Fungsi distribusi probabilitas untuk n(t) dan w(t) untuk semua t (yang mungkin) diperlukan untuk menspesifikasi variabel acak ini. Fungsi acak dari waktu ini disebut proses stokastik
Proses Stokastik – Status Diskrit vs. Status Kontinu Diklasifikasikan menurut nilai yang bisa dimiliki status Jika nilai yang mungkin tersebut berhingga atau dapat dicacah=> diskrit Misalnya, # job pada sistem n(t) {0, 1, 2, …} n(t) disebut proses stokastik-diskrit atau rangkaian stokastik Proses status kontinu dapat memiliki semua nilai riil.
Contoh Proses Stokastik – Proses Bernoulli Penghitungan jumlah sisi gambar pada pelemparan n coin merupakan proses stokastik yang umum dikenal dengan nama proses Bernoulli Misalkan X1, X2, X3, … adalah variabel acak IID Bernoulli; yaitu Xi=1 dengan probabilitas p; Xi=0 dengan probabilitas 1-p; Maka, Sn= X1+ X2+ … + Xn adalah proses Bernoulli Sn adalah proses status diskrit Sn memiliki distribusi Binomial, untuk setiap n
Proses Stikastik yang Penting Proses Markov Birth-Death Process Proses Poisson
Proses Markov Jika probabilitas status yang akan datang tidak bergantung pada status di masa lalu dan hanya bergantung pada masa kini, maka proses tersebut disebut Markov. Properti Markov memudahkan analisis, karena data dari keadaan sebelumnya tidak perlu diingat. Markov Chain: Proses Markov status diskrit
Markov Chain Jika tertarik dengan Markov chain dengan probabilitas transisi status stasioner, yaitu, 1 p q
Birth-Death Process (1) Birth-Death process: Markov yang hanya memungkinkan transisi ke status yang bersebelahan Merepresentasikan status dengan integer. Proses dalam status n dapat transisi ke status n-1 atau n+1 Contoh, # job dalam antrian pada sistem single server dapat direpresentasikan oleh birth-death process Birth => kedatangan job => +1 transisi status Death => kepergian => -1 transisi status Batched arrival (kedatangan bersamaan) tdiak dapat dimodelkan!
Birth-Death Process (2) 2 3 2 3 0 μ1 1 1 μ2 μ3 μ4 Dengan menggunakan keseimbangan aliran stokastik, probabilitas steady state pada suatu status dapat dihitung.
Hubungan antar Proses Proses Markov Birth-Death process Proses Poisson Poisson process and all Birth-Death processes are Markov processes.
Outline Hukum Operasional Dasar teori antrian Proses Stokastik Analisis of Antrian Tunggal Antrian M/M/1 Antrian M/M/c
Antrian M/M/1 (1) Satu server, satu antrian, layanan FIFO Waktu antar kedatangan dan layanan terdistribusi eksponensial Populasi tak hingga, kapasitas tak hingga Dapat dimodelkan sebagai birth-death process 2 3 μ 1 Notation: pn := probabilitas steady-state dari keberadaan pada status n
Antrian M/M/1 (2) Dengan menggunakan persamaan keseimbangan aliran stokastik (stochastic flow balance): pn = (/)n p0 = np0, n=0,1,…, adalah intensitas trafik (<1 untuk stabilitas) Total probabilitas adalah. Dengan demikian, ∑ pn = 1, n = 0, 1, …, p0(0 + 1 + 2 + …) = 1 p0 = (1-) pn = n(1-) Pengukuran kinerja yang penting adalah …
Antrian M/M/1 (3) Utilisasi: probabilitas satu atau lebih job berada dalam sistem U = 1- p0 = Mean # job pada Sistem E[n] = ∑npn , n = 0, 1, …, E[n] = /(1-) Mean response time (hukum Little’s) Jumlah pada sistem = arrival rate x response time E[n] = E[r] E[r] = (1/)(/(1-)) = (1/)(1/(1-))
Antrian M/M/1 (4) Mean # job pada antrian E[nq] = ∑(n-1)pn , n = 1, …, E[nq] = (2)/(1-) Juga bisa didapat dengan menggunakan: E[n] = E[nq] + E[ns] Mean waiting time pada antrian (Hukum Little) Jumlah pada antrian = arrival rate x mean waiting time E[nq] = E[w] E[w] = (1/)((2)/(1-)) = ((1/μ)/(1-))
Antrian M/M/1 (5) Probabilitas n atau lebih job ada pada sistem P(# pada sistem ≥ n) = ∑pj , j = n,n+1, …, = ∑(1-)j = n Distribusi waiting time (waktu tunggu) dan response time (waktu tanggap): Waiting time pada antrian terdistribusi eksponensial P[0 < w ≤ t] = 1 - e-t(1-) Response times terdistribusi eksponensial P[0 < r ≤ t] = 1 - e-t(1-)
Antrian M/M/1 – Contoh Paket pada router datang dengan kecepatan 100 paket/detik. Router membutuhkan 1 milidetik untuk mentransmisikan paket yang masuk ke link yang ke luar. Dengan menggunakan model M/M/1, jawablah pertanyaan berikut ini: Berapa nilai utilisasi? Probabilitas n paket pada router? Mean time yang diperlukan di dalam router router? Probabilitas buffer overflow jika router hanya dapat menampung 5 paket? Persyaratan buffer untuk membatasi kehilangan paket sampai 10-6?
Antrian M/M/1 - Contoh Arrival rate = 100 pps Service rate Intensitas trafik = 0.1 Waktu beradanya paket dalam router (mean) r = (1/)(1/(1-)) = 1.01 ms Probabilitas buffer overflow P(# ≥ 6) = 6 = 10-12 Untuk membatasi kehilangan sampai lebih kecil dari 10-6 n ≤ 10-6 n > log(10-6)/log(0.1) > 3
Antrian M/M/c (1) c server, satu antrian, layanan FIFO service, waktu antar kedatangan dan layanan terdistribusi eksponensial Populasi tak hingga, kapasitas tak hingga Model sebagai birth-death process dengan K status 2 3 μ 1 2μ 3μ Diagram transisi status untuk antrian M/M/C dengan C=3
Antrian M/M/C (2) Mean arrival rate: Mean service rate: c Intensitas Trafik (utilisasi rata-rata): = /(c) < 1 untuk stabilitas Persamaan keseimbangan aliran (flow balance) menghasilkan: pn = ((c)n/n!)p0 n = 1,…,c-1 pn = ((c)n/(c!cn-c))p0 n ≥ c Dengan menggunakan hukum probabilitas total
Antrian M/M/c (3) Yang baru datang menunggu jika semua server sibuk, yaitu, ada c atau lebih job dalam sistem P(# ≥ c job) = pc+ pc+1+ pc+2+… ζ = [(c)c]/[c!(1-)] p0 ζ dikenal sebagai Erlang’s C formula Mean # job dalam sistem E[n] = npn n = 0, 1, …, = [p0(c)c]/[c!(1-)2] + c = c + ζ/(1-)
Antrian M/M/c (4) Mean # job dalam antrian E[nq] = (n-c)pn n = c, …, = [p0(c)c]/[c!(1-)2] = ζ/(1-) Mean response time (Hukum Little) E[n] = E[r] E[r] = 1/ + ζ/[c(1-)] Mean waiting time E[w] = E[nq]/ = [ζ/(1-)]/ = ζ/[c(1-)]