Anda di halaman 1dari 5

Hasil Rekap Diskusi dari Presentasi Kelompok 3

Anggota Kelompok :

1. Muhammad Daffa (19082010031)


2. Anisa Rahma Salsabila (19082010051)
3. Hastri Cantya Danahiswari (19082010056)
4. Talenta Ekklesia Noor (19082010113)

1. Pada programming challenges, pada poin 5. Mengapa pengujian dan debugging program
bersamaan seperti itu secara inheren lebih sulit daripada pengujian dan debugging aplikasi
single-threaded? (Mochamad Suhri AR 19082010041)

Jawab: Karena pengujian dan debugging menggunakan multithreaded process terdapat


kompleksitas interaksi antar threadnya. Dimana pada multithread, CPU menyediakan beberapa
thread eksekusi yang bekerja secara bersamaan sehingga pengujiaan dan debuggingnya akan
lebih sulit. Berbeda dengan single-threaded yang hanya menggunakan satu thread eksekusi
saja.

2. Berikan contoh pengimplementasian model Many - to - One, model One - to - one, dan
model Many - to - many yang ada pada multithreading models? (Rafli Fahreza 19082010079)

Jawab:

 Contoh pengimplementasian many - to - one model adalah java. Java pada awal rilis
menggunakan metode many to one model dalam pengimplementasian nya
 Contoh pengimplementasian one - to - one model adalah sistem operasi linux dan
Microsoft windows.
 Contoh pengimplementasian many - to - many model adalah Model Many-to-Many
tidak mengalami kelemahan dari dua model di atas.

Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang
bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga ketika suatu
thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain
untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah
Solaris, IRIX, dan Digital UNIX.
4. Mengapa transistor didalam sebuah chip mengalami pertumbuhan yang sangat cepat? (Fanni
Silvana 19082010091)

Jawab: Karena kebutuhan akan kemampuan sebuah komputer juga terus meningkat pada setiap
tahunnnya. Hal ini dipengaruhi oleh tingginya angka perkembangan teknologi dari sebuah
komputer. Misalnya, untuk membangun suatu sistem komputer yang memiliki kemampuan
data transfer yang cepat, maka diperlukan arsitektur komputer yang membutuhkan komponen
yang sangat banyak dan kompleks.

5. Jika ada manfaat/kelebihan dari thread adakah kekurangan untuk penggunaannya? Jika ada
tolong jelaskan (Nur Ulfa Mauludina 19082010093)

Jawab: Kerugian dari multithreading adalah :

 Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan


resource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk
I/O terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan
tugas secara berurutan, daripada menggunakan multithread yang masing-masing
mengeksekusi sebuah task pada waktu yang sama.
 Sistem yang memiliki kecepatan prosesor dan memori yang cenderung sama, sehingga
tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh
peningkatan bandwidth yang signifikan jika menggunakan multithreading.
 Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple
thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang
mengakibatkan kompleksitas tersebut.
 Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya
hardware seperti cache.

6. Jelaskan benefit yang didapatkan dari Multithread process? (Sella Yuniar 19082010044)

Jawab: -Responsif

Multithreading dengan aplikasi interaktif dapat memungkinkan program untuk terus berjalan
meskipun sebagian diblokir atau sedang beroperasi yang lama, sehingga meningkatkan daya
tanggap pengguna. Kualitas ini sangat berguna dalam mendesain antarmuka pengguna.
Misalnya, mempertimbangkan apa yang terjadi saat pengguna mengeklik tombol yang
menghasilkan kinerja operasi yang memakan waktu. Aplikasi berulir tunggal kation tidak akan
merespons pengguna sampai operasi selesai lengkap. Sebaliknya, jika operasi yang memakan
waktu dilakukan di thread asinkron yang terpisah, aplikasi tetap responsif pengguna.

-Berbagi sumber daya

Proses dapat berbagi sumber daya hanya melalui teknik seperti memori bersama dan
penyampaian pesan. Teknik seperti itu harus diatur secara eksplisit oleh programmer. Namun,
untaian berbagi memori dan sumber daya proses di mana mereka berasal secara default.
Manfaat berbagi kode dan data adalah memungkinkan aplikasi untuk memiliki beberapa thread
aktivitas yang berbeda dalam ruang alamat yang sama.

-Ekonomis

