SlideShare una empresa de Scribd logo
Tema del día: Planificación de Discos en el Kernel Linux
Objetivos En esta clase trataremos de: Ver cómo se superan las limitaciones de los algoritmos de de planificación de “libro”. Ver cómo un sistema operativo real trata con los problemas de la planificación de discos. Evaluar las ventajas y desventajas de cada algoritmo de planificación, así como sus aplicaciones.
Repaso... Usuario Archivo Registros Caché de Bloques Caché de Controladora Control de Acceso Método de Acceso Planif. de  disco. Adm. de espacio libre. Buffers
Repaso... Cómo trabaja un disco? Un disco es un conjunto de bloques de datos. Un disco tiene cabezas. Los datos sólo pueden ser leídos cuando la cabeza está sobre ellos. Mover los cabezales es MUY LENTO! Una vez que el cabezal está posicionado el tiempo de la transferencia es muy pequeño.
Repaso...
Planificación de Discos En caso de tener muchas solicitudes para el mismo disco, en qué orden las atendemos? Qué objetivos persigue? Maximizar el throughput. Operaciones/seg., bytes/seg. Lograr ecuanimidad. Evitar la inanición.  Cuestiones de Tiempo Real. Garantizar un determinado tiempo máximo de espera.
Planificación de Discos Qué Falta? Los sistemas operativos dan prioridades a varios recursos: Procesador. Memoria. Acceso a Red. Pocos a los accesos a disco...
Planificación de Discos A tener en cuenta: Las controladoras modernas poseen su propio sistema de colas y planificación. Hay controladoras que pueden encolar hasta 512 solicitudes (una controladora SATA puede encolar entre 16 y 32 solicitudes). Si hay colas en la controladora (TCQ, NCQ, etc.) los objetivos del planificador del S.O. pueden verse seriamente afectados...
Planificación en Linux Historia Kernels 1.x Planificación??? Para qué??? Kernels 2.0 – 2.2 – 2.4  C-SCAN (con algunas variantes) Kernels 2.6.X Tres planificadores en tres años... Noop, Anticipatory, Deadline, CFQ.  Es posible cambiarlos por cada dispositivo de bloques, e inclusive en tiempo de ejecución...
Planificación en Linux En la actualidad... No-op Deadline  Anticipatory (default 2.6.0 - 2.6.18) Complete Fair Queuing (default >= 2.6.18) # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq]
Planificación en Linux No-Op Atiende las solicitudes a medida que llegan. A pesar de ello, si llega otra solicitud adyacente, la une con la anterior. Muy simple. Útil para disp. sin tiempo de búsqueda.
Planificación en Linux Deadline Es un C-SCAN con algunos agregados. Cada solicitud tiene un deadline. Si se vence el deadline de alguna solicitud la atiende inmediatamente.  Trata la lecturas y escrituras por separado (atiende el doble de lecturas que escrituras)
Planificación en Linux Deadline Tiene varios parámetros: fifo_batch  (número de solicitudes en un batch) read_expire ,  write_expire  (en ms) writes_starved  (cuántas lecturas por escritura) front_merges  (si funde solicitudes al llegar) Buena para aplicaciones de Tiempo Real.
Planificación en Linux Anticipatory Scheduling (AS) Todas las características de Deadline, pero agrega anticipación. Antes de atender una solicitud, la demora unos milisegundos, en espera de que llegue otra cercana. El valor de la demora depende de lo rápido que sea el disco... Antes que tener el disco desocupado, podemos usar ese tiempo en la búsqueda... ;)
Planificación en Linux Anticipatory Scheduling (AS) Tiene otras diferencias con Deadline: La solicitudes en un lote se atienden con SCAN y no deben ser contiguas. Se permiten búsquedas hacia atrás (de hasta 1Mbit) pero con el doble del costo. No trata las lecturas y escrituras por separado, pero si las operaciones síncronas y asíncronas.
Planificación en Linux Anticipatory Scheduling (AS) Tiene varios parámetros: antic_expire  (tiempo de espera) read_expire , (deadline síncrono)  write_expire  (deadline asíncrono) est_time  (estadísticas) Mejora el tiempo de respuesta medio.
Planificación en Linux Completely Fair Queuing (CFQ) Trata de ser ecuánime. Además soporta anticipación y  deadliness. Se da a cada proceso un tiempo (rodaja) en el cual puede hacer peticiones síncronas. Todos los procesos comparten 17 colas para solicitudes de E/S asíncrona (una por cada prioridad). También tienen rodajas de tiempo, pero además un máximo de solicitudes.
Planificación en Linux Completely Fair Queuing (CFQ) Cada cola de solicitudes obtiene una rodaja de tiempo de acuerdo a su prioridad. Las rodajas se asignan usando una cola circular. Dentro de cada rodaja las solicitudes se pueden fundir y son planificadas usando SCAN (con una penalización por volver). Además demorará las próximas solicitudes en espera de más E/S de ese proceso (AS)
Planificación en Linux Completely Fair Queuing (CFQ) Disco AS + C-SCAN Round-R + Deadline Planif. Q1 Q2 Q3 Qn T-R
Planificación en Linux Completely Fair Queuing (CFQ) Complejo! Da soporte a tiempo real. Ecuánime y combate a los abusadores. No admite inanición. Sin contar a los procesos T-R. Permite prioridades. Aunque aún no está claro como asignarlas...
Planificación en Linux Completely Fair Queuing (CFQ) Tiene varios parámetros: fifo_expire_(a)sync  deadline (a)síncrono slice_(a)sync  rodaja de tiempo (a)síncrona slice_async_rq  máximo de peticio nes asinc. quantum  cantidad de peticiones por lote
Bibliografía Esta clase puede ser ampliada viendo: “ Linux Block IO: present and future” Jens Axboe - July, 2004 Ottawa, Ontario Canada Proceedings of the Linux Symposium Wikipedia :) http://en.wikipedia.org/wiki/Noop_scheduler   http://en.wikipedia.org/wiki/Deadline_scheduler   http://en.wikipedia.org/wiki/Anticipatory http://en.wikipedia.org/wiki/CFQ   Jens Axboe presentando CFQ: http://lca2007.linux.org.au/talk/123.html
Gracias !   Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. The GNU Free Documentation License as applicable to this document can be found at:  http://www.gnu.org/copyleft/fdl.html

