Mostrando entradas con la etiqueta sheduled. Mostrar todas las entradas
Mostrando entradas con la etiqueta sheduled. Mostrar todas las entradas

5 may 2011

Quien es Con Kolivas, que es los parches CK y la relacion con las 200 lineas maravillas del kernel

Señores, Con Kolivas es el predecesor del otora CFS planificador actual de linux hasta el kernel 2.6.38 donde ahora una vez mas añaden las lineas maravillas.


Para molestia de los de linux, este men es un simple anestesiologo! que pelotas, un anestesiologo (alguien que pone a dormir las personas), ¡¡¡programa mejor!!!, y no es por su carrera, dado que si no se aplica la cantidad de gases correctos se muere la persona al aplicar anestecia! Porque digo es gran programador, lean que son los parches CK! y para que aplicarles a el kernel al compilarlo!



QUE son los parches CK? que beneficios trae al kernel!

El planificador CFS es basado en el de Con Kolivas, el con todo el orgullo del mundo puede decir que sin el no hubieran llegado alli los de kernel.org.

Pero mejor aun , Con Kolivas es el mantenedor de una linea alterna de planificadores y optimizadores para el kernel, denominado CK, los famosos parches CK que le le aplican al kernel para mayor optimizacion ( parches enfocados a invocacion , que a procesos, por ende para los escritorios, y quizas las laptops).

Los parches  CK han sido empleados por meta-distribuciones estrelas como la famosisima Kanotix, predecesora de sidux y basada en debian.

Beneficios y configuraciones del kernel:

Hay que aclarar que el parche y adiciones CK implementa un planificador llamado BFS literalmente significa "Planificador de Cerebro Jodido" (Brain Fuck Sheduler" que difiere del actual CFS y el nuevo que implementa el 2.6.38 con agrupacion.

Estos parches se centran en especificar respecto la configuracion del kernel hacia las tareas que realizara, es decir que si configuras el kernel este realizara unas tareas mejor que otras.

Las propuestas de configuracion benefician a los que quieran por ejemplo hacer un linux dedicado a un servidor Counter Strike, hay que poner
3000 Hz
No tickless
No preemption
No cpu frequency scaling
La opcion de 3000Hz solo esta disponible con CK, esa es una de las diferencias

Aqui mas propuestas para los adeptos de funtoo conuco: http://ck.kolivas.org/patches/bfs/bfs-configuration-faq.txt

Mas info?

..no es necesario dar enlaces, pero aqui tienen:
Informacion de Con Kolivas:
http://users.on.net/~ckolivas/index.html
Incursion de CK en la lista frente las 200 lineas maravillas: IMPORTANTE : https://lkml.org/lkml/2010/12/5/21
Respuesta de Mike mantenedor y pocion de su trabajo: https://lkml.org/lkml/2010/12/5/179

Exclusion si no usas GNome, massenkoh no excluye!

Los kernel de debian y otros linux a partir de 2.6.38 solo beneficiaran a gnome, esto lo defino claramente con esta cita de el hilo de kml de la lista de correos del kernel:

"But that can be changed: the cgroup interfaces can be (and are) used by Gnome to 
create different groups. They can be used by users as well, using cgroup tooling" si usas gnome con mi kernel seras beneficiado, segun Mike desarrollador de Linux kernel. https://lkml.org/lkml/2010/12/5/179 pero yo puse CK de Con Kolivas, que beneficia cualquier escritorio!

2 ene 2011

parametro y configuracion del programador de I/O en kernel

VERSION CORTA: al final click aqui
VERSION LARGA:
Elegir un modo para el Programador I/O de Linux, si tienen ¡¡¡¡
Hay primeramente tres programadores DE E/S (también conocido como "políticas de ascensor"), estos deciden el orden de peticiones para leer y escribir y como son atendidas por los dispositivos de bloque, no debe ser confundido con el programador de hilos, que asigna tiempo de CPU para procesos. Estos se seleccionan en el arranque a través del parámetro del kernel "elevator", pero en 2.6 se introduce el nuevo modo noop, veamos que es todo.
Un Programador de E/S es la forma de manejar la lectura de los datos de los dispositivos de bloque, incluyendo la memoria principal, y tambien el área de intercambio¡ El kernel de Linux, el núcleo del sistema operativo, es responsable de controlar el acceso al disco usando planeacion de E/S programada. Ahora puede optimizar el núcleo de E/S durante el arranque, seleccionando uno de los cuatro que diferentes programadores E/S para dar cabida a diferentes patrones de uso:
  • Completely Fair Queuing-elevator=cfq (mas recomendado para servidores con gran memoria)
  • Deadline-elevator=deadline (mejor para bajo performance y escritorios, bueno en sata)
  • NOOP-elevator=noop (asume un solo bus, secuencial y un solo dispositivo)
  • Anticipatory-elevator=as (el por defecto en linux, y compilaciones de los que no saben nada, para disp viejos)
ADVERTENCIA ¡¡esto no es tan facil, solo estan si el kernel compilado TIENE lo configurado en el config ¡¡¡esto son los algoritmos que los desarrolladores y los investigadores han compartido con la comunidad de código abierto a mediados de 2004¡
DESCRIPCIÓN DE LOS PROGS 4 E/S
El Completely Fair Queuing (CFQ) mantiene escalabilidad por proceso de E/S y la cola de los intentos de distribuir el ancho de banda en partes iguales entre todas las solicitudes de E/S. CFQ es muy adecuado para sistemas multi-procesador medio a gran rango y para los sistemas que requieren E/S equilibrada en multiples controladores LUNs y E/S. Es como introducir indices de busqueda de rendimiento disco reducido, pero con aplicaciones de acceso a datos en corto periodo de tiempo satisfechos, mientras que el disco se mantiene a ritmo. Al igual que con el anticipatory I/O scheduler, este también toma prestado política de el deadline scheduler. Este es para los sistemas multimedia y casi todos los desarrolladores, generalmente casi todos los usuarios de linux ... por supuesto, este tipo de programador requiere un verdadero kernel en tiempo-real, debia se va por estabilidad, pero recomendado paraun geento o funtoo con tiempo real.
La Deadline (deadline) elevator utiliza un algoritmo de fin de linea para minimizar la latencia de E/S para una determinada solicitud de E/S, ofrece comportamiento casi de tiempo real y utiliza una política de round robin para tratar de ser justos entre múltiples solicitudes de I / O y evitar proceso de inanicion. Usando cinco colas de E/S este reordena agresivamente las peticiones para optimizar las E/S. Esta por defecto en massenkoh kernels. Este es el mejor para cargas de trabajo donde no hay mucho acceso sequencial o predictibilidad, como los en una base de datos o servidor de archivos (las operaciones se encuentran dentro de los archivos db), bueno para almacenamiento en hardware puede reordenar los accesos, como en cola de comandos que se encuentran con SCSI y dispositivos Serial ATA, y también en accesos simultáneos a múltiples regiones del dispositivo puede ocurrir, por ejemplo con RAID y JBOD.
El planificador NOOP (noop) es un planificador FIFO simple como cola ordenada secuencial y utiliza la mínima cantidad de CPU/instrucciones por E/S de base para lograr la fusión entre funcionalidades basica y minima de E/S. Asume el rendimiento de la E/S es o sera optimizada en el dispositivo de bloque (memoria o disco) o con en un adaptador de bus inteligente o controlador externo. Estemodo es delicado ya que asume una unica controladora exclusiva scsci para con el dispositivo hardware asociado. Contrariamente muchas infos estupidas, esto solo se utiliza para dispositivos especiales, en hardware de escritorio no hay gran rendimiento.
El ascenso de anticipacion (antycipatory) introduce un retardo controlado antes de atender la E/S para tratar de agregar y/o reordenar las solicitudes, mejorando la locacion y reducción operaciones de búsqueda. El anticipatory I/O scheduler es sustancialmente similar al deadline I/O scheduler y, de hecho, la política de ascensor por defecto del núcleo normalmente. Esto se debe por el hecho de que después de procesar una secuencia de solicitudes de lectura, en vez de ir a continuar el servicio de todas las solicitudes de escritura, esperara durante un máximo de 6 ms para las peticiones de lectura adicionales. Este algoritmo está destinado a optimizar los sistemas con subsistemas de disco pequeño o lento. Pero usar este genera mayor latencia de E/S. Se recomienda para sistemas que no tiene mucho acceso al disco y pueden hacer trabajo en la memoria bruta. Es el de massenkoh y futuros sarisari venenux live cd si se utiliza el parámetro toram.
ENTONCES, QUE OPCIONES SON USADOS EN DISTROS O CONPILATIONS
Para sistemas de grandes cantidades de memoria, recomendado el modo cfq, especialmente si tiene muchos dispositivos con multiples accesos, ejemplo clusteres de datos o una simple maquina con varios discos accediendo al mismo tiempo.

Para entornos multimedia, debe usarse kernels de tiempo real, y el modo deadline,pero cuidando la estabilidad.

Para configuraciones servidores, depende, anticipatory es bueno en clusters de base de datos, especialmente si use una gran cache en memoria principal, pero si usa mucho memoria virtual debera usarse cfq. Para aceso de ficheros, se puede intentar un nucleo rt con modo deadline, por ejemplo para subversion o almacenamiento de acceso.

En el caso de especiales y esclusividades, puede usarse el nuevo modo noop, este requiere el dispositivo tenga todo el bus dedicado a el, y sea el unico en el.

Debe leer /usr/src/linux/Documentation/block/as-iosched.txt para completar información detallada, cudidandosamente sobre las compilaciones de nucleos, dependiendo de las opciones, sabores especiales y cambios relacionados, pero como debian o similares los kernels estan en modos deadline o CFQ.