Функция времени/полезности ( TUF ), урожденная функция времени/значения , определяет специфическую для приложения полезность , которую действие (например, вычислительная задача, механическое движение) дает в зависимости от времени его завершения. [1] [2] TUF и их интерпретации полезности (семантика), шкалы и значения выводятся из предметных знаний, специфичных для прикладной области. Примером (но не единственным) интерпретации полезности является относительная важность действия , которая в противном случае не зависит от его своевременности . Традиционный крайний срок, представленный как TUF, является особым случаем — нисходящий шаг полезности от 1 до 0 в момент крайнего срока — например, своевременность без важности. TUF более общий — он имеет критическое время с специфичными для приложения формами и значениями полезности с каждой стороны, после чего он не увеличивается. Различные определения твердого и мягкого реального времени исследователями и практиками также могут быть представлены как особые случаи модели TUF.
Критерием оптимальности для планирования нескольких действий, ограниченных TUF, исторически в литературе было только максимальное накопление полезности ( UA ) — например, (возможно, ожидаемая) взвешенная сумма полезностей завершения отдельных действий. Таким образом, это учитывает своевременность по отношению к критическим временам. Дополнительные критерии (например, энергия, предсказуемость), ограничения (например, зависимости), системные модели, алгоритмы планирования и гарантии были добавлены по мере развития парадигмы TUF/UA и ее вариантов использования. Более выразительно, TUF/UA позволяет компенсировать накопленную полезность, своевременность, предсказуемость и другие критерии и ограничения планирования друг против друга для расписания, чтобы получить ситуативное прикладное QoS [a] — в отличие от только своевременности как таковой. Экземпляры парадигмы TUF/UA использовались в самых разных областях применения, чаще всего в военных системах.
Парадигма TUF/UA изначально была создана для решения определенных задач своевременности действий, предсказуемости своевременности и потребностей планирования на основе QoS приложений различных военных приложений, для которых традиционные концепции и практики реального времени недостаточно выразительны (например, для динамически критичных к своевременности систем, не имеющих крайних сроков), а также для устойчивости к нагрузке (например, для систем, подверженных перегрузкам рутинных действий). Важным общим примером класса таких приложений является противоракетная оборона (теоретически [3] [4] [5] ).
Впоследствии многочисленные вариации исходной модели TUF, системной модели парадигмы TUF/UA и, соответственно, методов и алгоритмов планирования были изучены в академической литературе, например, [6] [7] [8] [9] [10] , и применены в гражданских контекстах.
Некоторые примеры последнего включают: киберфизические системы, [11] ИИ, [12] многороботные системы, [13] планирование дронов, [14] автономные роботы, [15] интеллектуальные передачи данных с транспортного средства в облако, [16] управление промышленными процессами, [17] транзакционные системы, [18] высокопроизводительные вычисления, [19] облачные системы, [20] гетерогенные кластеры, [21] сервисно-ориентированные вычисления, [22] сетевое взаимодействие, [23] и управление памятью для реальных [24] и виртуальных [25] машин. Пример сталелитейного завода кратко описан во введении к докторской диссертации Кларка. [26]
TUF и их интерпретации полезности (семантика), шкалы и значения выводятся из предметных знаний, специфичных для предметной области. [27] [5] Исторически частой интерпретацией полезности является относительная важность действий . [b] Была разработана структура для априорного назначения статических значений полезности с учетом строгих ограничений на системные модели, [8] но последующие (как и предыдущие) исследования и разработки TUF/UA предпочли полагаться на использование специфичности приложения, а не на попытки создания более общих структур. Однако такие структуры и инструменты остаются важной темой исследования.
По традиционному соглашению, TUF — это вогнутая функция , включая линейные. См. изображение некоторых примеров TUF.
Статьи TUF/UA в исследовательской литературе, за редкими исключениями, например, [28] [6] [29] [30] [8] [10], касаются только линейных или кусочно-линейных [31] (включая традиционные основанные на сроках) TUF, поскольку их легче определить и запланировать. Во многих случаях TUF только монотонно уменьшаются.
Константная функция представляет полезность действия, которая не связана со временем завершения действия, например, постоянная относительная важность действия. Это позволяет планировать как зависящие от времени, так и не зависящие от времени действия согласованно.
У TUF есть глобальное критическое время , после которого его полезность не увеличивается. Если TUF никогда не уменьшается, его глобальное критическое время — это первый момент, когда достигается его максимальная полезность. Постоянный TUF имеет произвольное критическое время для целей планирования, например, время выпуска действия или время завершения TUF. За глобальным критическим временем могут следовать локальные критические времена [2] — например, рассмотрим TUF, имеющий последовательность нисходящих шагов, возможно, для аппроксимации плавной нисходящей кривой. [c]
Значения полезности TUF обычно представляют собой целые или рациональные числа.
Утилита TUF может включать отрицательные значения. (TUF, в диапазоне которого есть отрицательные значения, не обязательно исключается из рассмотрения при планировании или прерывается во время работы — это решение зависит от алгоритма планирования.)
Условное время крайнего срока ( d ), представленное как TUF, является особым случаем — нисходящим шагом TUF [d] , имеющим единичный штраф (т. е. имеющим значения полезности 1 до и 0 после своего критического времени).
В более общем смысле, TUF допускает, чтобы нисходящие (и восходящие) ступенчатые функции имели любые пред- и посткритические временные полезности.
Опоздание [32], представленное в виде TUF, является особым случаем, ненулевая полезность которого является линейной функцией C - d , где C - время завершения действия - текущее, ожидаемое или предполагаемое. [e] В более общем смысле TUF допускает ненулевое раннее начало и опоздание, которые могут быть нелинейными - например, увеличение опоздания может привести к нелинейному уменьшению полезности, например, при обнаружении угрозы.
Таким образом, TUF обеспечивают широкое обобщение традиционных ограничений времени выполнения действий в вычислениях в реальном времени .
В качестве альтернативы можно применить парадигму TUF/UA для использования своевременности по отношению к глобальному критическому времени в качестве средства для достижения конечной цели — т. е. качества обслуживания (QoS) на уровне приложений — вместо того, чтобы своевременность сама по себе была конечной целью (
).TUF (его форма и значения) могут динамически адаптироваться приложением или его операционной средой [2] независимо от любых действий, которые в данный момент находятся в состоянии ожидания или выполнения. [f]
Эти адаптации обычно происходят при дискретных событиях, например, при изменении режима применения, например, для фаз полета баллистической ракеты. [5]
В качестве альтернативы эти адаптации могут происходить непрерывно, например, для действий, операционные длительности и TUF которых являются функциями, специфичными для приложения, когда эти действия либо запущены, либо начинают работу. Длительности операций могут увеличиваться или уменьшаться, или и то, и другое, и могут быть немонотонными. Этот непрерывный случай называется зависящим от времени планированием . [33] [34] Зависящее от времени планирование было введено для (но не ограничивается) определенных военных приложений реального времени, таких как системы радиолокационного слежения. [35] [36] [g]
Несколько действий в системе могут конкурировать за доступ к последовательно исключительно [h] общим ресурсам — физическим, таким как процессоры, сети, внешние прикладные устройства (датчики, исполнительные механизмы и т. д.), и логическим, таким как синхронизаторы, данные.
Парадигма TUF/UA разрешает каждый экземпляр этого конфликта с помощью алгоритмической техники, специфичной для приложения, которая создает (или обновляет) расписание в планируемых событиях — например, времени (например, прибытия или завершения действия) или состояниях. Конкурирующие действия экземпляра отправляются для доступа к ресурсам последовательно в порядке от начала расписания. Таким образом, последовательность действий UA не является жадной. [i]
Алгоритмический метод создает расписание на основе одной или нескольких целей , специфичных для приложения (т. е. критериев оптимальности).
Основной целью планирования действий с TUF является максимальное накопление полезности ( UA ). Накопленная полезность представляет собой специфичную для приложения полиномиальную сумму полезностей завершенных действий расписания. Когда действия имеют один или несколько стохастических параметров (например, длительность операции), накопленная полезность также является стохастической (т. е. ожидаемой полиномиальной суммой).
Полезность и накопленная полезность являются общими, их интерпретации (семантика) и шкалы зависят от конкретного приложения. [27]
Длительность операции действия может быть фиксированной и известной во время конфигурации системы. В более общем смысле она может быть фиксированной или стохастической, но неизвестной (с уверенностью или в ожидании) до тех пор, пока она не прибудет или не будет выпущена.
Длительность операции может быть функцией приложения от времени начала операции действия — она может увеличиваться или уменьшаться или и то, и другое, и может быть немонотонной. Этот случай называется планированием, зависящим от времени . [33] [34] [35] [36]