  Many existing studies on mixed-criticality (MC) scheduling assume that
low-criticality budgets for high-criticality applications are known apriori.
These budgets are primarily used as guidance to determine when the scheduler
should switch the system mode from low to high. Based on this key observation,
in this paper we propose a dynamic MC scheduling model under which
low-criticality budgets for individual high-criticality applications are
determined at runtime as opposed to being fixed offline. To ensure sufficient
budget for high-criticality applications at all times, we use offline
schedulability analysis to determine a system-wide total low-criticality budget
allocation for all the high-criticality applications combined. This total
budget is used as guidance in our model to determine the need for a
mode-switch. The runtime strategy then distributes this total budget among the
various applications depending on their execution requirement and with the
objective of postponing mode-switch as much as possible. We show that this
runtime strategy is able to postpone mode-switches for a longer time than any
strategy that uses a fixed low-criticality budget allocation for each
application. Finally, since we are able to control the total budget allocation
for high-criticality applications before mode-switch, we also propose
techniques to determine these budgets considering system-wide objectives such
as schedulability and service guarantee for low-criticality applications.
