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: |
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. |
2 ene 2011
parametro y configuracion del programador de I/O en kernel
Etiquetas:
cfq,
deadline,
debian,
e/s,
funtoo,
i/o,
kernel parameters,
modos,
noop,
parametros del kernel,
programador i/o,
sheduled
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario