Relacionado con una pregunta sobre cuál es mejor, el planificador CFS o BFS :
¿Dónde encuentro una lista de los planificadores disponibles?
¿Y cómo cambio entre ellos?
Relacionado con una pregunta sobre cuál es mejor, el planificador CFS o BFS :
¿Dónde encuentro una lista de los planificadores disponibles?
¿Y cómo cambio entre ellos?
Respuestas:
Tendrá que descargar, parchear y compilar su propio núcleo porque BFS actualmente no forma parte del núcleo principal. El núcleo de la línea principal contiene solo un planificador y no está destinado a tener múltiples planificadores en la misma base de código, o incluso planificadores conmutables sobre la marcha (es incluso algo que podría hacerse). Simplemente sería demasiado complicado y no valdría la pena el esfuerzo.
Entonces, para obtener BFS en su sistema:
Sin embargo, el beneficio de ejecutar BFS sobre CFS es muy pequeño, especialmente con las versiones más recientes del kernel. Tenga en cuenta que el CFS se mejora constantemente.
Después de investigar esto un poco, parece que solo hay dos planificadores para Linux: CFS y BFS .
La forma más sencilla de instalar BFS en Ubuntu 10.10 es un parche PPA :
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
También puede instalar el parche utilizando el Centro de software de Ubuntu como se describe en "Qué son los PPA y cómo los uso" .
El parche instala un nuevo kernel (parcheado), que aparecerá en el menú de GRUB en el arranque con el sufijo "-ck". Cambie entre programadores reiniciando y seleccionando el kernel apropiado en el menú de inicio.
En el rendimiento
En mi caso, ejecutar Folding @ Home en segundo plano en una PC de escritorio (ocho subprocesos F @ H en ocho núcleos en un Intel i7 2600K), BFS es significativamente mejor: la respuesta de escritorio es más ágil (no es una gran diferencia, pero definitivamente notable) mientras que la aplicación de fondo F @ H es 20-25% más rápida.
En este escenario, al tratar con el uso interactivo del escritorio y las tareas en segundo plano de gran duración de la CPU simultáneamente, CFS tendió a dejar un núcleo inactivo durante largos períodos a la vez. BFS parece mucho mejor en el uso de todos los núcleos al 100% para tareas en segundo plano, al tiempo que proporciona una respuesta rápida para tareas de escritorio interactivas.
Probablemente no exista un planificador único que funcione de manera óptima en todas las combinaciones posibles de cargas, pero hay casos en que BFS es mejor.
Sin embargo, lo siguiente funcionó para mí en Precise Pangolin (Ubuntu 12.04) YMMV.
pf-kernel
La mejor manera de instalar BFS en un sistema Ubuntu hoy (diciembre de 2013) parece ser instalar pf-kernel , que es básicamente un kernel estándar con un par de parches de rendimiento aplicados. Estos parches incluyen:
Encontré algunas instrucciones sobre cómo instalar los pf-kernel
paquetes para Ubuntu en el artículo " Obtenga un mejor rendimiento de escritorio de Linux y más con pf-kernel ". Sin embargo, estas instrucciones están algo desactualizadas, ya que apunta a una fuente no existente para el Debian relevante paquetes Pero encontré el hilo " pf-kernel for Ubuntu " (en los pk-kernel
foros) que menciona que los paquetes de Debian se pueden descargar desde la cuenta de Dropbox del usuario del foro big_bum .
pf-kernel
La máquina en la que instalé es una vieja computadora portátil de 32 bits, así que comencé descargando lo requerido linux-headers
y los linux-image
paquetes en un directorio de mi máquina llamado ~/kernel
.
(Vaya a la cuenta de Dropbox mencionada anteriormente para encontrar versiones de 64 bits o más nuevas de estos paquetes).
Posteriormente seguí las instrucciones sobre " Obtenga un mejor rendimiento de escritorio Linux y más con pf-kernel ", y ejecuté los siguientes comandos:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Todo parece funcionar sin problemas, así que reinicié.
Una inspección rápida parece indicar que funciona, por ejemplo, el comando uname -a
informa que estoy usando el pf-kernel
:
Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT Lunes 2 de diciembre 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
Y cat /sys/block/sda/queue/scheduler
muestra que BFQ ahora es el programador de disco actual (para el sda
disco):
noop deadline cfq [bfq]
Parche e instale un nuevo núcleo con BFS. Tiene que usar núcleos separados, no hay forma de usar ambos en la misma imagen del núcleo (especialmente para intercambiarlos sobre la marcha)