Bagaimana saya bisa beralih antara penjadwal CFS dan BFS?

Jawaban:

7

Anda harus mengunduh, menambal, dan mengkompilasi kernel Anda sendiri karena BFS saat ini bukan bagian dari kernel mainline. Kernel mainline hanya berisi satu penjadwal dan tidak dimaksudkan untuk memiliki banyak penjadwal dalam basis kode yang sama, atau bahkan penjadwal yang dapat dipindahkan saat itu (itu bahkan sesuatu yang mungkin bisa dilakukan). Itu hanya akan terlalu rumit, dan tidak sepadan dengan usaha.

Jadi, untuk mendapatkan BFS di sistem Anda:

Manfaat menjalankan BFS lebih dari CFS sangat kecil, terutama dengan versi kernel yang lebih baru. Perlu diingat bahwa CFS terus ditingkatkan.

Cedric
sumber
Saya mengkompilasi kernel 4.0.5 dengan patch BFS tetapi scheduler tidak terdaftar. BFS diaktifkan di make menuconfig. Saya tidak mengerti mengapa.
shantanu
9

Setelah meneliti ini sedikit, tampaknya hanya ada dua penjadwal untuk Linux: CFS dan BFS .

Cara paling sederhana untuk menginstal BFS di Ubuntu 10.10 adalah patch PPA :

sudo add-apt-repository ppa:chogydan/ppa 
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck

Anda juga dapat menginstal tambalan menggunakan Pusat Perangkat Lunak Ubuntu seperti yang dijelaskan dalam "Apa itu PPA dan bagaimana cara menggunakannya" .

Patch menginstal kernel baru (ditambal), yang akan muncul di menu GRUB saat boot dengan suffix "-ck". Beralih di antara penjadwal dengan me-reboot dan memilih kernel yang sesuai di menu boot.


Tentang kinerja

Dalam kasus saya, menjalankan Folding @ Home di latar belakang pada PC desktop (delapan thread F @ H pada delapan core pada Intel i7 2600K), BFS secara signifikan lebih baik: Respons desktop lebih cepat (bukan perbedaan besar, tetapi jelas terlihat) sedangkan aplikasi latar belakang F @ H 20-25% lebih cepat.

Dalam skenario ini, berhadapan dengan penggunaan desktop interaktif dan tugas-tugas berlatar belakang CPU yang lama secara bersamaan, CFS cenderung meninggalkan satu core idle untuk jangka waktu yang lama pada suatu waktu. BFS tampak jauh lebih baik dalam menggunakan semua core 100% untuk tugas latar belakang sambil tetap memberikan respon cepat untuk tugas desktop interaktif.

Mungkin tidak ada penjadwal tunggal yang akan bekerja secara optimal di bawah setiap kombinasi beban yang mungkin, tetapi ada kasus di mana BFS lebih baik.

jg-faustus
sumber
3

Di bawah ini bekerja untuk saya di Precise Pangolin (Ubuntu 12.04) YMMV.

BFS adalah Bagian dari pf-kernel

Cara terbaik untuk menginstal BFS pada sistem Ubuntu hari ini (Desember 2013) tampaknya adalah menginstal pf-kernel , yang pada dasarnya adalah kernel standar dengan banyak tambalan kinerja yang diterapkan. Tambalan ini meliputi:

  • BFS (Penjadwal CPU memberikan latensi rendah pada mesin dengan kurang dari 16 core CPU)
  • BFQ (penjadwal disk I / O dioptimalkan untuk latensi rendah di bawah beban berat)
  • TuxOnIce (hibernasi lebih cepat)

Instruksi di Web

Saya menemukan beberapa instruksi tentang cara menginstal pf-kernelpaket untuk Ubuntu di artikel " Dapatkan Kinerja Linux Desktop Lebih Baik dan lebih banyak dengan pf-kernel ." paket. Tetapi saya menemukan utas “ pf-kernel untuk Ubuntu ” (di pk-kernelforum) yang menyebutkan bahwa paket Debian dapat diunduh dari akun Dropbox big_bum pengguna forum .

Menginstal pf-kernel

Mesin yang saya instal adalah laptop 32-bit lama, jadi saya mulai dengan mengunduh paket linux-headers- linux-imagepaket yang diperlukan dan ke direktori di komputer saya ~/kernel.

(Buka akun Dropbox yang disebutkan di atas untuk menemukan 64 bit dan / atau versi yang lebih baru dari paket-paket ini.)

Setelah itu saya mengikuti instruksi pada " Get Better Linux Desktop Performance dan lainnya dengan pf-kernel ," dan jalankan perintah berikut:

$ cd ~/kernel
$ sudo dpkg -i *.deb

Segalanya tampak berjalan lancar, jadi saya reboot.

Memeriksa Jika Berhasil

Pemeriksaan cepat tampaknya menunjukkan bahwa itu berfungsi, mis. Perintah uname -amelaporkan bahwa saya menggunakan pf-kernel:

Linux siobhan 3.12.2-pf + # 6 PREEMPT SMP Senin 2 Desember 19:09:52 EET 2013 i686 i686 i386 GNU / Linux

Dan cat /sys/block/sda/queue/schedulermenunjukkan bahwa BFQ sekarang adalah penjadwal disk saat ini (untuk sdadisk):

noop deadline cfq [bfq] 
zrajm
sumber
Nov'14 - Saya menginstal pf-kernel ini di Precise Pangolin (Ubuntu 12.04.4 LTS) saya yang menjalankan Mythbuntu terutama untuk mendapatkan I / O yang lebih baik dari sistem file xfs saya untuk rekaman video. Saya mencocokkan versi kernel (3.13) untuk memastikan kompatibilitas driver default nvidia. Itu bekerja tanpa hambatan. Kudos to zrjm ... ..!
keepitsimpleengineer
1

Patch dan instal kernel baru dengan BFS. Anda harus menggunakan kernel sepatare, tidak ada cara untuk menggunakan keduanya di kernel image yang sama (terutama untuk swith on-the-fly)


sumber