Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
RPC dalam komputer menjadi semakin penting sebagai parameter kinerja sistem. Pertimbangan inimenunjukkan bahwa kasus proses lokal harus dioptimalkan.Gambar 6.11 menunjukkan bahwa pemanggilan cross-address-space yang diimplementasikandalam komputer sama persis seperti yang dilakukan antar komputer, kecuali bahwa pesan yang masukternyata menjadi lokal. Memang, ini menjadi model yang sering diterapkan. Bershad et al. [1990]mengembangkan mekanisme pemanggilan lebih efisien untuk kasus proses pemanggilan pada mesinyang sama, yang disebut lightweight RPC (LRPC). Desain LRPC didasarkan pada mengenai optimasipenyalinan data dan penjadwalan thread.Pertama, mereka mencatat bahwa hal tersebut akan lebih efisien untuk menggunakan memoriregion bersama untuk komunikasi client-server, dengan region yang berbeda (pribadi) antara server danmasing-masing klien lokal. Seperti sebuah region mengandung satu atau lebih A (untuk argumentasi)tumpukan (lihat Gambar 6.13). Memang, parameter RPC tidak dapat disalin di antara kernel danpengguna ruang alamat yang terlibat, klien dan server dapat melewati argumen dan mengembalikannilai-nilai secara langsung melalui A stack. Stack yang sama digunakan oleh klien dan server stub.Dalam LRPC, argumen yang dapat disalin sekali: ketika dilakukan penyusunan ke A Stack. Dalamkeadaan yang RPC yang sama, RPC akan disalin empat kali: dari attack client stub ke pesan; dari pesanke sebuah kernel buffer; dari kernel buffer ke server pesan; dari pesan ke server stub's stack. Mungkinada beberapa tumpukan di shared region, karena beberapa thread di klien yang sama dapatmenghubungi server pada waktu yang sama.Bershad et al. juga mempertimbangkan biaya penjadwalan thread. Bandingkan model system calldan prosedur panggilan remote pada Gambar 6.1. Ketika system call terjadi, sebagian besar kerneltidak menjadwalkan thread baru untuk menangani panggilan tetapi melakukan context switch padapemanggilan thread sehingga sistem menangani panggilan. Dalam sebuah RPC, remote prosedurmungkin ada di komputer yang berbeda dari thread klien, jadi thread yang berbeda harus dijadwalkanuntuk melaksanakannya. Dalam kasus dalam area lokal, bagaimanapun juga, mungkin lebih efisienDukungan Sistem Operasi 18