~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/sp_SP/scheduler/sched-eevdf.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 
  2 .. include:: ../disclaimer-sp.rst
  3 
  4 :Original: Documentation/scheduler/sched-eevdf.rst
  5 :Translator: Sergio González Collado <sergio.collado@gmail.com>
  6 
  7 ======================
  8 Gestor de tareas EEVDF
  9 ======================
 10 
 11 El gestor de tareas EEVDF, del inglés: "Earliest Eligible Virtual Deadline
 12 First", fue presentado por primera vez en una publicación científica en
 13 1995 [1]. El kernel de Linux comenzó a transicionar hacia EEVPF en la
 14 versión 6.6 (y como una nueva opción en 2024), alejándose del gestor
 15 de tareas CFS, en favor de una versión de EEVDF propuesta por Peter
 16 Zijlstra en 2023 [2-4]. Más información relativa a CFS puede encontrarse
 17 en Documentation/scheduler/sched-design-CFS.rst.
 18 
 19 De forma parecida a CFS, EEVDF intenta distribuir el tiempo de ejecución
 20 de la CPU de forma equitativa entre todas las tareas que tengan la misma
 21 prioridad y puedan ser ejecutables. Para eso, asigna un tiempo de
 22 ejecución virtual a cada tarea, creando un "retraso" que puede ser usado
 23 para determinar si una tarea ha recibido su cantidad justa de tiempo
 24 de ejecución en la CPU. De esta manera, una tarea con un "retraso"
 25 positivo, es porque se le debe tiempo de ejecución, mientras que una
 26 con "retraso" negativo implica que la tarea ha excedido su cuota de
 27 tiempo. EEVDF elige las tareas con un "retraso" mayor igual a cero y
 28 calcula un tiempo límite de ejecución virtual (VD, del inglés: virtual
 29 deadline) para cada una, eligiendo la tarea con la VD más próxima para
 30 ser ejecutada a continuación. Es importante darse cuenta que esto permite
 31 que la tareas que sean sensibles a la latencia que tengan porciones de
 32 tiempos de ejecución de CPU más cortos ser priorizadas, lo cual ayuda con
 33 su menor tiempo de respuesta.
 34 
 35 Ahora mismo se está discutiendo cómo gestionar esos "retrasos", especialmente
 36 en tareas que estén en un estado durmiente; pero en el momento en el que
 37 se escribe este texto EEVDF usa un mecanismo de "decaimiento" basado en el
 38 tiempo virtual de ejecución (VRT, del inglés: virtual run time). Esto previene
 39 a las tareas de abusar del sistema simplemente durmiendo brevemente para
 40 reajustar su retraso negativo: cuando una tarea duerme, esta permanece en
 41 la cola de ejecución pero marcada para "desencolado diferido", permitiendo
 42 a su retraso decaer a lo largo de VRT. Por tanto, las tareas que duerman
 43 por más tiempo eventualmente eliminarán su retraso. Finalmente, las tareas
 44 pueden adelantarse a otras si su VD es más próximo en el tiempo, y las
 45 tareas podrán pedir porciones de tiempo específicas con la nueva llamada
 46 del sistema sched_setattr(), todo esto facilitara el trabajo de las aplicaciones
 47 que sean sensibles a las latencias.
 48 
 49 REFERENCIAS
 50 ===========
 51 
 52 [1] https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=805acf7726282721504c8f00575d91ebfd750564
 53 
 54 [2] https://lore.kernel.org/lkml/a79014e6-ea83-b316-1e12-2ae056bda6fa@linux.vnet.ibm.com/
 55 
 56 [3] https://lwn.net/Articles/969062/
 57 
 58 [4] https://lwn.net/Articles/925371/

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php