Senin, 24 Maret 2014

Implementasi Thread dan Multithreaded Server

Definisi Thread
Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal. Operasi yang paling Modern saat ini adalah sistem yang banyak sekali menyediakan berbagai cara, dan memungkinkan suatu proses terkendali dengan baik.


Thread Model
Thread memungkinkan multiple execution terjadi pada environment proses yang sama
Lightweight process = karena thread memiliki beberapa sifat proses
Multithreading = Beberapa thread pada proses yang sama

(a) Tiga proses dengan satu threads
(b) Satu process dengan tiga threads


Masing-masing thread memiliki stack

Kegunaan Thread
Multithreading berguna untuk multiprocessor dan singleprocessor.
Kegunaan untuk system multiprocessor adalah :
· Sebagai unit pararel atau tingkat granularitas pararelisme.
· Peningkatan kinerja disbanding berbasis proses.
Kegunaan multithreading pada singleprocessor, adalah :
· Kerja foreground dan background sekaligus di satu aplikasi.
· Penanganan asynchronous proseccing menjadi baik.
· Mempercepat eksekusi program.
· Pengorganisasian program menjadi lebih baik.

Manfaat utama banyak thread di satu proses adalah memaksimumkan derajat kongkurensi antara operasi-operasi yang terkait erat. Aplikasi jauh lebih efisien dikerjakan sebagai sekumpulan thread disbanding sekumpulan proses.

Karakteristik Thread
Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :
· Ruang alamat.
· Himpunan berkas yang dibuka.
· Proses-proses anak.
· Timer-timer.
· Snyal-sinyal.
· Sumber daya-sumber daya lain milik proses.
Tiap thread mempunyai property independen berikut seperti :
· Keadaan (state) eksekusi thread (running, ready dan sebagainya).
· Konteks pemroses. Thread dapat dipandang sebagai satu PC (program counter) tersendiri independen di satu proses.
· Beberapa penyimpan static per-thread untuk variable-variabel local.

Paket Bahasan Perancangan Paket Thread
Paket thread adalah sekumpulan primitive (misalnya library calls) untuk pemrogram berhubungan dengan thread di program aplikasi. Pertimbangan penting pembuatab paket thread adalah :
· Waktu penciptaan thread.
· Penanganan critical region di tingkat thread.
· Penanganan private global variables.
· Implementasi paket thread.

Implementasi Paket Thread
Implementasi paket thread :
1. Thread level kernel.
Keunggulan :
· Memudahkan koordinasi multithread seperti proses server.
· Tidak seboros kumpulan proses tradisional.
Kelemahan :
· Operasi manajemen thread sangat lebih boros.
· Kernel harus menyediakan semua feature.
2. Thread level pemakai.
Keunggulan :
Kinerja luar biasa bagus disbanding thread level kernel.
· Tidak diperlukan modifikasi kernel.
· Fleksibelitas tinggi.
Kelemahan :
· Tidak manfaatkan multiprocessor.
· Untuk aplikasi dengan keterlibatan kernel yang kecil.
· Mengharuskan nonblocking system call.

MULTITHREAD SERVER
Definisi Multithread
Arti istilah Multithreading dianggap berkaitan erat dengan pengertian multi thread merupakan jalannya beberapa proses dengan urutan yang cepat (multitasking) dalam satu program. Multithreading ini merupakaan teknik pada manipulasi data dimana node-node pada struktur pohon data berisi penunjuk ke node yang lebih tinggi untuk membuat lintasan struktur menjadi lebih efisien.
Keuntungan MultiThreading
Multiprocessing merupakan penggunaan dua atau lebih CPU dalam sebuah sistem komputer. Multitasking merupakan metode untuk menjalankan lebih dari satu proses dimana terjadi pembagian sumberdaya seperti CPU. Multithreading adalah cara pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen.




SUMBER :
http://amicowo.wordpress.com/2011/07/18/pengertian-thread/                   

1 komentar:

  1. artikelnya keren gan, informatif banget, oh ya perkenalkan nama saya Yuli Suseno, jika berkenan agan bisa mngunjungi web kampus kami di ISB Atma Luhur. terima Kasih

    BalasHapus