Mengalokasikan memori dan sumber daya untuk pembuatan proses mahal. Karena thread
berbagi sumber daya proses yang mereka tuju, lebih ekonomis untuk membuat thread pengalih
konteks. Mengukur secara empiris perbedaan overhead bisa jadi sulit, tetapi dalam pembuatan
thread secara umum menghabiskan lebih sedikit waktu dan memori daripada proses
penciptaan. Selain itu, pengalihan konteks biasanya lebih cepat thread daripada antar proses.

-Skalabilitas

Manfaat multithreading bisa lebih besar dalam arsitektur multiprocessor, dimana thread dapat
berjalan secara paralel dalam inti pemrosesan yang berbeda. Proses single-threaded hanya
dapat berjalan satu prosesor.

7. Apa perbedaan antara user-level thread dan kernel-level thread? (Yovan Febriawan
Nurpratama 19082010037)

Jawab: Perbedaannya yaitu, ULT (user level thread) lebih cepat, karena tidak memerlukan
pengaturan ulang memori untuk beralih ke penjadwal di-kernel dan kembali untuk beralih
kembali ke proses. ULT membutuhkan lebih sedikit dukungan kernel, yang dapat membuat
kernel lebih sederhana. Pada proses ULT harus berhati-hati untuk tidak membuat panggilan
sistem pemblokiran, karena ini akan memblokir semua proses thread. Sedangkan, thread kernel
dapat berjalan secara bersamaan pada mesin multiprosesor, yang tidak bisa dicapai oleh ULT.
8. Bagaimana jika melakukan interupsi mengalami kegagalan? apakah ada tips agar tidak
terjadi kembali? ( Suci Nur Alima 19082010019)

Jawab: Apabila terjadi interupsi maka komputer akan menghentikan dahulu yang sedang
dikerjakannya, lalu melakukan apa yang di interupsikan oleh user dan apabila sudah selesai
maka proses program akan kembali ke program sebelum terjadinya interupsi yang tadi. Jika
interupsi gagal maka akan kembali ke program sebelumnya.

Penyebab terjadinya Interupsi yaitu pada Program, terjadi eksekusi suatu instruksi. Kemudian
di timmer oleh timmer prosessor, I/O controller baik sebagai tanda bahwa operasi telah selesai
maupun memberi tanda errot dan kegagalan hardware dan lainnya.

Agar tidak terjadi kegagalan, sebaiknya menunggu terlebih dahulu interupsi yang dijalankan
hingga selesai dan berhasil, kalau membuat interupsi kembali akan menyebabkan gagal yang
terus berlanjut.

9. Pada 4.4 Thread Libraries (slide 17) disebutkan 2 cara utama untuk mengimplementasikan
thread libraries, menurut kelompok anda cara mana yang paling efektif serta pada slide tersebut
dijelaskan 3 contoh thread library, tolong sebutkan cara mana yang digunakan oleh masing-
masing contoh tersebut (Rima Tsaniyah A. S. 19082010097)

Jawab: User-level threading : menyediakan seluruh library di user space tanpa dukungan
kernel, karena switching proses dapat dilakukan dengan cepat serta semua pembuatan dan
penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel.

-POSIX Pthreads : User-level threading

-Windows : Kernel-level threading

-Java : User-level threading

10. Pada Fungsi (penanganan pembersihan) yang dipanggil oleh Pthreads jika thread
dibatalkan, lantas apa yang dibersihkan dari fungsi tersebut? (M. Aldan Adiar F. 19082010063)

Jawab: Ketika thread memanggil pthread_exit () atau dibatalkan oleh pthread_cancel (),
penangan pembersihan pembatalan dipanggil dengan argumen yang ditentukan oleh panggilan
pthread_cleanup_push () tempat handler didaftarkan. Selama pemrosesan pembersihan
pembatalan thread ini, thread memanggil penangan pembersihan pembatalan dengan
pembatalan dinonaktifkan hingga penangan pembersihan pembatalan terakhir kembali.
Penangan dipanggil dalam urutan Last In, First Out (LIFO). Penyimpanan otomatis untuk
bingkai tumpukan pemanggilan dari fungsi yang mendaftarkan penangan masih ada saat
penangan pembersihan pembatalan dijalankan. Ketika penangan pembersihan pembatalan
dipanggil karena panggilan ke pthread_cleanup_pop (1), penangan pembersihan pembatalan
tidak perlu dijalankan dengan pembatalan dinonaktifkan. Status pembatalan dan jenis
pembatalan tidak diubah dengan panggilan ke pthread_cleanup_pop (1).

Anda mungkin juga menyukai