1 / 15

KONSEP THREAD

Pertemuan 6. KONSEP THREAD. By: Asriadi. Pendahuluan.

erelah
Download Presentation

KONSEP THREAD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 6 KONSEP THREAD By: Asriadi

  2. Pendahuluan Thread merupakan unit dasardaripenggunaan CPU, yang terdiridariThread_ID, program counter, register set, danstack. Sebuahthread berbagicode section, data section, dansumberdayasistemoperasidengan Thread lain yang dimilikioleh proses yang sama. Thread jugaseringdisebutlightweight process. Sebuah proses tradisionalatauheavyweight process mempunyaithread tunggal yang berfungsisebagaipengendali. Perbedaannyaialah proses denganthread yang banyak– mengerjakan lebih dari satu tugas pada satu satuan waktu.

  3. Gambar Thread

  4. Keuntungan Thread Keuntungandari program yang multithreading terbagimenjadiempatkategori: 1. Responsif. Aplikasiinteraktifmenjaditetapresponsifmeski pun sebagiandari program sedangdiblokataumelakukanoperasi yang panjangkepadapengguna. Umpamanya, sebuahthread dariweb browser dapatmelayanipermintaanpenggunasementarathread lain berusahamenampilkangambar.

  5. Lanjutan… 2. Berbagisumberdaya. thread berbagimemoridansumberdayadenganthread lain yang dimilikioleh proses yang sama. Keuntungandariberbagikodeadalahmengizinkansebuahaplikasiuntukmempunyaibeberapathread yang berbedadalamlokasimemori yang sama.

  6. Lanjutan… 3. Ekonomis. Pembuatansebuah proses memerlukandibutuhkanpengalokasianmemoridansumberdaya. Alternatifnyaadalahdenganpenggunaanthread, karenathread berbagimemoridansumberdaya proses yang memilikinyamakaakanlebihekonomisuntukmembuatdancontext switch thread. Akan susahuntukmengukurperbedaanwaktuantara proses danthread dalamhalpembuatan dan pengaturan, tetapi secara umumpembuatan dan pengaturanproseslebihlama dibandingkanthread. PadaSolaris, pembuatan proses lebih lama 30 kali dibandingkanpembuatanthread, dancontext switch proses 5 kali lebih lama dibandingkancontext switch thread.

  7. Lanjutan… 4. Utilisasiarsitekturmultiprocessor. Keuntungandari multithreading dapatsangatmeningkatpadaarsitekturmultiprocessor, dimanasetiapthread dapatberjalansecarapararel di atas processor yang berbeda. Padaarsitektur processor tunggal, CPU menjalankansetiapthread secarabergantiantetapihaliniberlangsungsangatcepatsehinggamenciptakanilusipararel, tetapipadakenyataannyahanyasatuthread yang dijalankan CPU padasatu-satuanwaktu (satu-satuanwaktupada CPU biasadisebuttime slice atauquantum).

  8. Thread Penggunadan Kernel 1. Thread pengguna Thread penggunadidukung kernel sertadiimplementasikandenganpustakathread padatingkatanpengguna. Pustakamenyediakanfasilitasuntukpembuatanthread, penjadwalanthread, danmanajementhread tanpadukungandari kernel. Karena kernel tidakmenyadari user-level thread makasemuapembuatandanpenjadwalanthread dilakukandalamruangpenggunatanpacampurtangankernel. Olehkarenaitu, thread penggunabiasanyadapacepatdibuatdandikendalikan. Tetapithread penggunamempunyaikelemahanuntuk kernel thread tunggal.

  9. 2. Thread kernel Thread kernel didukunglangsungolehsistemoperasi. Pembuatan, penjadwalan, danmanajementhread dilakukanoleh kernel padakernel space. Karenapengaturanthread dilakukanolehsistemoperasimakapembuatandanpengaturan kernel thread lebihlambatdibandingkan user thread. Keuntungannyaadalahthread diaturoleh kernel, karenaitujikasebuahthread menjalankanblocking system call maka kernel dapatmenjadwalkanthread lain di aplikasiuntukmelakukaneksekusi. Keuntunganlainnyaadalahpadalingkunganmultiprocessor, kernel dapatmenjadwal thread-thread pada processor yang berbeda. Contohsistemoperasi yang mendukung kernel thread adalahWindows NT, Solaris, Digital UNIX.

  10. Model Multithreading • Model Many to One Model Many-to-One memetakanbeberapathread tingkatanpenggunakesebuahthread tingkatan kernel. Pengaturanthread dilakukandalamruangpengguna, sehinggaefisien. Hanyasatuthread penggunayang dapatmengaksesthread kernel padasatusaat. Jadi, multiple thread tidakdapatberjalansecarapararelpadamultiprocessor. Thread tingkatpengguna yang diimplementasipadasistemoperasi yang tidakmendukungthread kernel menggunakan model Many-to-One.

  11. 2. One to One Model One-to-One memetakansetiapthread tingkatanpenggunakethread kernel. Iamenyediakanlebihbanyakconcurrency dibandingkan model Many-to-One. Keuntungannyasamadengankeuntunganthread kernel. Kelemahannya model iniialahsetiappembuatanthread penggunamemerlukanpembuatanthread kernel. Karenapembuatanthread dapatmenurunkankinerjadarisebuahaplikasimakaimplmentasidari model ini, jumlahthread dibatasiolehsistem. Contohsistemoperasiyang mendukung model One-to-One ialahWindows NT danOS/2.

  12. 3. Many to Many Model Many-to-Many memultipleksbanyakthread tingkatanpenggunakethread kernel yang jumlahnyalebihsedikitatausamadengantingkatanpengguna. thread. Jumlahthread kernel dapatspesifikuntuksebagianaplikasiatausebagianmesin. Many-to-One model mengizinkandeveloper ntukmembuat user thread sebanyak yang iamautetapiconcurrency tidakdapatdiperolehkarenahanyasatuthread yang dapatdijadwaloleh kernel padasuatuwaktu.

  13. Thread Pools Padaweb server yang multithreading adaduamasalah yang timbul: • Ukuranwaktu yang diperlukanuntukmenciptakanthread untukmelayanipermintaanyang diajukanterlebihpadakenyataannyathread dibuangketikaiaseketikasesudahiamenyelesaikantugasnya. • Pembuatanthread yang tidakterbatasjumlahnyadapatmenurunkanperformadarisistem.

  14. Solusinyaadalahdenganpenggunaan Thread Pools, carakerjanyaadalahdenganmembuatbeberapathread pada proses startup danmenempatkanmerekakepools, dimanamerekadudukdiamdanmenungguuntukbekerja. Jadiketika server menerimapermintaanmakamakaiaakanmembangunkanthread daripool danjikathread tersediamakapermintaantersebutakandilayani. Ketikathread sudahselesaimengerjakantugasnyamakaiakembalikepool danmenunggupekerjaanlainnya. Bilatidakthread yang tersediapadasaatdibutuhkanmaka server menunggusampaiadasatuthread yang bebas.

  15. Keuntunganthread pool: • Biasanyalebihcepatuntukmelayanipermintaandenganthread yang adadibandingdenganmenungguthread barudibuat. • Thread pool membatasijumlahthread yang adapadasuatuwaktu. Hal inipentingpadasistem yang tidakdapatmendukungbanyakthread yang berjalansecaraconcurrent.

More Related