Más contenido relacionado

PPTX
Flujos y archivos
PDF
CS9222 ADVANCED OPERATING SYSTEMS
PPTX
file system in operating system
PDF
Introducción a las bases de datos
PPTX
Middleware in Distributed System-RPC,RMI
PDF
Arquitectura distribuida
PPT
30326851 -operating-system-unit-1-ppt
Flujos y archivos
CS9222 ADVANCED OPERATING SYSTEMS
file system in operating system
Introducción a las bases de datos
Middleware in Distributed System-RPC,RMI
Arquitectura distribuida
30326851 -operating-system-unit-1-ppt

La actualidad más candente (20)

PPSX
linux kernel overview 2013
PDF
Cs8493 unit 4
PPTX
Thread scheduling...................pptx
PPTX
Demand paging
PDF
Cuadro comparativo base de datos
PPT
File organization
PDF
Detección y Corrección de errores
PPTX
Operating system 31 multiple processor scheduling
PPT
Chapter 7 - Deadlocks
PDF
Storage system architecture
DOCX
Guia de raptor
PDF
Introduction to Distributed System
PDF
Arquitecturas centralizadas
PPTX
Distributed Query Processing
PDF
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
PPT
Chapter 9 - Virtual Memory
PPT
Database administration and security
PDF
9 virtual memory management
PPTX
What every data programmer needs to know about disks
PPTX
Data base security & integrity
linux kernel overview 2013
Cs8493 unit 4
Thread scheduling...................pptx
Demand paging
Cuadro comparativo base de datos
File organization
Detección y Corrección de errores
Operating system 31 multiple processor scheduling
Chapter 7 - Deadlocks
Storage system architecture
Guia de raptor
Introduction to Distributed System
Arquitecturas centralizadas
Distributed Query Processing
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
Chapter 9 - Virtual Memory
Database administration and security
9 virtual memory management
What every data programmer needs to know about disks
Data base security & integrity
Publicidad

Destacado (20)

DOC
Plan de clase informatica adultos
PPTX
Document
PPT
Patrimoine
PPTX
Verbes au présent
PDF
Todo Sobre Apps (Infografía)
PPTX
Derecho administrativo
PPTX
Cuenta Pública 2015
PPTX
Processus legislatif
PPTX
Ejercicio webquest:la influencia social que la televisión, en sus diferentes ...
PDF
EVALUACION AISLAMIENTO TERMICO EN CABINA
PDF
Portflolio
PPS
Paisajes con alimento
PDF
Diseño de Servicios
PPT
Retour d'expériences autour de Spiral à l'ADEA
PPT
Diaporama ars Ressourcial 6 décembre 2013
KEY
Ecologia de Objetos de Aprendizaje - JARDIN
PPT
Démarrer sur LinkedIn en 6 étapes
PDF
El blog como herramienta de difusión de la información
PPTX
Team Rallye EGC Bourg en Bresse
Plan de clase informatica adultos
Document
Patrimoine
Verbes au présent
Todo Sobre Apps (Infografía)
Derecho administrativo
Cuenta Pública 2015
Processus legislatif
Ejercicio webquest:la influencia social que la televisión, en sus diferentes ...
EVALUACION AISLAMIENTO TERMICO EN CABINA
Portflolio
Paisajes con alimento
Diseño de Servicios
Retour d'expériences autour de Spiral à l'ADEA
Diaporama ars Ressourcial 6 décembre 2013
Ecologia de Objetos de Aprendizaje - JARDIN
Démarrer sur LinkedIn en 6 étapes
El blog como herramienta de difusión de la información
Team Rallye EGC Bourg en Bresse
Publicidad

