¿Cómo puedo cambiar entre los programadores CFS y BFS?

17

Relacionado con una pregunta en que es mejor, el programador CFS o BFS :

¿Dónde puedo encontrar una lista de los programadores disponibles?

¿Y cómo cambio entre ellos?

    
pregunta j-g-faustus 03.03.2011 - 18:04

4 respuestas

7

Tendrá que descargar, parchear y compilar su propio kernel porque BFS no es actualmente parte del núcleo de la línea principal. El kernel mainline 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 (incluso eso es algo que posiblemente podría hacerse). Simplemente sería demasiado complicado y no vale la pena el esfuerzo.

Entonces, para obtener BFS en su sistema:

  • Obtenga el kernel: enlace
  • Obtenga el último parche BFS para su versión kernel: enlace
  • Parche, compile y luego reinicie su nuevo kernel.

El beneficio de ejecutar BFS sobre CFS es muy pequeño, especialmente con versiones de kernel más nuevas. Tenga en cuenta que CFS se mejora constantemente.

    
respondido por el Cedric 06.03.2011 - 16:16
9

Habiendo investigado esto un poco, parece que solo hay dos programadores 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 usando el Centro de software de Ubuntu como se describe en " ¿Qué son los PPA y cómo los uso? .

El parche instala un kernel nuevo (parcheado), que aparecerá en el menú de GRUB en el arranque con el sufijo "-ck". Cambie entre planificadores reiniciando y seleccionando el kernel apropiado en el menú de inicio.

Sobre el rendimiento

En mi caso, ejecutar Folding @ Home en segundo plano en una PC de escritorio (ocho hilos F @ H en ocho núcleos en un Intel i7 2600K), BFS es significativamente mejor: la respuesta del escritorio es más ágil (no es una gran diferencia, pero definitivamente notable) mientras que la aplicación de fondo F @ H es un 20-25% más rápida.

En este escenario, al tratar con el uso de escritorios interactivos y las tareas de segundo plano con CPU de larga duración simultáneamente, el CFS tendía a dejar un núcleo inactivo durante largos periodos a la vez. BFS parece ser mucho mejor al usar todos los núcleos al 100% para las tareas en segundo plano, a la vez que proporciona una respuesta rápida para tareas de escritorio interactivas.

Probablemente no haya un planificador único que funcione de manera óptima con cada combinación de cargas posible, pero hay casos en los que BFS es mejor.

    
respondido por el j-g-faustus 19.03.2011 - 09:47
3

Lo siguiente funcionó para mí en Precise Pangolin (Ubuntu 12.04) YMMV, sin embargo.

BFS es parte de pf-kernel

La mejor forma de instalar BFS en un sistema Ubuntu hoy (diciembre de 2013) parece ser la instalación de pf-kernel , que es básicamente un kernel estándar con un montón de parches de rendimiento aplicados. Estos parches incluyen:

  • BFS (el programador de la CPU brinda baja latencia en las máquinas con menos de 16 CPU núcleos)
  • BFQ (planificador de disco de E / S optimizado para baja latencia bajo cargas pesadas)
  • TuxOnIce (hibernación más rápida)

Instrucciones en la web

Encontré algunas instrucciones sobre cómo instalar los paquetes pf-kernel 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 apuntan a una fuente no existente para los paquetes Debian relevantes. Pero encontré el hilo " pf-kernel para Ubuntu " (en los foros de pk-kernel ) que menciona que los paquetes de Debian pueden descargarse desde cuenta de Dropbox del usuario big_bum .

Instalando pf-kernel

La máquina que instalé es una laptop vieja de 32 bits, así que comencé descargando los paquetes linux-headers y linux-image requeridos en un directorio en mi máquina llamado ~/kernel .

  • linux-headers-3.12.2-pf + _3.12.2-pf + -10.00.Custom_i386.deb
  • linux-image-3.12.2-pf + _3.12.2-pf + -10.00.Custom_i386.deb

(Vaya a la cuenta de Dropbox antes mencionada para buscar 64 bit y / o versiones más nuevas de estos paquetes).

A partir de entonces, seguí las instrucciones en " 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é.

Comprobando si funciona

Una inspección rápida parece indicar que funciona, p. el comando uname -a informa que estoy usando el pf-kernel :

  

Linux siobhan 3.12.2-pf + # 6 SMP PREEMPTO 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 planificador de disco actual (para el sda disk):

noop deadline cfq [bfq] 
    
respondido por el zrajm 19.12.2013 - 03:16
1

Parchee e instale un nuevo kernel con BFS. Tienes que usar kernels separados, no hay forma de usar ambos en la misma imagen del kernel (especialmente para usarlos al vuelo)

    
respondido por el user11924 06.03.2011 - 15:53

Lea otras preguntas en las etiquetas