Papers
Topics
Authors
Recent
Search
2000 character limit reached

Sporadic 3-Phase Tasks: Model and Analysis

Updated 9 July 2026
  • 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 (Ti,Di,Mi,Pi,θi,Cir,Cie,Ciw)(T_i, D_i, M_i, P_i, \theta_i, C_i^r, C_i^e, C_i^w), with Di≤TiD_i \le T_i, total worst-case execution time Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w, and utilization ui=CiTiu_i = \frac{C_i}{T_i}. 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

τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.

Each task τi\tau_i is characterized by a minimum inter-arrival time TiT_i, a relative deadline DiD_i, a memory footprint MiM_i, a nominal fixed priority PiP_i, a preemption threshold Di≤TiD_i \le T_i0, and phase-specific WCETs Di≤TiD_i \le T_i1, Di≤TiD_i \le T_i2, and Di≤TiD_i \le T_i3. The constraint Di≤TiD_i \le T_i4 holds, and the model assumes constrained deadlines, i.e.,

Di≤TiD_i \le T_i5

A release of task Di≤TiD_i \le T_i6 is denoted Di≤TiD_i \le T_i7, the Di≤TiD_i \le T_i8-th job of that task (Thilakasiri et al., 27 Aug 2025).

The memory footprint is defined as

Di≤TiD_i \le T_i9

where Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w0 is code size, Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w1 is total data size, and Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w2 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 Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w3 cores, denoted Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w4, where each core has a private local memory of size Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w5, 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 Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w6 to Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w7, 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 Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w8 can be preempted only during its execution phase. Once its threshold is active, any job on the same core with nominal priority

Ci=Cir+Cie+CiwC_i = C_i^r + C_i^e + C_i^w9

may preempt ui=CiTiu_i = \frac{C_i}{T_i}0’s execution phase, whereas jobs with

ui=CiTiu_i = \frac{C_i}{T_i}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 ui=CiTiu_i = \frac{C_i}{T_i}2 into six categories: ui=CiTiu_i = \frac{C_i}{T_i}3

ui=CiTiu_i = \frac{C_i}{T_i}4

ui=CiTiu_i = \frac{C_i}{T_i}5

ui=CiTiu_i = \frac{C_i}{T_i}6

ui=CiTiu_i = \frac{C_i}{T_i}7

ui=CiTiu_i = \frac{C_i}{T_i}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 ui=CiTiu_i = \frac{C_i}{T_i}9 starts, tasks with higher or equal nominal priority can delay it; after the read phase starts and the threshold is active, only category τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.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,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.1 active period. The paper defines the level-τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.2 pending load τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.3 as the amount of processing still pending at time τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.4 due to jobs with priority higher than or equal to τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.5 released strictly before τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.6, and the level-τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.7 active period τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.8 as an interval τ={τ1,τ2,…,τn}.\tau=\{\tau_1,\tau_2,\dots,\tau_n\}.9 such that τi\tau_i0 for all τi\tau_i1 and τi\tau_i2. 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 τi\tau_i3, intra-core blocking τi\tau_i4, inter-core interference τi\tau_i5, and inter-core blocking τi\tau_i6. For a task τi\tau_i7 assigned to core τi\tau_i8, intra-core interference is

τi\tau_i9

with the standard sporadic release bound

TiT_i0

Inter-core interference is

TiT_i1

The number of suffered remote-memory blockings is bounded by

TiT_i2

and the number of caused blockings by lower-priority remote tasks is

TiT_i3

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-TiT_i4 lower-priority task can block TiT_i5 only by one non-preemptive memory phase, whereas a category-TiT_i6 or TiT_i7 task may block for its entire job execution TiT_i8, because once it starts and raises its own priority to TiT_i9, DiD_i0 cannot preempt it if DiD_i1. Only one such lower-priority local blocking can occur in a level-DiD_i2 active period (Thilakasiri et al., 27 Aug 2025).

The longest active period on core DiD_i3 is the first positive fixed point of

DiD_i4

with

DiD_i5

The number of jobs of DiD_i6 in the active period is therefore

DiD_i7

For the DiD_i8-th job, the start time of the read phase, measured from the start of the active period, is the first positive fixed point of

DiD_i9

To capture self-pushing, the count of releases in this start-time recurrence uses

MiM_i0

The finish time of the write phase is then

MiM_i1

A key refinement is that once the read phase has started and the threshold has been raised, only category MiM_i2 tasks are considered as local interfering tasks in the interval from MiM_i3 to MiM_i4. The final worst-case response time is

MiM_i5

and the task is schedulable if

MiM_i6

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 MiM_i7 over any feasible preemption chain on that core (Thilakasiri et al., 27 Aug 2025).

A preemption chain starting from base task MiM_i8 is

MiM_i9

where PiP_i0 is the set of tasks mapped to core PiP_i1, and PiP_i2 denotes the task at position PiP_i3 in the chain. A chain is valid if each consecutive task can preempt the previous one; the stated constraint is

PiP_i4

The optimization objective is

PiP_i5

The task set is memory-feasible iff, for every core and every task assigned to that core,

PiP_i6

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 PiP_i7. In the fully preemptive case, PiP_i8 for all tasks, so any higher-priority local task may preempt, and chains can become long. In the preemption-threshold case, raising PiP_i9 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,

Di≤TiD_i \le T_i00

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 Di≤TiD_i \le T_i01 affects only the local task Di≤TiD_i \le T_i02 with

Di≤TiD_i \le T_i03

that lies in category Di≤TiD_i \le T_i04. 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 Di≤TiD_i \le T_i05, Di≤TiD_i \le T_i06 cores, local memory Di≤TiD_i \le T_i07, and Di≤TiD_i \le T_i08 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

Di≤TiD_i \le T_i09

with probabilities

Di≤TiD_i \le T_i10

The other uses log-uniform minimum inter-arrival times in Di≤TiD_i \le T_i11 ms. Utilizations are generated with Dirichlet-Rescale for a target total Di≤TiD_i \le T_i12, then

Di≤TiD_i \le T_i13

The number of labels per task Di≤TiD_i \le T_i14 is uniform in Di≤TiD_i \le T_i15, Di≤TiD_i \le T_i16 is uniform in Di≤TiD_i \le T_i17, and Di≤TiD_i \le T_i18 is uniform in Di≤TiD_i \le T_i19. The ratio of total memory-phase time to total execution time is

Di≤TiD_i \le T_i20

the ratio between read and write time is

Di≤TiD_i \le T_i21

and phase times are generated from

Di≤TiD_i \le T_i22

Di≤TiD_i \le T_i23

Di≤TiD_i \le T_i24

Di≤TiD_i \le T_i25

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 Di≤TiD_i \le T_i26 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 Di≤TiD_i \le T_i27: 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 Di≤TiD_i \le T_i28 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 Di≤TiD_i \le T_i29 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 Di≤TiD_i \le T_i30 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 Di≤TiD_i \le T_i31 compared to fully preemptive scheduling, while maintaining high schedulability ratios Di≤TiD_i \le T_i32 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 Di≤TiD_i \le T_i33 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 Di≤TiD_i \le T_i34, each job contributing a single execution demand Di≤TiD_i \le T_i35, 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).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Sporadic 3-Phase Tasks.