W związku z pytaniem, które jest lepsze, program planujący CFS lub BFS :
Gdzie znajdę listę dostępnych harmonogramów?
Jak przełączać się między nimi?
W związku z pytaniem, które jest lepsze, program planujący CFS lub BFS :
Gdzie znajdę listę dostępnych harmonogramów?
Jak przełączać się między nimi?
Odpowiedzi:
Będziesz musiał pobrać, załatać i skompilować własne jądro, ponieważ BFS nie jest obecnie częścią jądra głównego. Jądro linii głównej zawiera tylko jeden program planujący i nie ma na celu posiadania wielu programów planujących w tej samej bazie kodu, ani nawet przełączalnych programów planujących w locie (jest to nawet coś, co można by zrobić). Byłoby to po prostu zbyt skomplikowane i nie warte wysiłku.
Tak więc, aby uzyskać BFS w systemie:
Zaleta uruchamiania BFS nad CFS jest jednak bardzo niewielka, szczególnie w przypadku nowszych wersji jądra. Pamiętaj, że CFS jest ciągle ulepszany.
Po dokładnym zbadaniu tego wydaje się, że istnieją tylko dwa harmonogramy dla Linuksa: CFS i BFS .
Najprostszym sposobem zainstalowania BFS w Ubuntu 10.10 jest łatka PPA :
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
Możesz także zainstalować poprawkę za pomocą Centrum oprogramowania Ubuntu zgodnie z opisem w „Czym są PPA i jak z nich korzystać” .
Łatka instaluje nowe (załatane) jądro, które pojawi się w menu GRUB przy starcie z przyrostkiem „-ck”. Przełączaj się między harmonogramami poprzez ponowne uruchomienie i wybranie odpowiedniego jądra w menu startowym.
Na wydajność
W moim przypadku, gdy Folding @ Home działa w tle na komputerze stacjonarnym (osiem wątków F @ H na ośmiu rdzeniach w procesorze Intel i7 2600K), BFS jest znacznie lepszy: reakcja pulpitu jest szybsza (nie jest to duża różnica, ale zdecydowanie zauważalna) podczas gdy aplikacja F @ H w tle działa o 20-25% szybciej.
W tym scenariuszu, dotyczącym jednoczesnego korzystania z interaktywnego pulpitu i długotrwałych zadań obciążających procesor w tle, system CFS pozostawiał jeden rdzeń bezczynny przez długi czas. BFS wydaje się znacznie lepszy w używaniu wszystkich rdzeni w 100% do zadań w tle, a jednocześnie zapewnia szybką reakcję na zadania interaktywnego pulpitu.
Prawdopodobnie nie ma jednego harmonogramu, który działałby optymalnie przy każdej możliwej kombinacji obciążeń, ale są przypadki, w których BFS jest lepszy.
Jednak poniżej działało dla mnie na Precise Pangolin (Ubuntu 12.04) YMMV.
pf-kernel
Najlepszym sposobem na zainstalowanie BFS w systemie Ubuntu dzisiaj (grudzień 2013 r.) Wydaje się być instalacja jądra pf , który jest w zasadzie standardowym jądrem z kilkoma poprawkami wydajności. Te łaty obejmują:
Znalazłem instrukcje dotyczące instalowania pf-kernel
pakietów dla Ubuntu w artykule „ Uzyskaj lepszą wydajność Linux Linux Desktop i więcej dzięki pf-kernel .” - Jednak te instrukcje są nieco nieaktualne, ponieważ wskazują na nieistniejące źródło odpowiedniego Debiana paczki Ale znalazłem wątek „ pf-kernel dla Ubuntu ” (na pk-kernel
forach), który wspomina, że pakiety Debiana można pobrać z konta Dropbox użytkownika forum big_bum .
pf-kernel
Komputer, na którym zainstalowałem, to stary 32-bitowy laptop, więc zacząłem od pobrania wymaganych pakietów linux-headers
i linux-image
pakietów do katalogu na mojej maszynie o nazwie ~/kernel
.
(Przejdź do wyżej wymienionego konta Dropbox, aby znaleźć 64-bitowe i / lub nowsze wersje tych pakietów.)
Następnie postępowałem zgodnie z instrukcjami „ Uzyskaj lepszą wydajność pulpitu Linuksa i więcej dzięki pf-kernel ” i wykonałem następujące polecenia:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Wygląda na to, że wszystko działa płynnie, więc zrestartowałem się.
Szybka kontrola wydaje się wskazywać, że działa, np. Polecenie uname -a
informuje, że używam pf-kernel
:
Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT Pon 2 grudnia 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
I cat /sys/block/sda/queue/scheduler
pokazuje, że BFQ jest obecnie bieżącym programem planującym dyski (dla sda
dysku):
noop deadline cfq [bfq]
Popraw i zainstaluj nowe jądro z BFS. Musisz użyć jądra sepatare, nie ma możliwości użycia obu na tym samym obrazie jądra (szczególnie do przełączania ich w locie)