Apakah ada kerugian dari proses yang berjalan dengan prioritas waktu nyata ( chrt -f 99
)?
Hipotesis saya adalah bahwa ini dikombinasikan dengan afinitas akan memastikan bahwa setiap pra-emption proses saya minimal dan karenanya jitter (khususnya latensi jaringan) akan diminimalkan - ini tidak akan membantu dengan latensi keseluruhan, tetapi pada saat ini saya lebih khawatir dengan jitter.
(Kernel: 2.6.16 / 3.0)
Jawaban:
Kelemahan paling langsung dari menjalankan proses realtime adalah bahwa proses tersebut dapat dengan mudah menghabiskan setiap proses lainnya pada sistem. Hasil dari sudut pandang Anda adalah bahwa komputer benar-benar tidak responsif terhadap keyboard, mouse, dan mungkin jaringan, selama proses waktu nyata menggunakan CPU. Ini bisa terjadi jika ada yang salah dan prosesnya menjadi infinite loop, atau bahkan sementara jika proses memulai perhitungan berjalan lama tanpa menunggu input secara berkala. (Jadi, misalnya, jangan jalankan SETI @ home dengan prioritas waktu nyata.)
Proses single-threaded tunggal pada multi-core CPU cenderung menyebabkan masalah ini karena ada core lain yang dapat digunakan proses prioritas rendah. Tetapi jika proses itu menciptakan proses anak, mereka akan mewarisi prioritas waktu nyata yang sama, sehingga hal-hal dapat di luar kendali jika Anda tidak hati-hati.
The
sched_setscheduler(2)
Halaman manusia memiliki nasihat yang baik:Itu harus menjadi shell pada konsol - bukan di bawah Xterm, kecuali jika Anda ingin memberikan semua prioritas realtime X juga.
sumber