Saturday, January 31, 2009

Modeling and Analysis of Message-Queue in Multi-Tasking System

Ringkasan
Oleh : Erwan R.

Pada garis besarnya, jurnal ini menitikberatkan pada penganalisaan pengiriman pesan (message) dalam sebuah antrian pada real-time multitasking system, dengan membandingkan suatu simulasi dimana akan dihitung distribusi dari waktu eksekusi (execution time), periode tugas (task period), waktu tanggap (response time) dan sebagainya, sehingga pada akhirnya dapat diketahui banyaknya pesan pada antrian saat periode sibuk (busy period)


Formulasi dan Model


Diasumsikan menggunakan skenario Produser-Konsumer (Produser pembuat pesan, Konsumer pengguna pesan), menggunakan mode preemptive fixed priority task, awalnya menggunakan FIFO yang nantinya akan diperluas menggunakan model antrian prioritas (priority queue).
Konsumen mempunyai sifat :
While(1){
…….
Receive(……); //blocking
…….
}
Selama menerima pesan (kondisi = 1), konsumen tetap bekerja, namun bila sudah tidak ada pesan terkirim (kondisi = 0), maka konsumen akan terhalang (di block). Produser diasumsikan sebagai pekerjaan berkala dimana pada akhir eksekusinya menghasilkan pesan.



Pada saat task produser A selesai dieksekusi, akan mengirimkan pesan, pesan tersebut diterima ke dalam antrian karena antrian menyediakan tempat untuk pesan tersebut, kemudian task produser B selesai dieksekusi, juga mengirimkan pesan, antrian menyediakan tempat untuk pesan produser B. Pesan produser A dikerjakan terlebih dahulu baru pesan produser B, karena pada antrian ini menggunakan mode FIFO, demikian seterus juga pada task produser C.


Terminologi dibawah digunakan pada makalah ini:

  • T – Periode Tugas (task period)
  • C – Waktu eksekusi (execution time) terlama (worst case)
  • J – jitter dari pekerjaan, J = Rmax – Rmin, dimana R berhubungan dengan waktu relative pada permulaan dengan waktu pada masing-masing pekerjaan. Jika Rmin = 0 maka J = Rmax dimana ini diasumsikan sebagai berikut
  • P – Prioritas dari tugas (task priority)
  • r – waktu yang digunakan (release time)
  • #p – Sekumpulan aturan pada produser
  • #c – Sekumpulan aturan pada konsumer
  • Queque size – Maksimum buffer yang diperlukan untuk antrian
  • R – Respon waktu (response time) end-to-end yang terburuk terkait antara produser – antrian – transaksi konsumer.
  • Rc{0...n} – Waktu tanggap (response time) untuk mengendalikan sejumlah n pesan pertama pada kondisi sibuk (periode sibuk adalah periode selama antrian tersebut terus menerus ada dan tidak pernah kosong)

Analisa Message-Queue


Produser Tunggal – Single Producer

Sebuah produser yang diketahui periode T, besaran jitter J, waktu eksekusi C dan sebuah prioritas P., konsumer akan mengkonsumsi n-pesan,



maka dapat diketahui :





Waktu yang digunakan (release time) untuk n-pesan :


Menghitung waktu tanggap (response time) konsumer :


Menentukan waktu tanggap dengan n-pesan :

Kondisi untuk menghitung ukuran Queue adalah jika :


Menentukan ukuran maksimum Queue :

Produser Jamak - Multiple Producers


Skenario pertama, dimana semua task produser mempunyai prioritas yang sama yaitu lower priority :


Skenario kedua, dimana produser mempunyai prioritas yang berbeda, task Produser A dan task produser B mempunyai lower priotrity sedang task produser C mempunyai higher priority :


Skenario ketiga,
dimana semua task produser mempunyai higher priority :



Untuk mendapatkan waktu tanggap (response time), menjalankan langkah - 1 hingga langkah – 5, kemudian melakukan perubahan pada langkah - 6 :

Jika memenuhi syarat pada kondisi langkah – 7, maka penghitungan ukuran maksimum Queue adalah :


Kesimpulan


Di dalam percobaan penganalisaan Message-Queue ini termasuk pada modeling dan analisa penjadwalan, mengindikasikan bahwa tidak mudah membangun skenario worst-case, khususnya mengumpulkan response time worst-case end-to-end yang menghubungkan ke tiap produser. Pengembangan model termasuk message dengan prioritas yang berbeda.
Setelah mendapatkan metoda analisa yang baik, kemudian dibandingkan dengan hasil simulasi dan hasil simulasi ini akan diintegrasikan pada teori reliability dengan analisa penjadwalan.


2 comments:

Anonymous said...

ga ngerti huuhuuuuu

Virga said...

bacanya aja pusing pak..