Similar a Planificación de Discos en Linux (20)

PDF
Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas
PPTX
Sistema de archivos y almacenamiento secundario
DOC
Windows NT
ODP
Procesos y Planificación de la CPU
PDF
ARQII_00-Repaso2.pdf
PDF
Sotr 1
PDF
Sistemas operativos administracion cpu
PPT
Capítulo 7 - Libro Azúl
PDF
Planificación linux
PPTX
Sistemas operativos y Ley de Amdahl
PDF
1 planificacion procesos
PDF
1 planificacion procesos
PPT
Softonic Labs - Web Escalable
PPTX
Los sistemas operativos
PPTX
Los sistemas operativos
PDF
UYOUG OTN Tour 2011 - RAC sin sorpresas
PPTX
preguntas de Sistemas Operativos -EGEL.pptx
PPT
El Sistema Operativo. Laura y Daniel
PPT
Planificador
PDF
Vision general de los sistemas operativos
Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas
Sistema de archivos y almacenamiento secundario
Windows NT
Procesos y Planificación de la CPU
ARQII_00-Repaso2.pdf
Sotr 1
Sistemas operativos administracion cpu
Capítulo 7 - Libro Azúl
Planificación linux
Sistemas operativos y Ley de Amdahl
1 planificacion procesos
1 planificacion procesos
Softonic Labs - Web Escalable
Los sistemas operativos
Los sistemas operativos
UYOUG OTN Tour 2011 - RAC sin sorpresas
preguntas de Sistemas Operativos -EGEL.pptx
El Sistema Operativo. Laura y Daniel
Planificador
Vision general de los sistemas operativos

Más de Gabriel Arellano (9)

PDF
Repaso de Arquitectura de Computadoras Carretero
ODP
Seguridad de Aplicaciones Web
ODP
Estudio Comparativo de S.O.
ODP
Sistemas de Archivos
ODP
Introducción a Entrada/Salida
ODP
Interfaz Hombre-Máquina
ODP
Cluster Modular Autocontenido - 2008
ODP
Virtualización como Soporte a Investigaciones en Cs de la Computación
ODP
Seleccionando una plataforma Open Source de E-Learning y Educación a Distancia
Repaso de Arquitectura de Computadoras Carretero
Seguridad de Aplicaciones Web
Estudio Comparativo de S.O.
Sistemas de Archivos
Introducción a Entrada/Salida
Interfaz Hombre-Máquina
Cluster Modular Autocontenido - 2008
Virtualización como Soporte a Investigaciones en Cs de la Computación
Seleccionando una plataforma Open Source de E-Learning y Educación a Distancia

Planificación de Discos en Linux

  • 1. Tema del día: Planificación de Discos en el Kernel Linux
  • 2. Objetivos En esta clase trataremos de: Ver cómo se superan las limitaciones de los algoritmos de de planificación de “libro”. Ver cómo un sistema operativo real trata con los problemas de la planificación de discos. Evaluar las ventajas y desventajas de cada algoritmo de planificación, así como sus aplicaciones.
  • 3. Repaso... Usuario Archivo Registros Caché de Bloques Caché de Controladora Control de Acceso Método de Acceso Planif. de disco. Adm. de espacio libre. Buffers
  • 4. Repaso... Cómo trabaja un disco? Un disco es un conjunto de bloques de datos. Un disco tiene cabezas. Los datos sólo pueden ser leídos cuando la cabeza está sobre ellos. Mover los cabezales es MUY LENTO! Una vez que el cabezal está posicionado el tiempo de la transferencia es muy pequeño.
  • 6. Planificación de Discos En caso de tener muchas solicitudes para el mismo disco, en qué orden las atendemos? Qué objetivos persigue? Maximizar el throughput. Operaciones/seg., bytes/seg. Lograr ecuanimidad. Evitar la inanición. Cuestiones de Tiempo Real. Garantizar un determinado tiempo máximo de espera.
  • 7. Planificación de Discos Qué Falta? Los sistemas operativos dan prioridades a varios recursos: Procesador. Memoria. Acceso a Red. Pocos a los accesos a disco...
  • 8. Planificación de Discos A tener en cuenta: Las controladoras modernas poseen su propio sistema de colas y planificación. Hay controladoras que pueden encolar hasta 512 solicitudes (una controladora SATA puede encolar entre 16 y 32 solicitudes). Si hay colas en la controladora (TCQ, NCQ, etc.) los objetivos del planificador del S.O. pueden verse seriamente afectados...
  • 9. Planificación en Linux Historia Kernels 1.x Planificación??? Para qué??? Kernels 2.0 – 2.2 – 2.4 C-SCAN (con algunas variantes) Kernels 2.6.X Tres planificadores en tres años... Noop, Anticipatory, Deadline, CFQ. Es posible cambiarlos por cada dispositivo de bloques, e inclusive en tiempo de ejecución...
  • 10. Planificación en Linux En la actualidad... No-op Deadline Anticipatory (default 2.6.0 - 2.6.18) Complete Fair Queuing (default >= 2.6.18) # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq]
  • 11. Planificación en Linux No-Op Atiende las solicitudes a medida que llegan. A pesar de ello, si llega otra solicitud adyacente, la une con la anterior. Muy simple. Útil para disp. sin tiempo de búsqueda.
  • 12. Planificación en Linux Deadline Es un C-SCAN con algunos agregados. Cada solicitud tiene un deadline. Si se vence el deadline de alguna solicitud la atiende inmediatamente. Trata la lecturas y escrituras por separado (atiende el doble de lecturas que escrituras)
  • 13. Planificación en Linux Deadline Tiene varios parámetros: fifo_batch (número de solicitudes en un batch) read_expire , write_expire (en ms) writes_starved (cuántas lecturas por escritura) front_merges (si funde solicitudes al llegar) Buena para aplicaciones de Tiempo Real.
  • 14. Planificación en Linux Anticipatory Scheduling (AS) Todas las características de Deadline, pero agrega anticipación. Antes de atender una solicitud, la demora unos milisegundos, en espera de que llegue otra cercana. El valor de la demora depende de lo rápido que sea el disco... Antes que tener el disco desocupado, podemos usar ese tiempo en la búsqueda... ;)
  • 15. Planificación en Linux Anticipatory Scheduling (AS) Tiene otras diferencias con Deadline: La solicitudes en un lote se atienden con SCAN y no deben ser contiguas. Se permiten búsquedas hacia atrás (de hasta 1Mbit) pero con el doble del costo. No trata las lecturas y escrituras por separado, pero si las operaciones síncronas y asíncronas.
  • 16. Planificación en Linux Anticipatory Scheduling (AS) Tiene varios parámetros: antic_expire (tiempo de espera) read_expire , (deadline síncrono) write_expire (deadline asíncrono) est_time (estadísticas) Mejora el tiempo de respuesta medio.
  • 17. Planificación en Linux Completely Fair Queuing (CFQ) Trata de ser ecuánime. Además soporta anticipación y deadliness. Se da a cada proceso un tiempo (rodaja) en el cual puede hacer peticiones síncronas. Todos los procesos comparten 17 colas para solicitudes de E/S asíncrona (una por cada prioridad). También tienen rodajas de tiempo, pero además un máximo de solicitudes.
  • 18. Planificación en Linux Completely Fair Queuing (CFQ) Cada cola de solicitudes obtiene una rodaja de tiempo de acuerdo a su prioridad. Las rodajas se asignan usando una cola circular. Dentro de cada rodaja las solicitudes se pueden fundir y son planificadas usando SCAN (con una penalización por volver). Además demorará las próximas solicitudes en espera de más E/S de ese proceso (AS)
  • 19. Planificación en Linux Completely Fair Queuing (CFQ) Disco AS + C-SCAN Round-R + Deadline Planif. Q1 Q2 Q3 Qn T-R
  • 20. Planificación en Linux Completely Fair Queuing (CFQ) Complejo! Da soporte a tiempo real. Ecuánime y combate a los abusadores. No admite inanición. Sin contar a los procesos T-R. Permite prioridades. Aunque aún no está claro como asignarlas...
  • 21. Planificación en Linux Completely Fair Queuing (CFQ) Tiene varios parámetros: fifo_expire_(a)sync deadline (a)síncrono slice_(a)sync rodaja de tiempo (a)síncrona slice_async_rq máximo de peticio nes asinc. quantum cantidad de peticiones por lote
  • 22. Bibliografía Esta clase puede ser ampliada viendo: “ Linux Block IO: present and future” Jens Axboe - July, 2004 Ottawa, Ontario Canada Proceedings of the Linux Symposium Wikipedia :) http://en.wikipedia.org/wiki/Noop_scheduler http://en.wikipedia.org/wiki/Deadline_scheduler http://en.wikipedia.org/wiki/Anticipatory http://en.wikipedia.org/wiki/CFQ Jens Axboe presentando CFQ: http://lca2007.linux.org.au/talk/123.html
  • 23. Gracias ! Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. The GNU Free Documentation License as applicable to this document can be found at: http://www.gnu.org/copyleft/fdl.html