Articulo de referencia

Función de utilidad del tiempo

Una función de tiempo/utilidad ( TUF ), anteriormente función de tiempo/valor , especifica la utilidad específica de la aplicación que una acción (por ejemplo, tarea computacion...

Una función de tiempo/utilidad ( TUF ), anteriormente función de tiempo/valor , especifica la utilidad específica de la aplicación que una acción (por ejemplo, tarea computacional, movimiento mecánico) produce en función de su tiempo de finalización. [ 1 ] [ 2 ] Las TUF y sus interpretaciones de utilidad (semántica), escalas y valores se derivan del conocimiento específico del dominio de la aplicación. Un ejemplo (pero no el único) de interpretación de la utilidad es la importancia relativa de una acción, que de otro modo es independiente de su puntualidad . El plazo tradicional representado como una TUF es un caso especial: un paso descendente de utilidad de 1 a 0 en el momento del plazo; por ejemplo, puntualidad sin importancia. Una TUF es más general: tiene un tiempo crítico, con formas y valores de utilidad específicos de la aplicación a cada lado, después del cual no aumenta. Las diversas definiciones de tiempo real firme y flexible de investigadores y profesionales también pueden representarse como casos especiales del modelo TUF.

Representación de TUF de ejemplo

El criterio de optimalidad para programar múltiples acciones con restricciones TUF ha sido históricamente en la literatura solo la acumulación máxima de utilidad ( UA ), por ejemplo, una suma ponderada (quizás esperada) de las utilidades de finalización de las acciones individuales. Esto toma en cuenta la puntualidad con respecto a los tiempos críticos. Se han añadido criterios adicionales (por ejemplo, energía, previsibilidad), restricciones (por ejemplo, dependencias), modelos de sistema, algoritmos de programación y garantías a medida que el paradigma TUF/UA y sus casos de uso han evolucionado. De manera más expresiva, TUF/UA permite intercambiar la utilidad acumulada, la puntualidad, la previsibilidad y otros criterios y restricciones de programación para que la programación produzca QoS de aplicación situacional [ a ] , en lugar de solo la puntualidad per se. Se han empleado instancias del paradigma TUF/UA en una amplia variedad de dominios de aplicación, con mayor frecuencia en sistemas militares.

Funciones de tiempo/utilidad

El paradigma TUF/UA se creó originalmente para abordar ciertas necesidades de puntualidad de acción, previsibilidad de puntualidad y programación basada en QoS de aplicaciones de diversas aplicaciones militares para las cuales los conceptos y prácticas tradicionales en tiempo real no son suficientemente expresivos (por ejemplo, para sistemas dinámicos críticos en cuanto a puntualidad que no tienen plazos) y resiliencia de carga (por ejemplo, para sistemas sujetos a sobrecargas de acción rutinarias). Una clase de ejemplo común importante de tales aplicaciones es la defensa antimisiles (nocionalmente [ 3 ] [ 4 ] [ 5 ] ).

Posteriormente, se han estudiado numerosas variaciones del modelo TUF original, el modelo de sistema del paradigma TUF/UA y, por lo tanto, las técnicas y algoritmos de programación, en la literatura académica —por ejemplo, [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] —y se han aplicado en contextos civiles.

Algunos ejemplos de estos últimos incluyen: sistemas ciberfísicos, [ 11 ] IA, [ 12 ] sistemas multi-robot, [ 13 ] programación de drones, [ 14 ] robots autónomos, [ 15 ] transferencias inteligentes de datos de vehículos a la nube, [ 16 ] control de procesos industriales, [ 17 ] sistemas de transacciones, [ 18 ] computación de alto rendimiento, [ 19 ] sistemas en la nube, [ 20 ] clústeres heterogéneos, [ 21 ] computación orientada a servicios, [ 22 ] redes, [ 23 ] y gestión de memoria para máquinas reales [ 24 ] y virtuales [ 25 ] . Un ejemplo de una acería se describe brevemente en la Introducción de la tesis doctoral de Clark. [ 26 ]

Los TUF y sus interpretaciones de utilidad (semántica), escalas y valores se derivan del conocimiento específico del dominio. [ 27 ] [ 5 ] Una interpretación históricamente frecuente de la utilidad es la importancia relativa de las acciones. [ b ] Se ha ideado un marco para asignar a priori valores de utilidad estáticos sujetos a fuertes restricciones en los modelos del sistema, [ 8 ] pero la investigación y el desarrollo posteriores (al igual que los anteriores) de TUF/UA han preferido depender de explotar la especificidad de la aplicación en lugar de intentar crear marcos más generales. Sin embargo, dichos marcos y herramientas siguen siendo un tema de investigación importante.

Por convención tradicional, una TUF es una función cóncava , incluidas las lineales. Véase la representación de algunos ejemplos de TUF.

Los artículos TUF/UA en la literatura de investigación, con pocas excepciones, por ejemplo, [ 28 ] [ 6 ] [ 29 ] [ 30 ] [ 8 ] [ 10 ] son ​​solo para TUF lineales o lineales por partes [ 31 ] (incluidos los convencionales basados ​​en plazos) porque son más fáciles de especificar y programar. En muchos casos, los TUF son solo monótonamente decrecientes .

Una función constante representa la utilidad de una acción, independientemente de su tiempo de finalización; por ejemplo, su importancia relativa constante. Esto permite programar de forma coherente tanto acciones dependientes como independientes del tiempo.

Una TUF tiene un tiempo crítico global , después del cual su utilidad no aumenta. Si una TUF nunca disminuye, su tiempo crítico global es el primer momento en que alcanza su utilidad máxima. Una TUF constante tiene un tiempo crítico arbitrario para fines de planificación, como el tiempo de liberación de la acción o el tiempo de terminación de la TUF. El tiempo crítico global puede ir seguido de tiempos críticos locales [ 2 ] ; por ejemplo, considérese una TUF con una secuencia de pasos descendentes, tal vez para aproximar una curva descendente suave. [ c ]

Los valores de utilidad de TUF suelen ser números enteros o racionales.

La utilidad TUF puede incluir valores negativos. (Una TUF que tenga valores negativos en su rango no necesariamente se descarta de la planificación ni se interrumpe durante su ejecución; esa decisión depende del algoritmo de planificación).

Un tiempo límite convencional ( d ) representado como un TUF es un caso especial: un TUF de paso descendente [ d ] que tiene una penalización unitaria (es decir, que tiene valores de utilidad 1 antes y 0 después de su tiempo crítico).

En términos más generales, una TUF permite que las funciones escalonadas descendentes (y ascendentes) tengan cualquier utilidad de tiempo pre y postcrítico.

La tardanza [ 32 ] representada como una TUF es un caso especial cuya utilidad no nula es la función lineal C - d , donde C es el tiempo de finalización de la acción, ya sea actual, esperado o creído. [ e ] De manera más general, una TUF permite que la anticipación y la tardanza no nulas sean no lineales ; por ejemplo, una mayor tardanza puede resultar en una utilidad que disminuye de forma no lineal, como cuando se detecta una amenaza.

De este modo, las TUF proporcionan una rica generalización de las restricciones de tiempo de finalización de acciones tradicionales en la computación en tiempo real .

Alternativamente, el paradigma TUF/UA puede emplearse para utilizar la puntualidad con respecto al tiempo crítico global como un medio para un fin de acumulación de utilidad, es decir, la calidad de servicio (QoS) a nivel de aplicación, en lugar de que la puntualidad en sí misma sea un fin en sí misma.

Un TUF (su forma y valores) puede ser adaptado dinámicamente por una aplicación o su entorno operativo, [ 2 ] independientemente de cualquier acción que esté actualmente en espera o en ejecución. [ f ]

Estas adaptaciones suelen ocurrir en eventos discretos, por ejemplo, en un cambio de modo de aplicación como en las fases de vuelo de un misil balístico. [ 5 ]

Alternativamente, estas adaptaciones pueden ocurrir de forma continua, como en el caso de acciones cuyas duraciones operativas y TUF son funciones específicas de la aplicación que dependen de cuándo se liberan o comienzan a operar dichas acciones. Las duraciones operativas pueden aumentar o disminuir, o ambas cosas, y pueden no ser monótonas. Este caso continuo se denomina programación dependiente del tiempo . [ 33 ] [ 34 ] La programación dependiente del tiempo se introdujo para (pero no se limita a) ciertas aplicaciones militares en tiempo real, como los sistemas de seguimiento por radar. [ 35 ] [ 36 ] [ g ]

Programación de acumulación de servicios públicos

Múltiples acciones en un sistema pueden competir por el acceso a recursos compartidos exclusivamente de forma secuencial [ h ] , tanto físicos como procesadores, redes, dispositivos de aplicación exógenos (sensores, actuadores, etc.) y lógicos como sincronizadores, datos.

El paradigma TUF/UA resuelve cada instancia de esta contención mediante una técnica algorítmica específica de la aplicación que crea (o actualiza) una planificación en eventos de planificación , por ejemplo, momentos (como la llegada o finalización de una acción) o estados. Las acciones en contención de la instancia se envían para el acceso a recursos de forma secuencial, en orden, desde el principio de la planificación. Por lo tanto, la secuenciación de acciones UA no es voraz. [ i ]

La técnica algorítmica crea un cronograma basado en uno o más objetivos específicos de la aplicación (es decir, criterios de optimización).

El objetivo principal de la programación de acciones con TUF es maximizar la utilidad acumulada ( UA ). La utilidad acumulada es una suma polinómica específica de la aplicación de las utilidades de las acciones completadas en la programación. Cuando las acciones tienen uno o más parámetros estocásticos (por ejemplo, la duración de la operación), la utilidad acumulada también es estocástica (es decir, una suma polinómica esperada).

La utilidad y la utilidad acumulada son genéricas, sus interpretaciones (semántica) y escalas son específicas de la aplicación. [ 27 ]

La duración de una acción puede ser fija y conocida en el momento de la configuración del sistema. En términos más generales, puede ser fija o aleatoria, pero no se conoce (ni con certeza ni con certeza) hasta que se ejecuta o se libera.

La duración de una operación puede ser una función específica de la aplicación que depende del tiempo de inicio de la operación; puede aumentar, disminuir o ambas cosas, y puede no ser monótona. Este caso se denomina planificación dependiente del tiempo . [ 33 ] [ 34 ] [ 35 ] [ 36 ]

Notas

  1. El término Calidad de Servicio (QoS) surgió inicialmente en el contexto de las redes de comunicación, pero posteriormente se ha aplicado comúnmente a nivel de aplicación.
  2. La planificación basada en la importancia no es lo mismo que el despacho voraz basado en la importancia.
  3. Esto es más general que la introducción del término tiempo crítico por parte de Locke en Locke 86.
  4. Existe una discontinuidad en la función o en su primera o segunda derivada.
  5. Por ejemplo, las teorías de evidencia matemática como la teoría de Dempster-Shafer , las teorías de probabilidad imprecisas , etc., pueden utilizarse para ciertos modelos de sistemas que tienen incertidumbres epistémicas.
  6. El término "operativo" se utiliza como caso general para incluir acciones no computacionales (por ejemplo, mecatrónicas) así como tareas computacionales que se ejecutan.
  7. La planificación dependiente del tiempo (es decir, la duración de las operaciones de algunas acciones es función de sus tiempos de inicio) es distinta de, y no se limita a, la planificación en tiempo real en el sentido de que las acciones tienen plazos de entrega (o tiempos críticos).
  8. El acceso secuencialmente exclusivo es un caso especial de acceso compartido, utilizado aquí por simplicidad sin pérdida de generalidad.
  9. Algunos planificadores UA pueden eliminar una sobrecarga de manera codiciosa; véase §7.5.1 en Locke 86.

Referencias

  1. E. Douglas Jensen, C. Douglas Locke y Hideyuki Tokuda. Un modelo de planificación basado en el valor temporal para sistemas operativos en tiempo real, Actas del Simposio sobre Sistemas en Tiempo Real, IEEE, 1985.
  2. 1 2 3 E. Douglas Jensen. Un modelo de puntualidad para sistemas informáticos descentralizados asíncronos, Actas del Simposio Internacional sobre Sistemas Autónomos Descentralizados, IEEE, 1993
  3. E. Douglas Jensen. Capítulo 3 Programación de radares, Sección 1 El problema de programación en Gouda+ 77 (versión no clasificada).
  4. Mohamed G. Gouda, Yi-Wu Han, E. Douglas Jensen, Wesley D. Johnson, Richard Y. Kain (Editor). Tecnología de procesamiento de datos distribuidos, vol. IV, Aplicaciones de la tecnología DDP a BMD: arquitecturas y algoritmos, versión no clasificada, Centro de Información Técnica de Defensa a047477, Centro de Investigación y Sistemas Honeywell, Minneapolis, MN, 1977.
  5. 1 2 3 David P. Maynard, Samuel E. Shipman, Raymond K. Clark, J. Duane Northcutt, E. Douglas Jensen, Russell B. Kegley, Betsy A. Zimmerman, Peter J. Keleher. Un ejemplo de aplicación de comando y control de gestión de batalla en tiempo real para Alpha, Sección 8.2.1, Informe técnico del proyecto Archons, 1988, y versión pública 2008.
  6. 1 2 Binoy Ravindran, E. Douglas Jensen y Peng Li. Sobre los avances recientes en la planificación en tiempo real y la gestión de recursos mediante funciones de tiempo/utilidad, Actas del Octavo Simposio Internacional IEEE sobre Computación Distribuida en Tiempo Real Orientada a Objetos, 2005.
  7. Saud A. Aldami y Alan Burns. Densidad de valor dinámica para la planificación de sistemas en tiempo real, Actas de la 11.ª Conferencia Euromicro sobre Sistemas en Tiempo Real, IEEE, 1999.
  8. 1 2 3 Alan Burns, D. Prasad, A. Bondavalli, F. Di Giandomenico, K. Ramamritham, J. Stankovic, L. Strigini. El significado y el papel del valor en la planificación de sistemas flexibles en tiempo real, Journal of Systems Architecture, Elsevier, 2000.
  9. Divya Prasad, Alan Burns y Martin Atkins. El uso válido de la utilidad en sistemas adaptativos en tiempo real. Sistemas en tiempo real, Kluwer, 2003.
  10. 1 2 Ken Chen y Paul Muhlethaler. Una familia de algoritmos de planificación para sistemas en tiempo real que utilizan funciones de valor temporal. Sistemas en tiempo real, vol. 10 n.º 3, Kluwer, 1996.
  11. Terry Tidwell, Robert Glaubius, Christopher D. Gill y William D. Smart. Optimización de la utilidad del tiempo esperado en planificadores de sistemas ciberfísicos, Actas del Simposio IEEE sobre Sistemas en Tiempo Real, 2010.
  12. Yagil Ronén, Daniel Mossé y Martha E. Pollack. Algoritmos de densidad de valor para el problema de deliberación-programación, Boletín ACM SIGART, Volumen 7 Número 2, 1996.
  13. Michał Barcís, Agata Barcís y Hermann Hellwagner. Un modelo de evaluación para la distribución de información en sistemas multi-robot, Sensors, enero de 2020.
  14. Shireen Seakhoa-King, Paul Balaji, Nicolas Trama Alvarez y William J. Knottenbelt. Programación basada en ingresos en redes de entrega con drones con acuerdos de nivel de servicio sensibles al tiempo, Actas de la 12.ª Conferencia Internacional EAI sobre Metodologías y Herramientas de Evaluación del Rendimiento, ACM, 2019.
  15. Aldis Baums. Control automático y ciencias de la computación, vol. 46, n.º 6, Allerton Press, 2012.
  16. Jean Ibarz, Michaël Lauer, Matthieu Roy, Jean-Charles Fabre, Olivier Flébus. Optimización de transferencias de datos de vehículos a la nube mediante conceptos de planificación en tiempo real flexible , Actas de la 28.ª Conferencia Internacional sobre Redes y Sistemas en Tiempo Real, ACM, 2020.
  17. Rutger Habets. Mejora del rendimiento de la línea de envasado 41 en Heineken Zoeterwoude, tesis de licenciatura en Ingeniería Industrial y Gestión, Universidad de Twente, 2019.
  18. Jayant R. Haritsa, Jayant R., Michael J. Carey y Miron Livney. Planificación basada en valores en bases de datos en tiempo real, VLDB Journal, 2 (2) 1993.
  19. Luis Diego Briceño, Bhavesh Khemka, Howard Jay Siegel, Anthony A. Maciejewski, Christopher Groër, Gregory Koenig, Gene Okonski y Steve Poole. Funciones de utilidad temporal para modelar y evaluar la asignación de recursos en un sistema informático heterogéneo, Actas del Simposio Internacional IEEE sobre Procesamiento Paralelo y Distribuido, 2011.
  20. Cihan Tunc, Nirmal Kumbhare, Ali Akoglu, Salim Hariri, Dylan Machovec, Howard Jay Siegel. Valor de la planificación de tareas basada en servicios para sistemas de computación en la nube, Actas de la Conferencia Internacional sobre Computación en la Nube y Autónoma, 2016.
  21. Vignesh T. Ravi1, Michela Becchi2, Gagan Agrawal1 y Srimat Chakradhar. ValuePack: Marco de planificación basado en valores para clústeres CPU-GPU, Actas de la Conferencia Internacional IEEE sobre Computación de Alto Rendimiento, Redes, Almacenamiento y Análisis, 2012.
  22. Alvin AuYoung, Laura Grit, Janet Wiener, John Wilkes. Contratos de servicio y funciones de utilidad agregadas, Actas del 15º Simposio Internacional IEEE sobre Computación Distribuida de Alto Rendimiento, 2006.
  23. Jinggang Wang y Binoy Ravindran. Ethernet conmutada basada en la función de utilidad temporal: algoritmo de programación de paquetes, implementación y análisis de viabilidad, IEEE Transactions on Parallel and Distributed Systems, vol. 15, n.º 2, febrero de 2004.
  24. Hyeonjoong Cho, Binoy Ravindran, Chewoo Na. Planificación del recolector de basura en sistemas dinámicos de tiempo real multiprocesador, IEEE Transactions on Parallel and Distributed Systems 20(6), junio de 2009.
  25. Shahrooz Feizabadi y Godmar Back. Programación de acumulación de utilidades con conciencia de la recolección de basura, Real-Time Systems Journal, julio de 2007, volumen 36, número 1–2, 2007.
  26. Raymond K. Clark. Planificación de actividades en tiempo real dependientes, tesis doctoral, CMU-CS-90-155, Departamento de Ciencias de la Computación, Universidad Carnegie Mellon, 1990.
  27. 1 2 Raymond K. Clark, E. Douglas Jensen, Arkady Kanevsky, John Maurer, Paul Wallace, Tom Wheeler, Yun Zhang, Douglas M. Wells, Tom Lawrence y Pat Hurley. Un sistema de seguimiento aéreo distribuido y adaptativo, IEEE Parallel and Distributed Real-Time Systems, volumen 1586 de LNCS, Springer-Verlag, 1999.
  28. C. Douglas Locke. Toma de decisiones de mejor esfuerzo para la planificación en tiempo real, Tesis doctoral CMU-CS-86-134, Departamento de Ciencias de la Computación, Universidad Carnegie-Mellon, 1986.
  29. Peng Li. Planificación en tiempo real de acumulación de utilidad: modelos y algoritmos, tesis doctoral, Instituto Politécnico y Universidad Estatal de Virginia, 2004.
  30. Peng Li, Haisang Wu, Binoy Ravindran y E. Douglas Jensen. Un algoritmo de programación de acumulación de utilidad para actividades en tiempo real con restricciones de recursos de exclusión mutua, IEEE Transactions on Computers, vol. 55, n.º 4, abril de 2006.
  31. Zhishan Guo y Sanjoy Buruah. Un enfoque neurodinámico para la planificación en tiempo real mediante la maximización de la utilidad lineal por partes , IEEE Transactions on Neural Networks and Learning Systems, vol. 27 n.º 2, febrero de 2016.
  32. Jeremy P. Erickson. Managing Tardiness Bounds and Overload in Soft Real-Time Systems , tesis doctoral, Universidad de Carolina del Norte, 2014.
  33. 1 2 Stanislaw Gawiejnowicz. Una revisión de cuatro décadas de programación dependiente del tiempo: resultados principales, nuevos temas y problemas abiertos, Journal of Scheduling 23, 3–47, Springer, 2020.
  34. 1 2 K. D. Glazebrook. Programación de una sola máquina de trabajos estocásticos sujetos a deterioro o retraso, Naval Research Logistics 39, n.º 5, Wiley, 1992.
  35. 1 2 Umut Balli, Haisang Wu, Binoy Ravindran, Jonathan Stephen Anderson, E. Douglas Jensen. Programación en tiempo real con acumulación de utilidad bajo funciones de costo variable, IEEE Transactions on Computers, Volumen 56, Número 3, marzo de 2007.
  36. 1 2 Kevin IJ. Ho, Joseph YT. Leung y WD. Wei. Complejidad de la programación de tareas con tiempos de ejecución dependientes del tiempo, Information Processing Letters 48 (1993), n.º 6, Elsevier, 20 de diciembre de 1993.
  • En tiempo real para el mundo real.
  • 2006-2009, Grupo de Investigación de Software de Sistemas, Binoy Ravindran, ECE, Virginia Tech.
  • Michael L. Pindo, Planificación: Teoría, algoritmos y sistemas, 5.ª ed., 2015.
  • Stanislaw Gawiejnowicz, Modelos y algoritmos de planificación dependiente del tiempo , 2.ª ed., ISBN del libro electrónico 978-3-662-59362-2, Springer, 2020.
  • Chris N. Potts y Vitaly A. Strusevich, Cincuenta años de planificación: un repaso de los hitos (2009)
  • Revista de planificación.
  • Conferencia internacional multidisciplinaria sobre planificación.
  • Taller internacional sobre problemas de programación dinámica.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Time-utility_function&oldid=1329484911 "