Sporadic 3-Phase Tasks: Model and Analysis
- Sporadic 3-phase tasks are real-time tasks with three sequential phases—read, execution, and write—that manage both data loading and local computation.
- This model uses fixed-priority scheduling with preemption thresholds to harmonize CPU execution with serialized memory access on partitioned multicore platforms.
- Experimental results indicate that employing preemption thresholds can reduce required local memory by up to 2.5× compared to fully preemptive scheduling.
Searching arXiv for the cited papers and closely related work on sporadic 3-phase tasks. Sporadic 3-phase tasks are sporadically released real-time tasks whose jobs consist of three ordered phases: a read phase that loads all required input data and instructions from shared main memory into local memory, an execution phase that performs computation using only local memory, and a write phase that writes output data back to shared main memory. In the formulation studied for partitioned multicore systems, each task is represented by , with , total worst-case execution time , and utilization . This model is motivated by phased execution on complex COTS multi-core platforms and by the need to manage both schedulability and local-memory occupancy under preemption (Thilakasiri et al., 27 Aug 2025).
1. Formal definition and execution semantics
A sporadic 3-phase task system is an application-level task set
Each task is characterized by a minimum inter-arrival time , a relative deadline , a memory footprint , a nominal fixed priority , a preemption threshold 0, and phase-specific WCETs 1, 2, and 3. The constraint 4 holds, and the model assumes constrained deadlines, i.e.,
5
A release of task 6 is denoted 7, the 8-th job of that task (Thilakasiri et al., 27 Aug 2025).
The memory footprint is defined as
9
where 0 is code size, 1 is total data size, and 2 is maximum stack usage. This footprint is not merely descriptive: under keep-in-core preemption, it determines whether nested preemptions can be realized within the local memory of a core (Thilakasiri et al., 27 Aug 2025).
The phase semantics are fixed and explicit.
| Phase | Function | Preemptive behavior |
|---|---|---|
| Read phase (R) | Loads required input data and instructions from shared main memory into local memory | Non-preemptive |
| Execution phase (E) | Performs computation using only local memory | Preemptive subject to preemption thresholds |
| Write phase (W) | Writes output data back from local memory to shared main memory | Non-preemptive |
This is the standard PREM/AER-style semantics specialized to three phases: memory-load, local execution, and memory write-back. The formulation explicitly notes that the task set is not segmented; a task is treated as one 3-phase unit rather than multiple streamable segments (Thilakasiri et al., 27 Aug 2025).
2. Platform model, resource arbitration, and threshold semantics
The platform is a multicore system with 3 cores, denoted 4, where each core has a private local memory of size 5, and all cores access main memory through a shared interconnect. Tasks are statically assigned to cores, migration is not allowed, and local memory stores the code and data used during the execution phase. Main-memory access is serialized by scheduling memory phases so that only one memory phase is active at a time. The bus or interconnect always serves the highest-priority pending memory phase globally, and that memory phase executes non-preemptively to completion (Thilakasiri et al., 27 Aug 2025).
CPU scheduling is partitioned and fixed-priority. On each core, execution phases are scheduled by fixed priority with preemption thresholds, whereas memory phases are globally ordered by nominal priority rather than threshold. Threshold semantics are phase-aware: at the start of the read phase, the task’s active priority is raised from 6 to 7, and this elevated threshold remains in effect through the read phase, the execution phase, and until the end of the write phase, after which the priority is restored to its nominal value. However, this only affects local-core CPU preemption; global scheduling of memory phases on the bus still uses nominal priorities (Thilakasiri et al., 27 Aug 2025).
A task 8 can be preempted only during its execution phase. Once its threshold is active, any job on the same core with nominal priority
9
may preempt 0’s execution phase, whereas jobs with
1
cannot do so. Tasks on other cores cannot preempt its CPU execution, but they can interfere with its read and write phases through shared-bus contention (Thilakasiri et al., 27 Aug 2025).
The response-time analysis classifies tasks relative to 2 into six categories: 3
4
5
6
7
8
The purpose of this classification is to distinguish the delay mechanisms before a job starts its read phase from those that remain possible after the threshold has been raised. Before 9 starts, tasks with higher or equal nominal priority can delay it; after the read phase starts and the threshold is active, only category 0 tasks can actually preempt its execution (Thilakasiri et al., 27 Aug 2025).
3. Worst-case response-time analysis
The response-time analysis for sporadic 3-phase tasks under partitioned fixed-priority scheduling with preemption thresholds is a sufficient worst-case analysis that combines local CPU effects with global memory-bus effects. It is built around the longest level-1 active period. The paper defines the level-2 pending load 3 as the amount of processing still pending at time 4 due to jobs with priority higher than or equal to 5 released strictly before 6, and the level-7 active period 8 as an interval 9 such that 0 for all 1 and 2. Because limited preemption causes the self-pushing phenomenon, the worst-case response time may occur not for the first job in the active period but for a later one, so all jobs in the active period are analyzed (Thilakasiri et al., 27 Aug 2025).
The analysis decomposes delay into four terms: intra-core interference 3, intra-core blocking 4, inter-core interference 5, and inter-core blocking 6. For a task 7 assigned to core 8, intra-core interference is
9
with the standard sporadic release bound
0
Inter-core interference is
1
The number of suffered remote-memory blockings is bounded by
2
and the number of caused blockings by lower-priority remote tasks is
3
These quantities reflect that each local execution phase may be followed by read and write phases, and each remote job can contribute at most two blocking opportunities through its own read and write phases (Thilakasiri et al., 27 Aug 2025).
The local blocking term is the point where 3-phase semantics and thresholds interact most strongly. The paper states that a category-4 lower-priority task can block 5 only by one non-preemptive memory phase, whereas a category-6 or 7 task may block for its entire job execution 8, because once it starts and raises its own priority to 9, 0 cannot preempt it if 1. Only one such lower-priority local blocking can occur in a level-2 active period (Thilakasiri et al., 27 Aug 2025).
The longest active period on core 3 is the first positive fixed point of
4
with
5
The number of jobs of 6 in the active period is therefore
7
For the 8-th job, the start time of the read phase, measured from the start of the active period, is the first positive fixed point of
9
To capture self-pushing, the count of releases in this start-time recurrence uses
0
The finish time of the write phase is then
1
A key refinement is that once the read phase has started and the threshold has been raised, only category 2 tasks are considered as local interfering tasks in the interval from 3 to 4. The final worst-case response time is
5
and the task is schedulable if
6
This analysis differs from ordinary sporadic-task analysis because it must model separate CPU and memory resources, globally serialized and non-preemptive memory phases, and the distinction between interference before read-start and interference after threshold activation (Thilakasiri et al., 27 Aug 2025).
4. Local-memory feasibility and preemption-threshold assignment
The memory analysis is specific to the keep-in-core realization of preemption. When a task is preempted during its execution phase, its loaded code, data, and intermediate local state remain resident in local memory; the preempting task’s code and data are loaded above it, stack-like. If nested preemptions occur, all tasks in the chain remain resident simultaneously. Consequently, the worst-case local-memory requirement on a core is the largest sum of 7 over any feasible preemption chain on that core (Thilakasiri et al., 27 Aug 2025).
A preemption chain starting from base task 8 is
9
where 0 is the set of tasks mapped to core 1, and 2 denotes the task at position 3 in the chain. A chain is valid if each consecutive task can preempt the previous one; the stated constraint is
4
The optimization objective is
5
The task set is memory-feasible iff, for every core and every task assigned to that core,
6
The comparison among non-preemptive, fully preemptive, and threshold-based execution follows directly from this formulation. In the non-preemptive case, no task can be preempted during execution, so every chain has length 7. In the fully preemptive case, 8 for all tasks, so any higher-priority local task may preempt, and chains can become long. In the preemption-threshold case, raising 9 removes some preemption edges from the local preemption graph, shortens feasible chains, and reduces the maximum cumulative resident memory (Thilakasiri et al., 27 Aug 2025).
Threshold assignment is based on the Maximal Preemption Threshold Assignment Algorithm (MPTAA). The procedure starts from fully preemptive thresholds,
00
then increases thresholds one level at a time while preserving schedulability. The adaptation to the multicore 3-phase setting relies on the fact that a unit increment of 01 affects only the local task 02 with
03
that lies in category 04. Because thresholds only affect local-core preemption relations and do not affect remote cores or bus arbitration, only that single task needs to be rechecked after each increment. This enables a practical synthesis loop: partition tasks to cores, assign nominal priorities, initialize fully preemptive thresholds, check schedulability by the response-time analysis, increment thresholds from higher to lower priority, revert increments that make the newly affected task unschedulable, and then verify memory-feasibility through preemption chains (Thilakasiri et al., 27 Aug 2025).
5. Experimental characterization
The evaluation compares three execution-phase policies: non-preemptive execution phases (NP), fully preemptive execution phases (FP), and limited preemption using thresholds (PT). The default experimental parameters are total utilization 05, 06 cores, local memory 07, and 08 tasks. Priorities are unique and assigned by rate-monotonic policy, partitioning uses worst-fit mapping, and timing parameters are assumed to be non-negative integers (Thilakasiri et al., 27 Aug 2025).
Two task-set families are used. One uses automotive periods
09
with probabilities
10
The other uses log-uniform minimum inter-arrival times in 11 ms. Utilizations are generated with Dirichlet-Rescale for a target total 12, then
13
The number of labels per task 14 is uniform in 15, 16 is uniform in 17, and 18 is uniform in 19. The ratio of total memory-phase time to total execution time is
20
the ratio between read and write time is
21
and phase times are generated from
22
23
24
25
Task sets are filtered to exclude trivially unschedulable cases in which a low-priority task has a memory phase longer than a higher-priority task’s minimum inter-arrival time (Thilakasiri et al., 27 Aug 2025).
When local memory size 26 varies from 16 KB to 112 KB in 8 KB steps, FP has 37% more schedulable task sets than NP. PT preserves the schedulability of FP because MPTAA starts from an FP-schedulable system and only keeps threshold increases that preserve schedulability. Memory feasibility of FP is poor at small 27: zero until 72 KB. FP needs 104 KB local memory to achieve 100% memory feasibility for all schedulable task sets, whereas PT achieves the same at 40 KB, a 28 reduction in required local memory. PT yields up to 40% more task sets than FP that are both schedulable and memory-feasible (Thilakasiri et al., 27 Aug 2025).
When the core count 29 varies from 2 to 34, schedulability improves with more cores. For combined schedulability and memory-feasibility, FP needs 16 cores to achieve 100% memory-feasible acceptance for all schedulable task sets, while PT needs only 8 cores. When total utilization 30 varies from 0.1 to 3.4 in steps of 0.3, schedulability decreases for all methods, but PT consistently improves memory-feasibility relative to FP for both automotive-period and log-uniform task sets. The paper summarizes this trade-off by stating that preemption thresholds can significantly reduce the memory usage by 31 compared to fully preemptive scheduling, while maintaining high schedulability ratios 32 compared to non-preemptive scheduling (Thilakasiri et al., 27 Aug 2025).
6. Relation to adjacent real-time task models
Sporadic 3-phase tasks sit at the intersection of phased execution, partitioned multiprocessor scheduling, and memory-sensitive preemption control, but they should not be conflated with either rate-based parallel-task models or the classic single-segment sporadic model. In particular, the model in "Integrating Job Parallelism in Real-Time Scheduling Theory" (0805.3237) allows a single job to execute on several processors at the same time and is best understood as a continuous-rate malleable-job model rather than a segmented precedence model. It can approximate a 3-phase task only if one collapses all phases into a single speedup tuple 33 and ignores internal precedences and segment boundaries. It cannot model a first sequential phase that must finish before a parallel middle phase starts, a final sequential phase after the parallel section, arbitrary phase ordering constraints, release jitter induced by self-suspension, different speedup functions in different phases, or DAG nodes with critical paths. A plausible implication is that rate-based malleable parallelism and true 3-phase structure answer different questions: the former abstracts aggregate processor demand, whereas the latter retains explicit memory and execution phase semantics (0805.3237).
The classic partitioned packing model in "Packing Sporadic Real-Time Tasks on Identical Multiprocessor Systems" (Chen et al., 2018) also does not explicitly study sporadic 3-phase tasks. It assumes independent sporadic tasks 34, each job contributing a single execution demand 35, and uses partitioned scheduling with preemptive EDF on identical multiprocessors. Its processor-minimization results, transformed-task bin-packing framework, and demand-bound reasoning are therefore baseline theory rather than a direct schedulability theory for 3-phase tasks. The direct applicability stops at the point where a model needs to account for multiple ordered phases, non-CPU suspension or communication phases, and internal precedence constraints (Chen et al., 2018).
The broader feasibility-theoretic background comes from "Feasibility Analysis of Sporadic Real-Time Multiprocessor Task Systems" (Bonifaci et al., 2010), which studies classical sporadic constrained-deadline task systems on identical multiprocessors with preemption and migration allowed. That work distinguishes feasibility, online feasibility, and schedulability; models adversarial releases by finite graph and game constructions; and proves that discrete-time schedules are as powerful as continuous-time schedules for the classical sporadic model. For sporadic 3-phase tasks, this is foundational background on adversarial release modeling and on the difference between clairvoyant feasibility and online schedulability, but it is not a direct model of read, execution, and write phases. This suggests that extending exact feasibility analysis to 3-phase tasks would require richer local task state, explicit eligibility conditions for phase execution, and new proofs for any discrete-time reduction (Bonifaci et al., 2010).
Within that landscape, sporadic 3-phase tasks are most precisely characterized as a phased real-time model in which each job alternates between globally serialized memory access and local-memory-only computation, and in which limited preemption is attractive because it mediates between the blocking of non-preemptive execution and the local-memory blow-up of full preemption. The current state of the art represented here is therefore not a generic sporadic-task theory with minor adjustments, but a dedicated analysis framework whose distinctive objects are 3-phase jobs, globally serialized memory phases, threshold-controlled execution preemption, and preemption-chain-based local-memory feasibility (Thilakasiri et al., 27 Aug 2025).